Skip to content

Repair wp/5.8 branch Actions: Upload each E2E job's debug artifacts under its own name - #85335

Open
desrosj wants to merge 1 commit into
fix-actions-5.8/set-artifact-retention-daysfrom
fix-actions-5.8/fix-e2e-artifact-name-collisions
Open

desrosj wants to merge 1 commit into
fix-actions-5.8/set-artifact-retention-daysfrom
fix-actions-5.8/fix-e2e-artifact-name-collisions

Conversation

@desrosj

@desrosj desrosj commented Oct 21, 2026

Copy link
Copy Markdown
Member

Part of #82935.

What?

Gives each E2E upload of failures-artifacts in end2end-test.yml its own name, then merges them back into a single failures-artifacts artifact in a new merge-artifacts job:

Job Artifact name
admin (4 Puppeteer shards) failures-artifacts--<part>

The upload steps also change from if: always() to if: ${{ !cancelled() }}, so a cancelled run doesn't try to upload anything.

Why?

Before #84431 updated actions/upload-artifact from v2.2.2 to v7.0.1, every upload with the same name was merged into one artifact. From v4 on, each upload creates its own artifact, so the bump changed what these steps produce (migration notes).

With every shard using the same name, a run where more than one shard has debug files ends up with several separate artifacts, all called failures-artifacts. They look the same in the run summary, and downloading failures-artifacts by name returns only one of them. In a trial on wp/6.4, 7 uploads under the shared name produced 7 artifacts, and gh run download -n failures-artifacts returned the files from just one shard. Today's runs don't show this, because no shard has files to upload unless tests fail or are retried.

How?

Backports the artifact half of trunk's 5697864 (#61338):

  • Only the Puppeteer admin job uploads failures-artifacts in this workflow.
  • The merge-artifacts job matches the one already on the wp/6.6 and newer stacks: actions/upload-artifact/merge at the same pinned v7.0.1 SHA, continue-on-error so a run with nothing to merge stays green, delete-merged, retention-days: 14, ubuntu-24.04 and a 5 minute timeout.
  • Trunk's flaky tests report changes are left out, because this branch no longer uploads that report.

Tested with a throwaway workflow in which every E2E job uploaded a dummy file under these names. No upload failed, and the merge job produced one failures-artifacts artifact holding every job's file, with the per-job artifacts removed.

Use of AI Tools

This PR was created by Claude Code under my supervision. All code should be treated as AI-produced and not yet reviewed by a human until this PR is marked Ready for Review.

🤖 Generated with Claude Code

@desrosj desrosj added the [Type] Build Tooling Issues or PRs related to build tooling label Oct 21, 2026
@desrosj desrosj self-assigned this Oct 21, 2026
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 9659555c-ea1b-4bb7-8b98-005c63824665

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@desrosj
desrosj added this pull request to stack #84943 October 21, 2026 19:33
@desrosj
desrosj removed this pull request from stack #84943 October 21, 2026 19:47
@desrosj
desrosj added this pull request to stack #85352 October 21, 2026 19:48
@desrosj
desrosj marked this pull request as ready for review October 22, 2026 17:36
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: desrosj <desrosj@git.wordpress.org>
Co-authored-by: ntsekouras <ntsekouras@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@desrosj
desrosj force-pushed the fix-actions-5.8/fix-e2e-artifact-name-collisions branch from 01f59f9 to 64ee20b Compare October 22, 2026 18:35

@ntsekouras ntsekouras left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, thanks!

@desrosj
desrosj force-pushed the fix-actions-5.8/fix-e2e-artifact-name-collisions branch from 64ee20b to 2bcf75c Compare October 23, 2026 13:50

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Type] Build Tooling Issues or PRs related to build tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants