Skip to content

chore(deps): Bump actions/download-artifact from 4.3.0 to 8.0.1#129

Merged
don-petry merged 1 commit intomainfrom
dependabot/github_actions/actions/download-artifact-8.0.1
Apr 17, 2026
Merged

chore(deps): Bump actions/download-artifact from 4.3.0 to 8.0.1#129
don-petry merged 1 commit intomainfrom
dependabot/github_actions/actions/download-artifact-8.0.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 12, 2026

Bumps actions/download-artifact from 4.3.0 to 8.0.1.

Release notes

Sourced from actions/download-artifact's releases.

v8.0.1

What's Changed

Full Changelog: actions/download-artifact@v8...v8.0.1

v8.0.0

v8 - What's new

[!IMPORTANT] actions/download-artifact@v8 has been migrated to an ESM module. This should be transparent to the caller but forks might need to make significant changes.

[!IMPORTANT] Hash mismatches will now error by default. Users can override this behavior with a setting change (see below).

Direct downloads

To support direct uploads in actions/upload-artifact, the action will no longer attempt to unzip all downloaded files. Instead, the action checks the Content-Type header ahead of unzipping and skips non-zipped files. Callers wishing to download a zipped file as-is can also set the new skip-decompress parameter to true.

Enforced checks (breaking)

A previous release introduced digest checks on the download. If a download hash didn't match the expected hash from the server, the action would log a warning. Callers can now configure the behavior on mismatch with the digest-mismatch parameter. To be secure by default, we are now defaulting the behavior to error which will fail the workflow run.

ESM

To support new versions of the @actions/* packages, we've upgraded the package to ESM.

What's Changed

Full Changelog: actions/download-artifact@v7...v8.0.0

v7.0.0

v7 - What's new

[!IMPORTANT] actions/download-artifact@v7 now runs on Node.js 24 (runs.using: node24) and requires a minimum Actions Runner version of 2.327.1. If you are using self-hosted runners, ensure they are updated before upgrading.

Node.js 24

This release updates the runtime to Node.js 24. v6 had preliminary support for Node 24, however this action was by default still running on Node.js 20. Now this action by default will run on Node.js 24.

What's Changed

... (truncated)

Commits
  • 3e5f45b Add regression tests for CJK characters (#471)
  • e6d03f6 Add a regression test for artifact name + content-type mismatches (#472)
  • 70fc10c Merge pull request #461 from actions/danwkennedy/digest-mismatch-behavior
  • f258da9 Add change docs
  • ccc058e Fix linting issues
  • bd7976b Add a setting to specify what to do on hash mismatch and default it to error
  • ac21fcf Merge pull request #460 from actions/danwkennedy/download-no-unzip
  • 15999bf Add note about package bumps
  • 974686e Bump the version to v8 and add release notes
  • fbe48b1 Update test names to make it clearer what they do
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Dependency update PRs security Security-related PRs and issues labels Apr 12, 2026
@dependabot dependabot Bot force-pushed the dependabot/github_actions/actions/download-artifact-8.0.1 branch from c766949 to 3da7009 Compare April 16, 2026 00:39
@dependabot dependabot Bot requested a review from don-petry as a code owner April 16, 2026 00:39
@dependabot dependabot Bot force-pushed the dependabot/github_actions/actions/download-artifact-8.0.1 branch 2 times, most recently from d733ee1 to 8d57b0e Compare April 16, 2026 02:01
@dependabot-automerge-petry dependabot-automerge-petry Bot enabled auto-merge (squash) April 16, 2026 11:46
@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor

@don-petry don-petry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review — APPROVED

Risk: MEDIUM
Reviewed commit: 81e26f6fd8ae9634c67db82fdba48ae794712564
Cascade: triage → deep (see triage: haiku 4.5 → deep: sonnet 4.6 + duck: gpt-5.4 → audit: opus 4.6 for models)

Summary

Dependabot bump of actions/download-artifact from v4.3.0 to v8.0.1 (4 major versions). The action is correctly SHA-pinned to 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c. All CI gates pass (CodeQL, SonarCloud with 0 security hotspots, ShellCheck, Agent Security Scan, Feature Ideation Tests). The v8 breaking changes (hash-mismatch now errors instead of warns, ESM module, no auto-unzip of non-zip content) are security improvements and do not break the workflow per CI results. Triage escalation was due to a system failure (triage-output-invalid), not a real signal.

Findings

Info

  • [info] .github/workflows/feature-ideation-reusable.yml:165 — Major version jump: actions/download-artifact bumped from v4.3.0 to v8.0.1 (4 major versions). Action is from GitHub's official actions/ org and SHA-pinned.
  • [info] .github/workflows/feature-ideation-reusable.yml:165 — v8 no longer auto-unzips all downloaded files (only unzips if Content-Type is zip). v8 also defaults hash-mismatch to error (was warn) — a security improvement. Feature Ideation Tests pass, indicating no behavioral regression.
  • [info] .github/workflows/feature-ideation-reusable.yml:165 — Action pinned to full commit SHA (3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c) matching v8.0.1 — correct security hygiene for GitHub Actions.

CI status

All CI checks pass: CodeQL ✓, SonarCloud ✓ (0 new issues, 0 security hotspots), Lint ✓, ShellCheck ✓, Agent Security Scan ✓, Feature Ideation Tests ✓, Dependency audit ✓.


Reviewed by the don-petry PR-review cascade (triage: haiku 4.5 → deep: sonnet 4.6 + duck: gpt-5.4 → audit: opus 4.6). Reply with @don-petry if you need a human.

@don-petry
Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Apr 16, 2026

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

don-petry pushed a commit that referenced this pull request Apr 16, 2026
…k merge

## Problem

When dependabot-rebase updates a PR branch (after it falls behind main), the
update counts as a "push" event. GitHub's `dismiss_stale_reviews_on_push` rule
then marks the PR's approval as stale, preventing merge even though:
- ✅ PR branch is now current
- ✅ Approval exists
- ✅ All checks pass

Result: PR stuck BLOCKED/BEHIND indefinitely.

## Solution (Option C: Workflow Fix, Not Ruleset Change)

After updating a Dependabot PR branch, immediately re-approve it using the
app-bot token. This maintains the `require_last_push_approval: true` safeguard
for human developers while unblocking Dependabot's automated workflow.

This is safe because:
- Re-approval is after a branch-only update (no code change)
- Bot-to-bot approval is expected and trusted
- Human-authored PRs keep their safeguard intact

## Changes

1. **dependabot-rebase-reusable.yml**: Add re-approval step after update-branch
   - Checks if update succeeded
   - Re-approves the PR with explanatory comment
   - Continues to next PR in queue
   - No behavior change if re-approval fails (PR still queued)

2. **standards/github-settings.md**: Revert ruleset change recommendation
   - Keep `require_last_push_approval: true`
   - Document that rebase workflow re-approves after updates
   - No policy change needed

3. **DEPENDABOT_STATUS_ANALYSIS.md**: Update recommendation
   - Change from "relax ruleset" to "fix workflow"
   - Recommend Option C as correct solution
   - Explain why workflow fix is superior

## Testing

PR #125 and #129 should now:
1. Be rebased to be current with main
2. Immediately re-approved by the rebase workflow
3. Merge automatically as all requirements are met

Expected in PR history: Re-approval comment from app-bot after branch update.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
don-petry added a commit that referenced this pull request Apr 16, 2026
…k auto-merge

* docs(dependabot): add auto-merge status analysis and ruleset recommendations

## Summary

Analysis of Dependabot auto-merge workflow reveals policy is correctly implemented
but repository rulesets cause operational stalling. The `require_last_push_approval`
setting, combined with `required_linear_history`, creates a rebase loop that
prevents Dependabot PRs from merging even when approved and checks passing.

## Changes

1. Add DEPENDABOT_STATUS_ANALYSIS.md — comprehensive investigation report:
   - Confirms auto-merge workflow works correctly for GitHub Actions (including MAJOR bumps)
   - Documents root cause: ruleset interaction with rebase workflow
   - Provides tactical and strategic recommendations
   - Answers user questions about hourly review workflow (none exists—approvals are event-driven)

2. Update standards/github-settings.md:
   - Clarify rationale for `require_last_push_approval: false`
   - Document interaction with Dependabot auto-merge workflow
   - Add reference to dependabot-policy.md for full context

## Key Findings

✅ Dependabot auto-merge workflow: Working as designed
✅ Policy document: Correct and complete
❌ Operational issue: PRs stuck BEHIND due to ruleset constraints
⚠️ Proposed fix: Change `require_last_push_approval: false` (see analysis for details)

## Recommendations

1. Tactical: Use `@dependabot recreate` for edited PRs (PR #125)
2. Strategic: Relax ruleset constraint to unblock auto-merge flow
3. Process: Update AGENTS.md with Dependabot troubleshooting guide

See DEPENDABOT_STATUS_ANALYSIS.md for full details, timeline, and alternatives.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* fix(dependabot-rebase): re-approve PRs after branch updates to unblock merge

## Problem

When dependabot-rebase updates a PR branch (after it falls behind main), the
update counts as a "push" event. GitHub's `dismiss_stale_reviews_on_push` rule
then marks the PR's approval as stale, preventing merge even though:
- ✅ PR branch is now current
- ✅ Approval exists
- ✅ All checks pass

Result: PR stuck BLOCKED/BEHIND indefinitely.

## Solution (Option C: Workflow Fix, Not Ruleset Change)

After updating a Dependabot PR branch, immediately re-approve it using the
app-bot token. This maintains the `require_last_push_approval: true` safeguard
for human developers while unblocking Dependabot's automated workflow.

This is safe because:
- Re-approval is after a branch-only update (no code change)
- Bot-to-bot approval is expected and trusted
- Human-authored PRs keep their safeguard intact

## Changes

1. **dependabot-rebase-reusable.yml**: Add re-approval step after update-branch
   - Checks if update succeeded
   - Re-approves the PR with explanatory comment
   - Continues to next PR in queue
   - No behavior change if re-approval fails (PR still queued)

2. **standards/github-settings.md**: Revert ruleset change recommendation
   - Keep `require_last_push_approval: true`
   - Document that rebase workflow re-approves after updates
   - No policy change needed

3. **DEPENDABOT_STATUS_ANALYSIS.md**: Update recommendation
   - Change from "relax ruleset" to "fix workflow"
   - Recommend Option C as correct solution
   - Explain why workflow fix is superior

## Testing

PR #125 and #129 should now:
1. Be rebased to be current with main
2. Immediately re-approved by the rebase workflow
3. Merge automatically as all requirements are met

Expected in PR history: Re-approval comment from app-bot after branch update.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* chore: remove analysis documents (workflow fix is complete)

* fix(dependabot-rebase): guard re-approval behind auto-merge check, fix warning message

- Only re-approve after update-branch if auto-merge is already enabled.
  Auto-merge is set exclusively by the automerge workflow after confirming
  policy eligibility, preventing inadvertent approval of PRs requiring
  human review (e.g. major non-Actions updates).
- Fix misleading warning: 'may still merge if approval is stale' →
  'will remain blocked until manually re-approved'
- Add inline comment explaining update-branch authorship w.r.t.
  require_last_push_approval (pusher = GitHub infra, approver = app)

Addresses Copilot review comments on PR #140.

---------

Co-authored-by: DJ <dj@Rachels-Air.localdomain>
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
@don-petry
Copy link
Copy Markdown
Contributor

@dependabot recreate

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.3.0 to 8.0.1.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v4.3.0...3e5f45b)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/github_actions/actions/download-artifact-8.0.1 branch from 81e26f6 to eb0e5c3 Compare April 17, 2026 02:31
Copy link
Copy Markdown
Contributor

@don-petry don-petry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review — APPROVED

Risk: MEDIUM
Reviewed commit: eb0e5c3e0c5c02f5e10960935c3052bd4d87d350
Cascade: triage → deep (see triage: haiku 4.5 → deep: sonnet 4.6 + duck: gpt-5.4 → audit: opus 4.6 for models)

Summary

Dependabot bump of actions/download-artifact from v4.3.0 to v8.0.1 (4 major versions). The action is correctly SHA-pinned to 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c from the official actions/ org. All CI gates pass (AgentShield, SonarCloud 0 new issues/0 security hotspots, ShellCheck, Agent Security Scan, Feature Ideation Tests) confirming no behavioral regression. The v8 breaking changes (hash-mismatch now errors instead of warns, ESM module, content-type-aware unzip) are security improvements that do not break the workflow. Triage escalation was a system failure (triage-output-invalid), not a real signal.

Findings

Info

  • .github/workflows/feature-ideation-reusable.yml:165 — Major version jump: actions/download-artifact bumped from v4.3.0 to v8.0.1 (4 major versions). Action is from GitHub's official actions/ org and SHA-pinned to 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c — correct security hygiene.
  • .github/workflows/feature-ideation-reusable.yml:165 — v8 breaking changes: (1) hash-mismatch now defaults to error instead of warn — security improvement; (2) no longer auto-unzips all files, checks Content-Type header first; (3) ESM module migration (transparent to callers). Feature Ideation Tests pass, indicating no behavioral regression in this workflow.
  • CI status — All CI checks pass: AgentShield SUCCESS, SonarCloud SUCCESS (0 new issues, 0 security hotspots), Lint SUCCESS, ShellCheck SUCCESS, Agent Security Scan SUCCESS, Feature Ideation Tests SUCCESS, Dependency audit SUCCESS, CodeQL NEUTRAL.
  • Merge status — mergeStateStatus is BLOCKED despite reviewDecision APPROVED. Likely caused by pending @dependabot recreate request from don-petry (2026-04-17T02:31:13Z) or branch-protection policy requiring additional human approval — not a security concern.

CI status

All CI checks pass. mergeStateStatus: BLOCKED (branch-protection or pending recreate request, not a code concern).


Reviewed by the don-petry PR-review cascade (triage: haiku 4.5 → deep: sonnet 4.6 + duck: gpt-5.4 → audit: opus 4.6). Reply with @don-petry if you need a human.

@don-petry don-petry merged commit aa1ffbe into main Apr 17, 2026
16 checks passed
@don-petry don-petry deleted the dependabot/github_actions/actions/download-artifact-8.0.1 branch April 17, 2026 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency update PRs security Security-related PRs and issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant