Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/adopt-energyplus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: adopt-energyplus

run-name: Adopt EnergyPlus ${{ inputs.release }}

# Adopt one EnergyPlus release, as a pull request (feature 012 of the unification).
#
# This repository is `idfkit-plugin` in the version roster, governance/energyplus.toml in
# idfkit-conformance. The called workflow reads the roster at the pinned tag, rewrites the declared
# statements in the skill text, and opens a pull request on the branch energyplus/X.Y.Z. It never
# merges or publishes. This file carries no other logic.
#
# WHAT IT DOES NOT MOVE. The delivery pins in .mcp.json and .lsp.json. bump-idfkit.yml moves the
# idfkit-mcp pin when idfkit releases. No workflow moves the idfkit-lsp pin: a maintainer edits
# .lsp.json by hand. Until both pinned servers resolve an idfkit that carries the release, a run
# reports that it is waiting and changes nothing.
#
# ONE RUN PER RELEASE AT A TIME. Two runs for the same release would each regenerate and push the
# branch energyplus/X.Y.Z, so the second waits for the first.
#
# The tag is written twice, on `uses:` and as the input, because a called workflow cannot see its
# own ref. The called workflow refuses the run unless they are identical. Move both together, and
# only to a tag that exists.

on:
workflow_dispatch:
inputs:
release:
description: The EnergyPlus release to adopt, as X.Y.Z.
required: true
type: string

permissions:
contents: write
pull-requests: write

concurrency:
group: adopt-energyplus-${{ inputs.release }}
cancel-in-progress: false

jobs:
adopt:
uses: idfkit/idfkit-conformance/.github/workflows/adopt-energyplus.yml@governance-2026.25
with:
project: idfkit-plugin
governance_level: governance-2026.25
release: ${{ inputs.release }}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}
Loading