apache / apache/arrow

Backport workflow-hardening fix (unpinned-uses) to 5 release branches

Open
#50,264 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Summary
The default branch already hardened `.github/workflows/pr_review_trigger.yml` against the issue(s) below, but **5** release branches still carry it. This proposes the same, minimal, scanner-verified fix for each.

### What's flagged (by [zizmor](https://github.com/woodruffw/zizmor))
- `unpinned-uses` — actions referenced by mutable tag/branch instead of a pinned commit SHA

Already resolved on the default branch in:
- https://github.com/apache/arrow/commit/36d2962a0814d8eee604ffcd8426177954eb7a89

### Affected release branches (5)
- **`release-24.0.0-rc0`** (still present as of HEAD `31b4b6c0`)
- **`release-23.0.1-rc0`** (still present as of HEAD `82a374e5`)
- **`release-23.0.0-rc1`** (still present as of HEAD `e7843b80`)
- **`release-23.0.0-rc2`** (still present as of HEAD `eafe3a9e`)
- **`release-23.0.0-rc0`** (still present as of HEAD `d400b9c8`)

### Suggested per-branch patches
Each diff below was checked locally with **zizmor** and **actionlint**: the flagged finding(s) are cleared on the affected construct and no new lint or security findings are introduced. (Whitespace is normalized; only security-relevant lines change.)

release-24.0.0-rc0 — unpinned-uses

File `.github/workflows/pr_review_trigger.yml`; suggested edits:
- ~ jobs.$J.steps[uses=actions/upload-artifact].uses : pin(actions/upload-artifact -> target_ref SHA)

```diff
--- a/.github/workflows/pr_review_trigger.yml
+++ b/.github/workflows/pr_review_trigger.yml
@@ -29,7 +29,7 @@
runs-on: ubuntu-latest
steps:
- name: "Upload PR review Payload"
- uses: actions/upload-artifact@v7
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
path: "${{ github.event_path }}"
name: "pr_review_payload"
```

release-23.0.1-rc0 — unpinned-uses

File `.github/workflows/pr_review_trigger.yml`; suggested edits:
- ~ jobs.$J.steps[uses=actions/upload-artifact].uses : pin(actions/upload-artifact -> target_ref SHA)

```diff
--- a/.github/workflows/pr_review_trigger.yml
+++ b/.github/workflows/pr_review_trigger.yml
@@ -29,7 +29,7 @@
runs-on: ubuntu-latest
steps:
- name: "Upload PR review Payload"
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
path: "${{ github.event_path }}"
name: "pr_review_payload"
```

release-23.0.0-rc1 — unpinned-uses

File `.github/workflows/pr_review_trigger.yml`; suggested edits:
- ~ jobs.$J.steps[uses=actions/upload-artifact].uses : pin(actions/upload-artifact -> target_ref SHA)

```diff
--- a/.github/workflows/pr_review_trigger.yml
+++ b/.github/workflows/pr_review_trigger.yml
@@ -29,7 +29,7 @@
runs-on: ubuntu-latest
steps:
- name: "Upload PR review Payload"
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
path: "${{ github.event_path }}"
name: "pr_review_payload"
```

release-23.0.0-rc2 — unpinned-uses

File `.github/workflows/pr_review_trigger.yml`; suggested edits:
- ~ jobs.$J.steps[uses=actions/upload-artifact].uses : pin(actions/upload-artifact -> target_ref SHA)

```diff
--- a/.github/workflows/pr_review_trigger.yml
+++ b/.github/workflows/pr_review_trigger.yml
@@ -29,7 +29,7 @@
runs-on: ubuntu-latest
steps:
- name: "Upload PR review Payload"
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
path: "${{ github.event_path }}"
name: "pr_review_payload"
```

release-23.0.0-rc0 — unpinned-uses

File `.github/workflows/pr_review_trigger.yml`; suggested edits:
- ~ jobs.$J.steps[uses=actions/upload-artifact].uses : pin(actions/upload-artifact -> target_ref SHA)

```diff
--- a/.github/workflows/pr_review_trigger.yml
+++ b/.github/workflows/pr_review_trigger.yml
@@ -29,7 +29,7 @@
runs-on: ubuntu-latest
steps:
- name: "Upload PR review Payload"
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
path: "${{ github.event_path }}"
name: "pr_review_payload"
```

---
*Happy to open pull requests instead if that's preferred.*

Contributor guide

Open the contributing guide

Research direction

Update .github/workflows/pr_review_trigger.yml on each of the five listed release branches, following the branch-specific SHA shown in the issue. Start by comparing each file with the default-branch fix, then run zizmor and actionlint for every affected branch. Done means the actions/upload-artifact reference is pinned and both scanners report no new findings.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.