diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index af4a4d4..eb4a1f2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -50,3 +50,35 @@ jobs: run: python3 -m pip install tox - name: Run tests run: tox run -e unit + + integration-test: + name: Integration tests + runs-on: ubuntu-latest + needs: + - inclusive-naming-check + - lint + - unit-test + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up LXD + uses: canonical/setup-lxd@v0.1.1 + with: + channel: 5.21/stable + - name: Set up gambol + run: | + wget https://github.com/NucciTheBoss/gambol/releases/download/v0.1.0-rc1/gambol_0.1.0_amd64.snap + sudo snap install ./gambol_*.snap --dangerous + sudo snap connect gambol:lxd lxd:lxd + sudo snap connect gambol:dot-gambol + - name: Build the Slurm snap + run: | + sudo snap install snapcraft --classic + make snap + - name: Configure LXD to run a mini-HPC cluster + run: | + lxc profile set default security.privileged true + lxc profile set default security.nesting true + lxc profile set default raw.apparmor 'mount fstype=nfs*, mount fstype=rpc_pipefs,' + - name: Run tests + run: make integration