Skip to content

feat(release): let one run stage more than one build (ENG-3550) - #110

Merged
Frudrax Cheng (auroursa) merged 1 commit into
mainfrom
ursa/package-stage-artifact-name
Oct 10, 2026
Merged

Frudrax Cheng (auroursa) merged 1 commit into
mainfrom
ursa/package-stage-artifact-name

Conversation

@auroursa

@auroursa Frudrax Cheng (auroursa) commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Part of ENG-3550.

Problem

A repository with two packages that have to be released separately cannot stage them from one workflow run. Each call to package-stage uploads its build as an artifact named package-release, and artifact names are unique within a run, so the second call fails at the upload.

Staging them in one run matters: the calls share the run's staging suffix, so the second package can depend on the exact staging version of the first.

Change

package-stage takes an artifact-name input, default package-release. The build job uploads under it and the publish job downloads it. Existing callers are unaffected.

jobs:
  core:
    uses: photon-hq/buildspace/.github/workflows/package-stage.yml@<sha>
    with:
      package: "@owner/example-core"
      tag-prefix: example-core-staging-
      production-tag-prefix: example-core-v
      artifact-name: package-release-core
      pack: node scripts/pack-release.mjs core
  aggregate:
    needs: core
    uses: photon-hq/buildspace/.github/workflows/package-stage.yml@<sha>
    with:
      pack: node scripts/pack-release.mjs

The README describes this under the multi-package notes.

Validation

python3 -m unittest discover -s test: 25 tests pass, including a new one asserting the default and that the upload and the download are the only steps that use the name. The release tool is untouched.

CI on this pull request is pending. Two calls in one run are exercised by the first caller that adopts this.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features

    • Package-release workflows can now assign custom artifact names, allowing separate packages to be built in the same run.
  • Documentation

    • Updated guidance for staging and promoting separate packages from one repository, including how dependent stages can use a previously published staging version.

Two calls to package-stage in the same workflow run both uploaded an artifact
named package-release, and the second failed. The name is now an input, so a
repository can release its packages on separate lines from one run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 10, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 36964c94-6586-4546-9609-29eeff228b6f

📥 Commits

Reviewing files that changed from the base of the PR and between 3c78bc3 and f13f0b1.


📒 Files selected for processing (3)
  • .github/workflows/package-stage.yml
  • README.md
  • test/test_package_release_workflows.py

 ________________________________________________
< Squeezing intelligence out of LLMs since 2023. >
 ------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@auroursa
Frudrax Cheng (auroursa) merged commit 9190ff2 into main Oct 10, 2026
4 of 5 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.

1 participant