-
Notifications
You must be signed in to change notification settings - Fork 7
61 lines (52 loc) · 1.63 KB
/
integration-test.yaml
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
name: Integration tests
on:
workflow_call:
jobs:
integration-test:
strategy:
matrix:
arch:
- arch: amd64
runner: ubuntu-22.04
- arch: arm64
runner: [self-hosted, linux, ARM64, medium, jammy]
runs-on: ${{ matrix.arch.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Fetch Charm Under Test
uses: actions/download-artifact@v4
with:
name: built-charm-${{ matrix.arch.arch }}
path: built/
- name: Get Charm Under Test Path
id: charm-path
run: echo "charm_path=$(find built/ -name '*.charm' -type f -print)" >> $GITHUB_OUTPUT
- name: Setup operator environment
uses: charmed-kubernetes/actions-operator@main
with:
juju-channel: 3.6/stable
provider: microk8s
channel: 1.31-strict/stable
lxd-channel: 5.21/stable
- name: Install UV and Tox
run: |
pipx uninstall tox
sudo snap install astral-uv --classic
uv tool install tox --with tox-uv --force
- name: Run integration tests
run: |
tox -e integration -- \
--charm_path=${{ steps.charm-path.outputs.charm_path }}
- name: Archive charmcraft logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: charmcraft-logs
path: /home/runner/.local/state/charmcraft/log/*.log
- name: Archive juju crashdump
if: failure()
uses: actions/upload-artifact@v4
with:
name: juju-crashdump
path: juju-crashdump-*.tar.xz