Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion .github/workflows/e2e_test.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,32 @@
name: End-to-End tests

on:
pull_request:
issue_comment:
types: [created]
Copy link
Collaborator

@yhaliaw yhaliaw Jan 20, 2026

Choose a reason for hiding this comment

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

Does this mean, each trigger of e2e run requires a new comment?
I am unsure if this is a good approach, since it might mean we need to spam the PR with comments.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I think the alt option is to if there is a PR comment that contains the run e2e ci string, then the e2e tests are ran.
E.g., once the PR is almost ready for review we add that comment and see if e2e test is working, and try to fix it on subsequent commits. If e2e tests are not needed for whatever reason, we can just delete the comment.


concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
check_comment:
name: Check comment trigger
runs-on: ubuntu-latest
if: "${{ github.event.issue.pull_request && contains(github.event.comment.body, 'ci: run e2e') }}"
outputs:
triggered: ${{ steps.check.outputs.triggered }}
steps:
- name: Check comment
id: check
run: |
echo "triggered=true" >> $GITHUB_OUTPUT

# test option values defined at test/conftest.py are passed on via repository secret
# INTEGRATION_TEST_ARGS to operator-workflows automatically.
openstack-integration-end-to-end-test:
name: end-to-end test using private-endpoint
needs: check_comment
if: needs.check_comment.outputs.triggered == 'true'
uses: canonical/operator-workflows/.github/workflows/integration_test.yaml@main
secrets: inherit
with:
Expand Down
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@
> settings > variables > actions.
This is to prevent GitHub from leaking secrets when passing them over the CLI calls (unresolved).

To trigger E2E tests (required status check), you can comment "ci: run e2e" on the Pull Request itself. This is to prevent resource intensive CI runs on every PR.

Check failure on line 58 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / docs-checks / vale

[vale] reported by reviewdog 🐶 [Canonical.000-US-spellcheck] The word 'ci' seems to be misspelled. Raw Output: {"message": "[Canonical.000-US-spellcheck] The word 'ci' seems to be misspelled.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 58, "column": 64}}}, "severity": "ERROR"}

### Building the charm

Build the charm in this git repository using:
Expand Down
Loading