Skip to content

Add GitHub Actions workflow for geometry IDF generation - #16

Merged
alexandrecuer merged 6 commits into
mainfrom
feat/geometry-idf-workflow
Nov 13, 2026
Merged

alexandrecuer merged 6 commits into
mainfrom
feat/geometry-idf-workflow

Conversation

@alexandrecuer

@alexandrecuer alexandrecuer commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds a manually triggered GitHub Actions workflow to generate a geometry-only IDF from a YAML configuration, using the published ladybug_codes container image from GHCR.

Workflow inputs

  • image_tag: GHCR image tag (defaults to ep24.1.0-9d7789a3ac_idfhub0.0.4).
  • geometry_yaml: optional geometry configuration. Leave it empty to use /opt/ladybug_codes/conf_geometry/example.yml bundled in the selected image.

Pipeline

  1. Uses the bundled example when no YAML is supplied; otherwise writes the supplied YAML to the runner workspace (with a 60,000-character limit).
  2. Authenticates to GHCR with the workflow's GITHUB_TOKEN and pulls ghcr.io/open-building-management/ladybug_codes.
  3. Runs the generator inside the container:
    python3 -m generate_geometry_from_yaml \\
      --conf=/opt/ladybug_codes/configuration.yml \\
      --geoconf=<bundled-example-or-workspace-yaml>
  4. Checks that a non-empty IDF was generated and uploads it as a 30-day workflow artifact.

Permissions

The workflow requests packages: read. The GHCR package must grant this repository Actions read access (Package settings → Manage Actions access).

Validation scope

The native workflow_dispatch form cannot run browser-side JavaScript validation. The workflow performs basic input checks; YAML syntax and geometry validation are handled by the generator. A future custom form on GitHub Pages can validate the YAML in JavaScript and dispatch this workflow through the GitHub REST API. That browser integration must use a secure authentication design; no personal access token or GitHub App private key should be exposed in client-side code.

@alexandrecuer
alexandrecuer marked this pull request as draft November 13, 2026 07:11
@alexandrecuer
alexandrecuer marked this pull request as ready for review November 13, 2026 17:06
@alexandrecuer
alexandrecuer merged commit 1da3499 into main Nov 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants