Skip to content

fix: skip notarization/native builds when not publishing - #677

Merged
theoephraim merged 6 commits into
mainfrom
fix/release-workflow-gating
Apr 30, 2026
Merged

theoephraim merged 6 commits into
mainfrom
fix/release-workflow-gating

Conversation

@theoephraim

Copy link
Copy Markdown
Member

Summary

  • Adds a bumpy ci plan preflight job to the release workflow to determine whether bumpy will publish or just create/update a version PR
  • Gates the expensive macOS build, notarization, and Rust native binary build jobs so they only run when mode == 'publish'
  • Fixes concurrency control to use a static bumpy-release group with cancel-in-progress: false (queues rather than cancels, per bumpy docs)
  • Updates @varlock/bumpy from ^1.5.1 to ^1.7.0 for ci plan support
  • Fixes publishTargets filter in check-release-packages.ts for the new object shape ({ type: 'npm' } instead of 'npm')

Test plan

  • Merge a normal commit to main → verify plan reports version-pr or nothing, and build/notarize jobs are skipped
  • Merge a release PR to main → verify plan reports publish, build/notarize jobs run, and publish succeeds

- Add `bumpy ci plan` preflight job to determine if release workflow
  will publish or just create/update a version PR
- Gate macOS build, notarize, and Rust build jobs on mode == 'publish'
- Fix concurrency control to use `bumpy-release` group with
  cancel-in-progress: false (queue rather than cancel)
- Update @varlock/bumpy to ^1.7.0 for ci plan support
- Fix publishTargets filter for new object shape ({ type: 'npm' })
Gate build/notarize/download jobs on varlock being in the release plan,
not just on any publish. Other packages don't need native binaries.
Uses exact match on comma-separated packages list to avoid matching
@varlock/* scoped packages.
Use fromJSON(json).packageNames with contains() for exact array element
matching instead of grep on comma-separated string. Drop unused
packages output.
Replace default CodeQL setup with a custom workflow that:
- Always runs JS/TS and Actions analysis (cheap)
- Only runs Swift analysis when encryption-binary-swift/ changes
- Only runs Rust analysis when encryption-binary-rust/ changes
- On push to main and scheduled runs, scans all languages
@github-advanced-security

Copy link
Copy Markdown
Contributor

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

bumpy ci plan only reads bump files and checks the registry — it
doesn't need node_modules installed.
Merge two separate check jobs into one, use GitHub API instead of
git clone with fetch-depth: 0 to detect changed files. No checkout
needed for the check step.
@theoephraim
theoephraim merged commit edb909c into main Apr 30, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants