Skip to content

feat: propagate --dev-spec to dgoss run, ci publish, ci merge, and CI workflows#603

Merged
ianpittwood merged 9 commits into
mainfrom
fix/ci-publish-dev-spec
Jun 12, 2026
Merged

feat: propagate --dev-spec to dgoss run, ci publish, ci merge, and CI workflows#603
ianpittwood merged 9 commits into
mainfrom
fix/ci-publish-dev-spec

Conversation

@ianpittwood

Copy link
Copy Markdown
Contributor

Summary

  • Added --dev-channel and --dev-spec to bakery dgoss run (the canonical goss test command was missing both options that the deprecated bakery run dgoss had)
  • Added --dev-spec to the deprecated bakery run dgoss command
  • Added --dev-spec to bakery ci publish and the bakery ci merge alias, so the config resolves matching target UIDs when a build used a pinned dev version
  • Updated bakery-build.yml and bakery-build-native.yml to forward --dev-spec to their test and publish steps, and switched the test step from bakery run dgoss to bakery dgoss run

Test Plan

  • All existing tests pass (39/39)
  • TestDgossRunDevSpec (6 tests) — covers --dev-spec flag, env var, absent-is-None, invalid JSON, invalid schema, --dev-channel forwarding
  • TestRunDgossDevSpec (5 tests) — same coverage for deprecated command
  • TestCiPublishDevSpec (5 tests) — same coverage for ci publish
  • CI workflow YAML validated with python3 -c "import yaml; yaml.safe_load(...)" — both files parse cleanly
  • Verify a dev dispatch workflow (development.yml) correctly passes --dev-spec through the full matrix → build → test → publish chain

🤖 Generated with Claude Code

@zachhannum zachhannum left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@ianpittwood ianpittwood force-pushed the fix/ci-publish-dev-spec branch from d39e463 to 505dca5 Compare June 12, 2026 16:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends support for dispatched development build pinning by propagating --dev-spec (and --dev-channel where relevant) through the Bakery CLI surface and the reusable CI workflows, ensuring consistent target UID resolution across build/test/publish steps when a build uses pinned dev versions.

Changes:

  • Added --dev-channel and --dev-spec support to bakery dgoss run, and added --dev-spec support to the deprecated bakery run dgoss.
  • Added --dev-spec support to bakery ci publish and the bakery ci merge alias.
  • Updated reusable workflows to forward --dev-spec through test and publish steps, and switched goss testing from bakery run dgoss to bakery dgoss run.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
posit-bakery/test/cli/test_dev_spec.py Adds coverage ensuring --dev-spec/BAKERY_DEV_SPEC parsing and forwarding works for dgoss run, deprecated run dgoss, and ci publish.
posit-bakery/posit_bakery/plugins/builtin/dgoss/init.py Adds --dev-channel, deprecated --dev-stream, and --dev-spec options to bakery dgoss run, wiring them into BakerySettings.
posit-bakery/posit_bakery/cli/run.py Adds --dev-spec (envvar + parser callback) to deprecated bakery run dgoss and forwards it to BakerySettings.
posit-bakery/posit_bakery/cli/ci.py Adds --dev-spec to ci publish and ci merge, forwarding into BakerySettings for publish target resolution.
.github/workflows/bakery-build.yml Forwards dev-spec to build/test/push steps and switches testing to bakery dgoss run.
.github/workflows/bakery-build-native.yml Forwards dev-spec to build/test and merge/publish steps and switches testing to bakery dgoss run.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown

Test Results

1 862 tests   1 862 ✅  8m 21s ⏱️
    1 suites      0 💤
    1 files        0 ❌

Results for commit 140c9a8.

♻️ This comment has been updated with latest results.

@ianpittwood ianpittwood force-pushed the fix/ci-publish-dev-spec branch from 23af7ec to ac7c243 Compare June 12, 2026 17:22
ianpittwood and others added 8 commits June 12, 2026 11:35
Wire --dev-channel, --dev-stream (deprecated hidden alias), and --dev-spec
through the dgoss run CLI so dev build filtering is available on the canonical
goss test command, matching the existing options on deprecated bakery run dgoss.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds the --dev-spec / BAKERY_DEV_SPEC option to both commands so that
when a build used --dev-spec to pin a specific dev version, publish and
merge can resolve to the same matching UIDs from metadata files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nvoke

Replace redundant open with blocks in test_dev_spec_invalid_json_rejected and
test_dev_spec_invalid_schema_rejected with calls to the class's _invoke helper,
eliminating patch duplication and improving test readability.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace repeated inline dev-spec construction blocks in Build, Test,
Push, and Publish steps with a single `Resolve dev-spec` step per job
that outputs the resolved JSON string. Downstream steps reference
`DEV_SPEC_RESOLVED` via the step output, reducing to a one-liner.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ianpittwood ianpittwood force-pushed the fix/ci-publish-dev-spec branch from ac7c243 to c4ffe58 Compare June 12, 2026 17:39
Pipe the passthrough DEV_SPEC through `jq -c .` to ensure it is always
a single compact line, preventing multiline/pretty-printed JSON from
breaking the key=value format required by GITHUB_OUTPUT.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ianpittwood ianpittwood merged commit b3c5d23 into main Jun 12, 2026
24 checks passed
@ianpittwood ianpittwood deleted the fix/ci-publish-dev-spec branch June 12, 2026 18:03
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.

3 participants