Skip to content

ci: test starflow run-spread action in spread workflows - #6544

Closed
mr-cal wants to merge 1 commit into
canonical:mainfrom
mr-cal-bot:work/junit-for-spread
Closed

mr-cal wants to merge 1 commit into
canonical:mainfrom
mr-cal-bot:work/junit-for-spread

Conversation

@mr-cal

@mr-cal mr-cal commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

Test PR for the new run-spread action in starflow (branch work/junit-for-spread), which runs spread and publishes the results as JUnit XML artifacts.

Changes

  • spread.yml: both integration jobs now use canonical/starflow/run-spread@work/junit-for-spread instead of calling spread directly. The Ubuntu Pro token check is split into its own gating step so the action step stays declarative.
  • spread-manual.yaml: all seven jobs (kernel, initrd, remote-build, colcon, extensions, snapd-bases, squid-proxy) converted, each with a unique junit-name.
  • Every spread step is followed by an if: always() artifact upload of results/junit*.xml.
  • spread-docs.yaml is not converted: its spread openstack:...docs... invocation is a placeholder.

What to look for

  • JUnit XML artifacts (test-results-*) attached to failed and successful runs.
  • Failing tasks carry spread's error message and the ----- error block as failure text.
  • Aborted/never-started tasks (e.g. after an environment prepare failure) show up as skipped cases named from spread -list.
  • spread -list failures degrade to a warning, not a job failure.

Do not merge: this exists to exercise the action against real spread workflows. Once the starflow side lands, re-pin to canonical/starflow/run-spread@main or close.

Signed-off-by: mr-cal-bot <callahanlovesshopping@gmail.com>
Copilot AI lite review requested due to automatic review settings November 5, 2026 19:19

- name: Upload test results
if: always()
uses: actions/upload-artifact@v7

- name: Upload test results
if: always()
uses: actions/upload-artifact@v7

- name: Upload test results
if: always()
uses: actions/upload-artifact@v7

- name: Upload test results
if: always()
uses: actions/upload-artifact@v7

- name: Upload test results
if: always()
uses: actions/upload-artifact@v7

- name: Upload test results
if: always()
uses: actions/upload-artifact@v7

- name: Upload test results
if: always()
uses: actions/upload-artifact@v7

- name: Upload test results
if: always()
uses: actions/upload-artifact@v7

- name: Upload test results
if: always() && steps.decisions.outputs.RUN == 'true'
uses: actions/upload-artifact@v7

Copilot AI 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.

🟡 Changes recommended

An active moderate issue remains because the artifact name contains colons that actions/upload-artifact rejects, causing JUnit uploads to fail for integration matrix jobs.

1 open issue
What changed in this PR

This pull request updates Spread CI workflows to exercise Starflow’s experimental run-spread action and publish JUnit XML results as artifacts.

Changes:

  • Replaces direct spread invocations in integration and manual workflows with canonical/starflow/run-spread@work/junit-for-spread.
  • Adds unique JUnit names and always() artifact-upload steps.
  • Separates Ubuntu Pro token validation from the Pro Spread action invocation.
File Summary
.github/​workflows/​spread.yml Converts integration and store Spread jobs to the Starflow action and adds JUnit artifact uploads. Moderate finding (3 votes): artifact names derived from matrix.spread-jobs contain :, which actions/upload-artifact rejects.
.github/​workflows/​spread-manual.yaml Converts seven manual Spread jobs and adds per-job JUnit artifact uploads.

Review effort: Lite

if: always()
uses: actions/upload-artifact@v7
with:
name: test-results-${{ matrix.spread-jobs }}
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.

4 participants