You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[x] 4.1 Check if the devrail.dev site has automation to pull version manifests from releases
36
+
-[x] 4.2 If automated, verify it picks up the new release asset
37
+
-[x] 4.3 If manual, update the versions page content
38
38
39
39
## Dev Notes
40
40
@@ -54,8 +54,22 @@ so that users can see exactly which tool versions are included in each container
54
54
55
55
### Agent Model Used
56
56
57
+
Claude Opus 4.6
58
+
57
59
### Debug Log References
58
60
61
+
- v1.6.0 build run showed version-manifest job completed in 0s (skipped)
62
+
-`docker run ghcr.io/devrail-dev/dev-toolchain:1.6.0 bash /opt/devrail/scripts/report-tool-versions.sh` — produced valid JSON with 38 tools across 8 ecosystems
63
+
59
64
### Completion Notes List
60
65
66
+
-**Root cause**: GitHub Actions transitive `needs` chain skip behavior. When `auto-version` job is skipped (tag push trigger), downstream jobs inherit the skip even through intermediate jobs that use `always()`. The `version-manifest` job had `needs: [build-and-push]` but its `if` condition (`startsWith(github.ref, 'refs/tags/v')`) wasn't enough — GitHub's default behavior skips jobs when any ancestor in the needs chain was skipped.
67
+
-**Fix**: Changed `version-manifest` job's `if` from `startsWith(github.ref, 'refs/tags/v')` to `always() && needs.build-and-push.result == 'success' && startsWith(github.ref, 'refs/tags/v')`. The `always()` function overrides the default skip behavior, and the explicit success check ensures it only runs when the build actually succeeded.
68
+
-**Manifest verification**: `report-tool-versions.sh` produces valid JSON output with all 8 language ecosystems (Python, Bash, Terraform, Ansible, Ruby, Go, JavaScript/TypeScript, Rust) plus universal security tools and Terragrunt.
69
+
-**Devrail.dev versions page**: Already working — `update-versions.yml` workflow runs on `release: published` events and creates PRs to update the versions page. PR #12 was merged to fix org-level Actions permissions that were blocking this.
70
+
-**Note**: The `:v1` floating tag appears stale (different image ID from `:1.6.0`). This is caused by the `docker/metadata-action``v{{major}}` pattern producing `:v1` tag (with v prefix) while `build-and-push` also produces `:1.6.0` (without v prefix). This is a separate issue — the floating tag works correctly, it just may not have been updated for v1.6.0 specifically.
0 commit comments