Repository navigation
ci(adhoc): build and ship the orcad template in adhoc macOS and Windows builds #24969
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -58,6 +58,11 @@ on: | |
| description: Version to package, without the leading v | ||
| required: true | ||
| type: string | ||
| orcad_template: | ||
| description: Ship the orcad-template artifact the calling run built (adhoc does; hourly and daily do not yet) | ||
| required: false | ||
| type: boolean | ||
| default: false | ||
|
Comment on lines
+61
to
+65
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The new Technical details# Manual Windows rebuild drops the template
## Affected sites
- `.github/workflows/dev-channel-win-build.yml:61-65` — `orcad_template` declared only under `workflow_call`
- `.github/workflows/dev-channel-win-build.yml:273-278` — download gated on `inputs.orcad_template`
- `.github/workflows/dev-channel-win-build.yml:318` — `ORCA_REQUIRE_ORCAD_TEMPLATE` empty on manual dispatch
## Required outcome
- Either the manual path can obtain the `orcad-template` artifact (needs `actions: read` and a source run id, as `release-mac-build.yml` does), or the header's “rebuild a Windows artifact for an existing tag” is qualified for template-shipping channels. |
||
| workflow_dispatch: | ||
| inputs: | ||
| channel: | ||
|
|
@@ -264,6 +269,14 @@ jobs: | |
| # is correct for unvetted artifacts. Same as the mac dev channels. | ||
| ORCA_DIAGNOSTICS_TOKEN_URL: https://www.onorca.dev/diagnostics/token | ||
|
|
||
| # After the app build so nothing that cleans out/ can drop it; electron-builder ships it. | ||
| - name: Download the orcad deployment template | ||
| if: inputs.orcad_template | ||
| uses: actions/download-artifact@v8 | ||
| with: | ||
| name: orcad-template | ||
| path: out/orcad-template | ||
|
|
||
| # Why the token is minted here and not at the top: installation tokens live | ||
| # one hour and nothing before this point writes anything. | ||
| - name: Mint dev channel repo token | ||
|
|
@@ -301,6 +314,8 @@ jobs: | |
| env: | ||
| GH_TOKEN: ${{ steps.app_token.outputs.token }} | ||
| ORCA_BUILD_COMMIT: ${{ inputs.ref }} | ||
| # beforePack and afterPack fail the package when the template is absent. | ||
| ORCA_REQUIRE_ORCAD_TEMPLATE: ${{ inputs.orcad_template && '1' || '' }} | ||
| # Why: electron-publish refuses to upload into a release published more | ||
| # than two hours ago (gitHubPublisher.getOrCreateRelease). The mac leg | ||
| # publishes the draft live as soon as *it* finishes, so a slow notary | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The mac app build pins the vetted commit (
ref: ${{ steps.vetted.outputs.sha }}), but the template is built from the mutableinputs.ref || github.ref_name. A push landing between the template checkout and the mac job's vetting can pair an app with a template from a different commit — and the template's addons and server JS are what get deployed to remote hosts. The relay job has the same shape, so this is pre-existing, but the template makes it a new cross-commit coupling.Technical details