From fe925b5d66937aa4b7537ad22180ada0845420b0 Mon Sep 17 00:00:00 2001 From: Benjamin Schimke Date: Thu, 6 Jun 2024 10:50:52 +0200 Subject: [PATCH] Add moonray integration tests CI --- .github/workflows/moonray-integration.yaml | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/moonray-integration.yaml diff --git a/.github/workflows/moonray-integration.yaml b/.github/workflows/moonray-integration.yaml new file mode 100644 index 000000000..b7544181c --- /dev/null +++ b/.github/workflows/moonray-integration.yaml @@ -0,0 +1,77 @@ +name: Integration Tests (Moonray) + +on: + push: + branches: + - main + - 'autoupdate/sync/**' + pull_request: + +permissions: + contents: read + +jobs: + build: + name: Build + runs-on: ubuntu-20.04 + steps: + - name: Harden Runner + uses: step-security/harden-runner@v2 + with: + egress-policy: audit + - name: Checking out repo + uses: actions/checkout@v4 + - name: Install lxd + run: | + sudo lxd init --auto + sudo usermod --append --groups lxd $USER + sg lxd -c 'lxc version' + - name: Install snapcraft + run: | + sudo snap install snapcraft --classic + - name: Apply moonray patch + run: | + ./build-scripts/patches/moonray/apply + - name: Build snap + run: | + sg lxd -c 'snapcraft --use-lxd' + mv k8s_*.snap k8s-moonray.snap + - name: Uploading snap + uses: actions/upload-artifact@v4 + with: + name: k8s-moonray.snap + path: k8s-moonray.snap + + test-integration: + needs: [ build ] + name: Test ${{ matrix.os }} + strategy: + matrix: + os: ["ubuntu:20.04"] + runs-on: ubuntu-20.04 + steps: + - name: Check out code + uses: actions/checkout@v4 + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.8' + - name: Install tox + run: pip install tox + - name: Install lxd + run: | + sudo snap refresh lxd --channel 5.19/stable + sudo lxd init --auto + sudo usermod --append --groups lxd $USER + sg lxd -c 'lxc version' + - name: Download snap + uses: actions/download-artifact@v4 + with: + name: k8s-moonray.snap + path: build + - name: Run end to end tests + run: | + export TEST_SNAP="$PWD/build/k8s-moonray.snap" + export TEST_SUBSTRATE=lxd + export TEST_LXD_IMAGE=${{ matrix.os }} + cd tests/integration && sg lxd -c 'tox -e integration'