forked from canonical/github-runner-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
102 lines (98 loc) · 4.95 KB
/
integration_test.yaml
File metadata and controls
102 lines (98 loc) · 4.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
name: integration-tests
on:
pull_request:
schedule:
# Trigger at 6:00 AM and 6:00 PM UTC
- cron: "0 6,18 * * *"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
openstack-integration-tests-private-endpoint:
name: Integration 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_multi_unit_same_machine", "test_charm_metrics_failure", "test_charm_metrics_success", "test_charm_fork_path_change", "test_charm_no_runner", "test_charm_upgrade", "test_reactive"]'
# INTEGRATION_TOKEN, INTEGRATION_TOKEN_ALT, OS_* 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 }}" \
--openstack-image-id="${{ vars.INTEGRATION_TEST_IMAGE_ID }}" \
--dockerhub-mirror="${{ vars.INTEGRATION_TEST_DOCKERHUB_MIRROR }}"
self-hosted-runner: true
self-hosted-runner-label: pfe-ci
openstack-integration-tests-cross-controller-private-endpoint:
name: Cross controller integration test using private-endpoint
uses: canonical/operator-workflows/.github/workflows/integration_test.yaml@main
secrets: inherit
with:
juju-channel: 3.6/stable
pre-run-script: tests/integration/setup-integration-tests.sh
provider: lxd
test-tox-env: integration-juju3.6
modules: '["test_prometheus_metrics"]'
# INTEGRATION_TOKEN, INTEGRATION_TOKEN_ALT, OS_* 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 }}" \
--openstack-image-id="${{ vars.INTEGRATION_TEST_IMAGE_ID }}" \
--dockerhub-mirror="${{ vars.INTEGRATION_TEST_DOCKERHUB_MIRROR }}"
self-hosted-runner: true
self-hosted-runner-label: pfe-ci
openstack-integration-tests-runner-bases:
name: Runner tests across bases
uses: canonical/operator-workflows/.github/workflows/integration_test.yaml@main
secrets: inherit
strategy:
matrix:
base: ["22.04", "24.04"]
with:
juju-channel: 3.6/stable
provider: lxd
test-tox-env: integration-juju3.6
modules: '["test_charm_runner"]'
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 }}" \
--openstack-image-id="${{ vars.INTEGRATION_TEST_IMAGE_ID }}" \
--dockerhub-mirror="${{ vars.INTEGRATION_TEST_DOCKERHUB_MIRROR }}" \
--base="${{ matrix.base }}"
self-hosted-runner: true
self-hosted-runner-label: pfe-ci
allure-report:
if: ${{ (success() || failure()) && github.event_name == 'schedule' }}
needs:
- openstack-integration-tests-private-endpoint
- openstack-integration-tests-cross-controller-private-endpoint
- openstack-integration-tests-runner-bases
uses: canonical/operator-workflows/.github/workflows/allure_report.yaml@main