deploy-local fails in "Determine version comment" when the caller uses deploy-local directly
@plengauer is already working on this.
Since Sep 19, 2026.
- Dominant language
- Shell
- Stars
- 167
- Forks
- 15
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 131
Description
Symptom
Any workflow that uses plengauer/opentelemetry-github/actions/instrument/deploy-local@<sha> directly (rather than going through .../instrument/deploy@<sha>) fails at the "Determine version comment" step of the composite action with a bare Process completed with exit code 1, with no error message.
Example: https://github.com/plengauer/Thoth/actions/runs/33862557226/job/100990074429 (Recompile Agentic Workflows in plengauer/Thoth).
Root cause
actions/instrument/deploy-local/action.yml, step determine-instrumentation-version-comment:
comment="$(grep -E '/actions/instrument/deploy@' "${{ steps.find-self.outputs.path }}" | sed -n 's/.*# *//p' | head -n 1)"
The pattern is anchored on deploy@, so it does not match a deploy-local@... reference. grep then exits 1. The composite action's shell is bash --noprofile --norc -e -o pipefail, so under set -e + pipefail the failing pipeline inside the command substitution aborts the step.
This is inconsistent with the two sibling steps, which both use a deploy* glob and therefore do match deploy-local:
determine-repository:select(.uses == "*/actions/instrument/deploy*")determine-instrumentation-version:select(.uses == "<repo>/actions/instrument/deploy*")
Callers of deploy are unaffected, because deploy invokes deploy-local via the local ./.deploy-otel-local symlink while the caller's workflow file still literally contains /actions/instrument/deploy@<sha>.
Confirmation via traces
The OTel trace for the run (trace.id = 8fee1eb891c5b9418dd1e2dfabb073b2) shows the failure chain unambiguously:
| span | status |
|---|---|
grep -E /actions/instrument/deploy@ .github/workflows/recompile_agentic_workflows.yml |
error |
/usr/bin/bash --noprofile --norc -e -o pipefail .../3c4b8a00-....sh |
error |
recompile (job) |
error |
Recompile Agentic Workflows (workflow) |
error |
The sibling sed and head -n 1 spans in the same pipeline completed successfully — only grep errored.
Proposed fix
Broaden the pattern to cover deploy-local (and any future deploy* variant) and make "no version comment present" a non-fatal outcome, since the comment is optional by design (the step already guards the output with [ -z "$comment" ] ||):
comment="$(grep -E '/actions/instrument/deploy[^@[:space:]]*@' "${{ steps.find-self.outputs.path }}" | sed -n 's/.*# *//p' | head -n 1 || true)"
The || true additionally hardens the step against a workflow that legitimately carries no # vX.Y.Z annotation at all, which would fail the same way today.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.