Skip to content

Commit 52c2678

Browse files
authored
ci: Add operator integration test workflow (#459)
* ci: Add operator integration test workflow * chore: Update action version
1 parent 48603e4 commit 52c2678

File tree

2 files changed

+94
-1
lines changed

2 files changed

+94
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
name: Integration Test
3+
run-name: |
4+
Integration Test on ${{ inputs.test-platform }}-${{ inputs.test-architecture }} (${{ inputs.test-run == 'all' && 'all' || format('{0}={1}', inputs.test-run, inputs.test-parameter) }})
5+
6+
on:
7+
schedule:
8+
# At 00:00 on Sunday. See: https://crontab.guru/#0_0_*_*_0
9+
- cron: "0 0 * * 0"
10+
workflow_dispatch:
11+
inputs:
12+
test-platform:
13+
description: |
14+
The test platform to run on (kind doesn't support `arm64`)
15+
required: true
16+
type: choice
17+
options:
18+
- kind-1.31.0
19+
- kind-1.30.3
20+
- aks-1.29
21+
- aks-1.28
22+
- aks-1.27
23+
- eks-1.29
24+
- eks-1.28
25+
- eks-1.27
26+
- gke-1.29
27+
- gke-1.28
28+
- gke-1.27
29+
- okd-4.15
30+
- okd-4.14
31+
- okd-4.13
32+
test-architecture:
33+
description: |
34+
The architecture the tests will run on
35+
required: true
36+
type: choice
37+
options:
38+
- amd64
39+
- arm64
40+
test-run:
41+
description: Type of test run
42+
required: true
43+
type: choice
44+
options:
45+
- all
46+
- test-suite
47+
- test
48+
test-parameter:
49+
description: Parameter to `--test-suite` or `--test` (ignored for `all`)
50+
default: smoke
51+
52+
jobs:
53+
test:
54+
name: Run Integration Test
55+
runs-on: ubuntu-latest
56+
steps:
57+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
58+
with:
59+
submodules: recursive
60+
61+
- name: Run Integration Test
62+
id: test
63+
uses: stackabletech/actions/run-integration-test@5b66858af3597c4ea34f9b33664b8034a1d28427 # v0.3.0
64+
with:
65+
test-platform: ${{ inputs.test-platform }}-${{ inputs.test-architecture }}
66+
test-run: ${{ inputs.test-run }}
67+
test-parameter: ${{ inputs.test-parameter }}
68+
replicated-api-token: ${{ secrets.REPLICATED_API_TOKEN }}
69+
70+
- name: Send Notification
71+
if: ${{ failure() }}
72+
env:
73+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }}
74+
uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
75+
with:
76+
channel-id: "C07UYJYSMSN" # notifications-integration-tests
77+
payload: |
78+
{
79+
"text": "Integration Test *${{ github.repository }}* failed",
80+
"attachments": [
81+
{
82+
"pretext": "Started at ${{ steps.test.outputs.start-time }}, failed at ${{ steps.test.outputs.end-time }}",
83+
"color": "#aa0000",
84+
"actions": [
85+
{
86+
"type": "button",
87+
"text": "Go to integration test run",
88+
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
89+
}
90+
]
91+
}
92+
]
93+
}

template/.github/workflows/pr_pre-commit.yaml.j2

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
with:
2424
fetch-depth: 0
2525
submodules: recursive
26-
- uses: stackabletech/actions/run-pre-commit@e8781161bc1eb037198098334cec6061fe24b6c3 # v0.0.2
26+
- uses: stackabletech/actions/run-pre-commit@5b66858af3597c4ea34f9b33664b8034a1d28427 # v0.3.0
2727
with:
2828
python-version: ${{ env.PYTHON_VERSION }}
2929
rust: ${{ env.RUST_TOOLCHAIN_VERSION }}

0 commit comments

Comments
 (0)