[ 
https://issues.apache.org/jira/browse/HADOOP-20050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18135852#comment-18135852
 ] 

ASF GitHub Bot commented on HADOOP-20050:
-----------------------------------------

GauthamBanasandra opened a new pull request, #8906:
URL: https://github.com/apache/hadoop/pull/8906

   ### Description of PR
   
   JIRA: https://issues.apache.org/jira/browse/HADOOP-20050
   
   Every `Build` and `Image Cache` run in apache/hadoop has ended in 
`startup_failure` since
   2026-10-17 (first: 
https://github.com/apache/hadoop/actions/runs/39033320107). The annotation on
   run 41101032776 says:
   
   > The action docker/login-action@06fb636fac595d6fb4b28a5dfcb21a6f5091859c is 
not allowed in apache/hadoop
   
   ASF Infra removed that SHA from the
   [action 
allowlist](https://github.com/apache/infrastructure-actions/blob/main/actions.yml)
 on
   2026-10-16. Forks aren't subject to the allowlist, so PR builds kept passing 
and nobody noticed. The
   upstream image cache was last refreshed on 2026-09-18.
   
   **Pin bumps.** All four new SHAs are listed in `actions.yml` with no expiry, 
and each matches its
   upstream release tag:
   
   | Action | From | To | Old pin's status |
   |---|---|---|---|
   | `docker/login-action` | v4.5.0 `06fb636f` | v4.7.0 `81c6f93d` | removed 
2026-10-16 |
   | `docker/setup-buildx-action` | v4.2.0 `bb05f3f5` | v4.4.1 `f87e5991` | 
expires 2026-11-19 |
   | `docker/build-push-action` | v7.3.0 `53b7df96` | v7.4.0 `c3c9e263` | 
expires 2026-12-09 |
   | `dorny/test-reporter` | v3.0.0 `a43b3a5f` | v3.2.0 `d1b5dff0` | expires 
2026-12-27 |
   
   None of the inputs we use changed between these versions. The docker actions 
gained hardening and
   Docker Hub OIDC changes. dorny added an optional `list-files` input and 
nested-testsuite support for
   `java-junit`.
   
   **Stopping it from recurring.** This is the third time an expired pin has 
caused
   `startup_failure` (HADOOP-19893, HADOOP-19933).
   - `.github/dependabot.yml`
     - Covers the `github-actions` ecosystem for `/` (workflows) and 
`/.github/actions/*` (composite actions).
     - Runs weekly, with grouped version updates and a separate group for 
security updates.
     - Uses a 7-day cooldown. SECURITY.md requires a cooldown, ASF suggests 4 
days, and zizmor requires at least 7. A longer cooldown also gives Infra time 
to allowlist a new release before Dependabot proposes it.
     - The ASF GitHub Actions policy makes Dependabot or Renovate mandatory.
   - `.github/workflows/asf_allowlist_check.yml`
     - Runs 
[`apache/infrastructure-actions/allowlist-check`](https://github.com/apache/infrastructure-actions/tree/main/allowlist-check)
 (v1.0.4, SHA-pinned) on PRs touching `.github/**`, on trunk pushes, and weekly.
     - Fails on refs that aren't allowlisted and warns 30 days before a pin 
expires.
     - Has read-only permissions and runs on `ubuntu-slim`.
   
   ### How was this patch tested?
   
   - Checked each new SHA against `actions.yml` and against `git ls-remote` of 
the upstream tag.
   - Simulated the allowlist check locally over every `uses:` in `.github/`: 0 
violations, and no pin with an expiry date.
   - `actionlint` 1.7.12: clean on all changed workflows.
   - `zizmor` 1.31.1, with online audits so impostor-commit checks ran: the two 
new files have no findings. The four edited files have the same 25 findings 
before and after this change; all are pre-existing and out of scope (tag-pinned 
`actions/*`, template injection, `workflow_run`, unpinned `container:` images).
   - A push of this branch to my fork ran `Build` with the bumped docker 
actions, and every job passed: all three image builds, both build-only jobs and 
the full ubuntu_24 test matrix 
(https://github.com/GauthamBanasandra/hadoop/actions/runs/41196179730).
   - That run doesn't exercise `dorny/test-reporter`, which only 
`report_cloud_aws.yml` uses. The new allowlist check runs on this PR itself.
   - The real check is after merge: the next trunk `Build` run in apache/hadoop 
should start instead of ending in `startup_failure`.
   
   Notes for reviewers:
   - Dependabot opens PRs from `dependabot/**` branches in apache/hadoop. 
`build_and_test.yml` runs on push to every branch, so each such PR costs one 
upstream `Build` run on ASF minutes. Grouping keeps it to about one PR a week.
   - Dependabot PRs don't receive Actions secrets. A Dependabot PR that touches 
`.github/actions/build_image**` will trigger Cloud-AWS without 
`LOCALSTACK_CI_KEY`, so that job may fail on it.
   
   ### For code changes:
   
   - [x] Does the title of this PR start with the corresponding JIRA issue id 
(e.g. 'HADOOP-17799. Your PR title ...')?
   - [ ] Object storage: N/A
   - [ ] New dependencies: N/A (CI-only action versions)
   - [ ] LICENSE / NOTICE updates: N/A
   
   ### AI Tooling
   
   - [x] The PR includes the phrase "Contains content generated by Claude Code".
   - [x] My use of AI contributions follows the ASF legal policy 
https://www.apache.org/legal/generative-tooling.html
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   




> Bump expired GitHub Actions pins to ASF-allowlisted versions and add 
> Dependabot
> -------------------------------------------------------------------------------
>
>                 Key: HADOOP-20050
>                 URL: https://issues.apache.org/jira/browse/HADOOP-20050
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: hadoop-common
>    Affects Versions: 3.5.0
>            Reporter: Gautham Banasandra
>            Assignee: Gautham Banasandra
>            Priority: Major
>             Fix For: 3.5.0
>
>
> h3. Problem
> Since 2026-10-17, every {{Build}} ({{build_and_test.yml}}) and {{Image 
> Cache}} ({{build_image_cache.yml}}) run in apache/hadoop has ended in 
> {{startup_failure}}, with no logs. The run annotation says:
> {quote}The action 
> docker/login-action@06fb636fac595d6fb4b28a5dfcb21a6f5091859c is not allowed 
> in apache/hadoop{quote}
> ASF Infra removed that pin (v4.5.0) from the [action 
> allowlist|https://github.com/apache/infrastructure-actions/blob/main/actions.yml]
>  on 2026-10-16. Forks are not subject to the allowlist, so PR builds in 
> contributors' forks kept passing and nobody noticed. The upstream image cache 
> has not been refreshed since 2026-09-18.
> First failing run: https://github.com/apache/hadoop/actions/runs/39033320107
> Three more pins are about to be removed:
> ||Action||Pinned version||Removed from allowlist||
> |docker/login-action|v4.5.0|2026-10-16 (already removed)|
> |docker/setup-buildx-action|v4.2.0|2026-11-19|
> |docker/build-push-action|v7.3.0|2026-12-09|
> |dorny/test-reporter|v3.0.0|2026-12-27|
> This is the third time an expired pin has broken CI (HADOOP-19893, 
> HADOOP-19933). The repository has no Dependabot configuration, although the 
> [ASF GitHub Actions 
> policy|https://infra.apache.org/github-actions-policy.html] requires one, so 
> nothing proposes bumps before pins expire.
> h3. Proposed fix
> # Bump the four pins to allowlisted versions that have no expiry date: 
> docker/login-action v4.7.0, docker/setup-buildx-action v4.4.1, 
> docker/build-push-action v7.4.0, dorny/test-reporter v3.2.0.
> # Add {{.github/dependabot.yml}} for the github-actions ecosystem, covering 
> the workflows and the composite actions under {{.github/actions}}. Weekly 
> grouped updates, with security updates in a separate group and a 7-day 
> cooldown, as required by SECURITY.md.
> # Add an "ASF Allowlist Check" workflow using 
> {{apache/infrastructure-actions/allowlist-check}}. It fails a PR that touches 
> {{.github/}} when a ref is not on the allowlist, warns 30 days before an 
> allowlisted pin expires, and runs weekly on apache/hadoop.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to