feat(github): add GitHub App authentication to charm layer #5009
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: End-to-End tests | |
| on: | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # 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 | |
| uses: canonical/operator-workflows/.github/workflows/integration_test.yaml@main | |
| secrets: inherit | |
| with: | |
| juju-channel: 3.6/stable | |
| provider: lxd | |
| test-tox-env: integration-juju3.6 | |
| modules: '["test_e2e"]' | |
| # INTEGRATION_TOKEN, OS_PASSWORD, GITHUB_APP_INSTALLATION_ID (base slot), | |
| # GITHUB_APP_PRIVATE_KEY (slot 11) are passed through | |
| # INTEGRATION_TEST_SECRET_ENV_VALUE_<N> mapping. See CONTRIBUTING.md for more details. | |
| extra-arguments: | | |
| -m=openstack \ | |
| --log-format="%(asctime)s %(levelname)s %(message)s" \ | |
| --path="${{ vars.INTEGRATION_TEST_PATH }}" \ | |
| --https-proxy="${{ vars.INTEGRATION_TEST_HTTPS_PROXY }}" \ | |
| --http-proxy="${{ vars.INTEGRATION_TEST_HTTP_PROXY }}" \ | |
| --no-proxy="${{ vars.INTEGRATION_TEST_NO_PROXY }}" \ | |
| --openstack-https-proxy="${{ vars.INTEGRATION_TEST_OPENSTACK_HTTPS_PROXY }}" \ | |
| --openstack-http-proxy="${{ vars.INTEGRATION_TEST_OPENSTACK_HTTP_PROXY }}" \ | |
| --openstack-no-proxy="${{ vars.INTEGRATION_TEST_OPENSTACK_NO_PROXY }}" \ | |
| --openstack-flavor-name="${{ vars.INTEGRATION_TEST_OPENSTACK_FLAVOR_NAME }}" \ | |
| --dockerhub-mirror="${{ vars.INTEGRATION_TEST_DOCKERHUB_MIRROR }}" \ | |
| --github-app-client-id="${{ vars.INTEGRATION_TEST_GITHUB_APP_CLIENT_ID }}" | |
| self-hosted-runner: true | |
| self-hosted-runner-label: pfe-ci | |
| required_status_checks: | |
| name: Required E2E Test Status Checks | |
| runs-on: ubuntu-latest | |
| needs: | |
| - openstack-integration-end-to-end-test | |
| if: always() && !cancelled() | |
| timeout-minutes: 5 | |
| steps: | |
| - run: | | |
| [ '${{ needs.openstack-integration-end-to-end-test.result }}' = 'success' ] || (echo openstack-integration-end-to-end-test failed && false) |