Skip to content

refactor(ci): move integration-test common steps into composite action - #7070

Open
blackboxsw wants to merge 2 commits into
canonical:mainfrom
blackboxsw:refactor-composite-action
Open

blackboxsw wants to merge 2 commits into
canonical:mainfrom
blackboxsw:refactor-composite-action

Conversation

@blackboxsw

Copy link
Copy Markdown
Collaborator

Propsed commit message

refactor(ci): move integration-test common steps into composite action

Replace the reusable workflow .github/workflows/100-dispatch-common.yml
with a composite action .github/actions/integration-test containing
shared integration-test steps (secret assertion, checkout, LXD/SSH/
pycloudlib setup, tox run, report publish, cleanup).

This allows platform-specific secret changes and pre-flight workflow
steps such as credential file setup in subsequent workflows avoiding
pulling in platform-specific setup into the common integration testing.

Behavior is preseved. Update all existing platform workflows to now
pass in environment variables to the composite action the boundary
from workflow to composite action doesn't allow passing workflow
`secrets`.

Additionally, to run composite actions a preliminary checkout step is
required in the scheduled workflow to provide visibility to the
.github/actions dir.

Additional Context

Split out from #6969

Test Steps

Merge type

  • Squash merge using "Proposed Commit Message"
  • Rebase and merge unique commits. Requires commit messages per-commit each referencing the pull request number (#<PR_NUM>)

Replace the reusable workflow .github/workflows/100-dispatch-common.yml
with a composite action .github/actions/integration-test containing
shared integration-test steps (secret assertion, checkout, LXD/SSH/
pycloudlib setup, tox run, report publish, cleanup).

This allows platform-specific secret changes and pre-flight workflow
steps such as credential file setup in subsequent workflows avoiding
pulling in platform-specific setup into the common integration testing.

Behavior is preseved. Update all existing platform workflows to now
pass in environment variables to the composite action the boundary
from workflow to composite action doesn't allow passing workflow
`secrets`.

Additionally, to run composite actions a preliminary checkout step is
required in the scheduled workflow to provide visibility to the
.github/actions dir.

@holmanb holmanb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I assume that there is something missing in this PR - I don't see the action file that is referred to by the workflows.

Comment thread .github/workflows/110-daily-integration-22.04-lxd_container.yml
@blackboxsw
blackboxsw requested a review from holmanb September 10, 2026 17:36
@blackboxsw
blackboxsw force-pushed the refactor-composite-action branch from 9d655f7 to 42d8456 Compare September 10, 2026 22:38

@holmanb holmanb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There are OCI references throughout this PR - please drop them. See my other inline comments.

Has this been tested?

Comment on lines +5 to +7
resulting JUnit report. OCI-specific secret validation and credential
setup are NOT handled here; OCI callers must assert and write the OCI
config/key to the runner temp directory (passed via runner_temp) before invoking this action.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Saying what isn't handled here is redundant and likely to become stale.

Also, OCI is not included in this PR.

Comment on lines +32 to +34
The runner's temp directory (runner.temp). Passed by the caller
because the runner context is not available inside a composite action's
runs section at load time.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

because the runner context is not available inside a composite action's

Is that actually true? If it is that would mean that every published github action would require passing this in - and I don't see other github actions requiring this argument.

This seems suspect, at the very least.

github-report: true
artifact-name: ctrf-report-${{ inputs.platform }}-${{ inputs.release }}
env:
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is ommitted, won't the report step will fail?

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