Skip to content

Comments

Fix CI workflow: resolve artifact conflict and enable runs on every commit#2

Merged
yves-chevallier merged 2 commits intomainfrom
copilot/fix-0514a78c-f0c8-4b85-9c98-a783c186a46c
Oct 1, 2025
Merged

Fix CI workflow: resolve artifact conflict and enable runs on every commit#2
yves-chevallier merged 2 commits intomainfrom
copilot/fix-0514a78c-f0c8-4b85-9c98-a783c186a46c

Conversation

Copy link
Contributor

Copilot AI commented Oct 1, 2025

Problem

The CI workflow had three issues:

  1. Artifact naming conflict (409 error): Both luatex and xetex jobs in the matrix strategy were trying to upload artifacts with the same name tonpkg-artifacts, causing a conflict error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run

  2. CI only ran on tags: The workflow was configured to only run on push events for tags (v*.*.*), not on regular commits to branches

  3. Unnecessary xetex artifacts: The xetex engine is used for compatibility testing only, but its artifacts were being uploaded alongside luatex artifacts

Solution

Made minimal changes to .github/workflows/ci.yml:

1. Fixed artifact conflict by conditionally uploading only luatex artifacts

Added if: matrix.engine == 'luatex' to the artifact upload step. Now only the luatex job uploads artifacts, while xetex still runs for compatibility testing.

- name: Upload artifacts
  if: matrix.engine == 'luatex'
  uses: actions/upload-artifact@v4

2. Enabled CI on every commit

Updated the push trigger to include all branches:

on:
  push:
    branches:
      - "**"
    tags:
      - "v*.*.*"

3. Release behavior unchanged

The release job still only runs on version tags (v*..) thanks to the existing condition: if: startsWith(github.ref, 'refs/tags/')

Result

  • ✅ CI runs on every commit to any branch
  • ✅ Both engines (luatex and xetex) run tests for compatibility verification
  • ✅ Only luatex artifacts are uploaded (no more conflicts)
  • ✅ GitHub releases are only created when pushing version tags (v*..)
Original prompt

Dernier problème dans le CI: With the provided path, there will be 2 files uploaded
Artifact name is valid!
Root directory input is valid!
Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run les deux engines se marchent sur les doigts, C'est uniquement l'artifact de luatex que je veux garder pour la suite, celui de xetex est pour un test de compatibilité. Aussi j'aimerais que le CI se lance pour chaque commit mais sans faire de relase. La release se fait que sur les tags vx.y.z tu me propose un update?


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: yves-chevallier <52489316+yves-chevallier@users.noreply.github.com>
Copilot AI changed the title Dernier problème dans le CI: With the provided path, there will be 2 files uploaded Artifact name is valid! Root directory input is valid! Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with t... Fix CI workflow: resolve artifact conflict and enable runs on every commit Oct 1, 2025
Copilot AI requested a review from yves-chevallier October 1, 2025 15:00
@yves-chevallier yves-chevallier marked this pull request as ready for review October 1, 2025 15:00
@yves-chevallier yves-chevallier merged commit 73dcadc into main Oct 1, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants