← Back to issue list

fix: include caller job name in coverage artifact names

View original Github issue

Metadata

Project
starflow
Number
#139
Type
pull request
State
open
Author
lengau
Labels
Created
2026-05-12 13:32:46+00:00
Updated
2026-05-12 15:12:58+00:00
Closed

Current evaluation

No evaluation has been recorded for this issue yet.

Issue body

## Problem When `test-python.yaml` is called multiple times in the same workflow run (e.g. in [craft-parts](https://github.com/canonical/craft-parts/actions/runs/25734925915/job/75569361111?pr=1583)), the coverage artifact names collide because they only include platform and Python version. This causes `409 Conflict: an artifact with this name already exists on the workflow run` errors on upload. ## Fix Include `${{ github.job }}` in all coverage artifact names. In reusable workflows, `github.job` resolves to the **caller's** job key, making names unique across callers: | Before | After | |--------|-------| | `coverage-slow-ubuntu-24.04-3.12` | `coverage-test-common-slow-ubuntu-24.04-3.12` | | `coverage-slow-ubuntu-24.04-3.12` ❌ conflict | `coverage-test-java-plugins-slow-ubuntu-24.04-3.12` ✅ | ## Testing The existing `self-test-qa.yaml` already exercises this scenario — `test-python-custom` and `test-python-as-root` call `test-python.yaml` with overlapping parameters (`ubuntu-latest`, Python `3.14`, lowest `3.8`). Added a comment documenting this intentional overlap.

Evaluation history

No evaluation history available.