-
Notifications
You must be signed in to change notification settings - Fork 36
Fix artifact naming to comply with upload-artifact@v5 requirements #8362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Remove file extensions from artifact names (prompt.txt → prompt, aw_info.json → aw-info) - Use hyphens instead of underscores for consistency (safe_output.jsonl → safe-output) - Update artifact download path to account for artifact extraction directory structure - Update all tests to reflect new artifact naming conventions Fixes issue where artifact uploads were failing due to non-compliant naming with upload-artifact@v5 stricter validation. Reference: https://github.com/githubnext/gh-aw/actions/runs/20628014892/job/59241691429#step:32:1 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot review logs and audit command for new artifact names. Make sure it is forward/backward compatible. |
…ility - Add TestArtifactNamingBackwardCompatibility to test both old and new artifact names - Add TestAuditCommandFindsNewArtifacts to verify audit command works with new names - Update existing tests to use new artifact directory names (aw-info, safe-output) - Add documentation explaining compatibility mechanism - Verify flattenSingleFileArtifacts provides seamless backward/forward compatibility Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
✅ Verified backward/forward compatibility. The How it works:
Compatibility verified:
Tests added in commit ccee7d6:
See |
| @@ -0,0 +1,55 @@ | |||
| # Artifact Naming Backward/Forward Compatibility | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot move to specs folder
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to specs/artifact-naming-compatibility.md in commit 60c3173.
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
|
💀 Blimey! Smoke Copilot Safe Inputs failed and walked the plank! No treasure today, matey! ☠️ |
|
✅ Firewall validation complete... Smoke Codex Firewall confirmed network sandboxing is operational. 🛡️ |
|
📰 VERDICT: Smoke Copilot Playwright has concluded. All systems operational. This is a developing story. 🎤 |
|
🎉 Yo ho ho! Changeset Generator found the treasure and completed successfully! ⚓💰 |
|
🤖 DIAGNOSTIC COMPLETE: Smoke Copilot No Firewall STATUS: ALL_UNITS_OPERATIONAL. MISSION_SUCCESS. |
Move documentation from docs/internal/ to specs/ as requested Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
🎉 Yo ho ho! Smoke Copilot Safe Inputs found the treasure and completed successfully! ⚓💰 |
|
🤖 DIAGNOSTIC COMPLETE: Smoke Copilot No Firewall STATUS: ALL_UNITS_OPERATIONAL. MISSION_SUCCESS. |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
✅ Firewall validation complete... Smoke Codex Firewall confirmed network sandboxing is operational. 🛡️ |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
|
🎉 Yo ho ho! Changeset Generator found the treasure and completed successfully! ⚓💰 |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
🎉 Yo ho ho! Smoke Copilot Safe Inputs found the treasure and completed successfully! ⚓💰 |
|
📰 VERDICT: Smoke Copilot Playwright has concluded. All systems operational. This is a developing story. 🎤 |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
|
🤖 DIAGNOSTIC COMPLETE: Smoke Copilot No Firewall STATUS: ALL_UNITS_OPERATIONAL. MISSION_SUCCESS. |
|
🎉 Yo ho ho! Changeset Generator found the treasure and completed successfully! ⚓💰 |
|
✅ Firewall validation complete... Smoke Codex Firewall confirmed network sandboxing is operational. 🛡️ |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
Smoke Test ResultsLast 2 merged PRs:
Test Results:
Overall Status: PASS
|
Smoke Test ResultsLast 2 Merged PRs:
Test Results:
Overall Status: PASS (6/7 tests passed - MCP gateway optional for default toolsets) cc: @pelikhan
|
Smoke Test Results✅ Playwright MCP: Page title verified (contains "GitHub") Overall Status: FAIL (1/3 tests passed)
|
|
PRs: Fix artifact download path to match download-artifact@v4 behavior; Update artifact naming documentation to reflect upload-artifact@v5 changes
|
|
PRs: Fix artifact download path to match download-artifact@v4 behavior; Update artifact naming documentation to reflect upload-artifact@v5 changes
|
Smoke Test Results: Claude EngineLast 2 merged PRs:
Test Results:
Overall Status: PARTIAL PASS (5/6 tests passed) Note:
|
GitHub Actions
upload-artifact@v5enforces stricter artifact naming conventions. Artifact names with file extensions (e.g.,prompt.txt,agent_output.json) were causing upload failures in workflow runs.Changes
Artifact name normalization:
prompt.txt→prompt,aw_info.json→aw-infosafe_output.jsonl→safe-output,agent_output.json→agent-outputFixed download path resolution:
actions/download-artifactextracts artifacts to{download-path}/{artifact-name}/. Updated environment variable paths to account for this subdirectory structure:Updated modules:
pkg/constants/constants.go- Artifact name constantspkg/workflow/artifacts.go- Download path logicpkg/workflow/compiler_yaml_artifacts.go- Upload step generationpkg/workflow/threat_detection.go- Threat detection artifact referencespkg/workflow/safe_outputs_steps.go- Safe output artifact handlingAll 127 workflows recompiled with new artifact naming scheme.
Backward/Forward Compatibility
The
flattenSingleFileArtifacts()function inpkg/cli/logs_download.goensures seamless compatibility with both old and new artifact naming schemes:gh run downloadcreates directories named after artifacts (e.g.,aw-info/,safe-output/)logsandauditcommands always find files by their standard names at root levelCompatibility verified:
aw_info.json,safe_output.jsonl) work with existing workflow runsaw-info,safe-output) work with new workflow runslogsorauditcommand logicTests added:
TestArtifactNamingBackwardCompatibility- Verifies both old and new artifact naming schemesTestAuditCommandFindsNewArtifacts- Confirms audit command compatibility with new namesSee
specs/artifact-naming-compatibility.mdfor detailed explanation.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.