Skip to content

v0.3.1 fixed the action, but the v1 tag every consumer is told to use still points at v0.3.0 #21

Description

@SebHenn

Version: cifail 0.3.1 (CLI, from nuget.org); action resolved as SebHenn/ci-failure-intelligence@v1

Summary

v0.3.1 fixed the two bugs in #19 — the swallowed --report pair and the composite step dying under
an inherited errexit. The release notes are accurate and the fix is real. But the moving major
tag was not moved with it
, so no consumer following the README gets it.

$ git rev-parse --short v1
775e98c   chore: release v0.3.0

$ git rev-parse --short v0.3.1
a571773   chore: release v0.3.1

$ git merge-base --is-ancestor 2a25628 v1 ; echo $?
1         # "Honour every --report pair" is NOT an ancestor of v1

The difference is visible in the shipped script:

$ git show v1:action.yml     | grep -n 'set +e'      # nothing
$ git show v0.3.1:action.yml | grep -n 'set +e'
96:        set +e

README.md recommends uses: SebHenn/ci-failure-intelligence@v1 in five places (lines 334,
366, 378, 391, 407). Every one of them resolves today to the build with the bug the release fixed.

Why this is worth its own task rather than a footnote on #19

The failure mode is identical to the one #19 was about, and just as silent. A consumer reads a
changelog entry saying the action no longer dies without explaining itself, changes nothing —
because @v1 is what the README already told them to write — and keeps getting a red step with no
output. There is nothing in the repository that would tell them why, and the natural conclusion is
that the fix does not work, not that they are running last month's build. @v1 is the only
documented pin, so this is not an unusual configuration; it is the recommended one.

Expected

Publishing vX.Y.Z moves vX to the same commit, so the documented pin means "the newest release
in this major line". Ideally in the release workflow rather than by hand — a tag that has to be
remembered gets forgotten exactly like this one.

git tag -f v1 v0.3.1 && git push --force origin v1

Worth considering alongside it: the action does not report its own version anywhere in its output,
so "which build of the action ran?" is unanswerable from the log. One line naming the resolved
version in the step summary would have made this five seconds to diagnose instead of a comparison
of two trees.

In the meantime

cartographer has repinned to @v0.3.1 and will move back to @v1 once it tracks releases. This is
the smallest reversible unblock, and it is marked in that repository's workflow as
# TT-<this task> so it is greppable.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions