Skip to content

fix(ci): pin docker/* actions to ASF-approved SHAs in publish-docker - #66

Merged
wu-sheng merged 1 commit into
masterfrom
fix/publish-docker-asf-pins
Aug 1, 2026
Merged

fix(ci): pin docker/* actions to ASF-approved SHAs in publish-docker#66
wu-sheng merged 1 commit into
masterfrom
fix/publish-docker-asf-pins

Conversation

@wu-sheng

@wu-sheng wu-sheng commented Aug 1, 2026

Copy link
Copy Markdown
Member

Problem

publish-docker references three third-party actions by floating tag:

uses: docker/login-action@v1.10.0
uses: docker/setup-qemu-action@v1
uses: docker/setup-buildx-action@v1

The ASF GitHub Actions allow-list only approves specific commit SHAs for third-party actions, so the workflow is rejected before it starts. The run triggered by merging #65 ended in startup_failure, so no image was published for that commit — the concurrency fix is on master but not in any published image.
Because publish-docker only runs on push-to-master (never on PRs), this rejection is invisible in PR CI and only shows up after a merge.

Fix

Pin all three to the approved SHAs already used across the sibling ASF SkyWalking repositories (see apache/skywalking-python#406 for the same fix there). Each SHA was verified to be present in apache/infrastructure-actions/approved_patterns.yml:

action pinned SHA version
docker/login-action 650006c6eb7dba73a995cc03b0b2d7f5ca915bee v4.2.0
docker/setup-qemu-action 06116385d9baf250c9f4dcb4858b16962ea869c3 v4.1.0
docker/setup-buildx-action d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 v4.1.0
actions/checkout and actions/cache need no pin — the actions/* namespace is enterprise-owned and always allowed.

Effect

Merging this is itself a push to master, which triggers a build that publishes an image containing the #65 concurrency fix, tagged with the new master SHA.

The workflow referenced docker/login-action, docker/setup-qemu-action and
docker/setup-buildx-action by floating tag. The ASF GitHub Actions
allow-list only approves specific commit SHAs for third-party actions, so
the workflow is rejected at startup: the run for #65 ended in
startup_failure and no image was published for that commit.

Since publish-docker only runs on push-to-master, the rejection never
surfaces in PR CI — it is only visible after a merge.

Pin all three to the approved SHAs already used across the sibling ASF
SkyWalking repositories (verified against apache/infrastructure-actions
approved_patterns.yml):
  - docker/login-action@650006c6...       # v4.2.0
  - docker/setup-qemu-action@06116385...  # v4.1.0
  - docker/setup-buildx-action@d7f5e7f5... # v4.1.0

Merging this triggers a push-to-master build, which publishes an image
containing the #65 concurrency fix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@wu-sheng wu-sheng added the bug Something isn't working label Aug 1, 2026
@wu-sheng
wu-sheng merged commit c6b91a0 into master Aug 1, 2026
2 checks passed
@wu-sheng
wu-sheng deleted the fix/publish-docker-asf-pins branch August 1, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants