Update integration test #199
Workflow file for this run
This file contains 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: Integration Test K8s-snap | |
on: | |
push: | |
branches: ["master"] | |
pull_request: | |
permissions: | |
contents: read | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: K8s-snap Integration Test | |
runs-on: self-hosted-linux-amd64-jammy-large | |
steps: | |
- name: Checking out repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Install tox | |
run: pip install tox | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.21" | |
- name: Download latest k8s-snap | |
run: | | |
sudo snap download k8s --channel=latest/edge --basename k8s | |
- name: Install lxd | |
run: | | |
sudo snap refresh lxd --channel 5.21/stable | |
sudo lxd init --auto | |
sudo usermod --append --groups lxd $USER | |
sg lxd -c 'lxc version' | |
- name: Build k8s-dqlite | |
run: | | |
make static | |
- name: Unpack Snap | |
run: | | |
sudo unsquashfs -d snap-unpack-dir k8s.snap | |
- name: Replace k8s-dqlite binary | |
run: | | |
sudo cp ./bin/static/k8s-dqlite snap-unpack-dir/bin/k8s-dqlite | |
sudo chmod o+r snap-unpack-dir/bin/k8s-dqlite | |
- name: Repack Snap | |
run: | | |
sudo mksquashfs snap-unpack-dir k8s-updated.snap -noappend -comp lzo -no-fragments | |
- name: Running | |
env: | |
TEST_SNAP: ${{ github.workspace }}/k8s-updated.snap | |
TEST_SUBSTRATE: lxd | |
TEST_LXD_IMAGE: ubuntu:22.04 | |
TEST_INSPECTION_REPORTS_DIR: ${{ github.workspace }}/inspection-reports | |
# Test the latest (up to) 6 releases for the flavour | |
TEST_VERSION_UPGRADE_CHANNELS: "recent 6 classic" | |
# Upgrading from 1.30 is not supported. | |
TEST_VERSION_UPGRADE_MIN_RELEASE: "1.31" | |
TEST_MIRROR_LIST: '[{"name": "ghcr.io", "port": 5000, "remote": "https://ghcr.io", "username": "${{ github.actor }}", "password": "${{ secrets.GITHUB_TOKEN }}"}, {"name": "docker.io", "port": 5001, "remote": "https://registry-1.docker.io", "username": "", "password": ""}, {"name": "rocks.canonical.com", "port": 5002, "remote": "https://rocks.canonical.com/cdk"}]' | |
run: | | |
git clone https://github.com/canonical/k8s-snap.git | |
cd k8s-snap/tests/integration && sg lxd -c 'tox -e integration -- --tags up_to_nightly' | |
- name: Prepare inspection reports | |
if: failure() | |
run: | | |
tar -czvf inspection-reports.tar.gz -C ${{ github.workspace }} inspection-reports | |
- name: Upload inspection report artifact | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: inspection-reports | |
path: ${{ github.workspace }}/inspection-reports.tar.gz |