Skip to content

ci: build devtools on schedule and tag events - #28

Merged
zbeekman merged 2 commits into
mainfrom
fix/devtools-skipped-on-tags
Oct 10, 2026
Merged

zbeekman merged 2 commits into
mainfrom
fix/devtools-skipped-on-tags

Conversation

@zbeekman

@zbeekman zbeekman commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Problem

build-devtools is skipped on every schedule and tag run, so
salt-dev-tools has never been built or pushed for release tags or the
weekly rebuild.

  • changes only runs on push to branches and pull_request.
  • build-base opts out of that skip with always(), but
    build-devtools (which depends on build-base) does not, so the
    skipped ancestor propagates and build-devtools is skipped too.

Observed on:

  • v1.7.0 tag run 38017898885
  • v1.6.0 tag run 25466530330
  • scheduled run 29225431225

Fix

Gate build-devtools on
always() && needs.build-base.result == 'success' && github.event_name != 'pull_request'.
PR behavior is unchanged (still skipped), and a failed or cancelled
build-base still blocks it.

Also fixed: BASE_TAG for branches with /

Running devtools on this branch exposed a second, pre-existing bug.
build-base tags branch images via docker/metadata-action, which
turns / into - (paratools/salt-dev:fix-devtools-skipped-on-tags),
but the devtools "Determine base tag" step passed the raw branch name:

failed to parse stage name "paratools/salt-dev:fix/devtools-skipped-on-tags": invalid reference format

The step now applies the same / to - replacement. Push run
38050836904 passes all jobs, including build-devtools.

Follow-up

Re-running the v1.7.0 tag run uses the workflow as of that tag, so it
will still skip devtools. After this merges, tag v1.7.1 to publish
salt-dev-tools:1.7.x.

- `changes` is skipped on schedule and tag events. `build-devtools`
  lacked `always()`, so that skip propagated through `build-base` and
  `salt-dev-tools` was never built or pushed for tags (`v1.6.0`,
  `v1.7.0`) or weekly scheduled runs.
- Gate on `always()` plus `needs.build-base.result == 'success'`,
  matching how `build-base` opts out of the skipped `changes` job.
- `build-base` tags branch images via `docker/metadata-action`, which
  turns `/` into `-`. The devtools `BASE_TAG` used the raw branch name,
  so branches like `fix/foo` failed with `invalid reference format`.
- Apply the same `/` to `-` replacement when computing `BASE_TAG`.
@zbeekman
zbeekman merged commit 783a47e into main Oct 10, 2026
8 checks passed
@zbeekman
zbeekman deleted the fix/devtools-skipped-on-tags branch October 10, 2026 13:07
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