chore(deps): update all non-major dependencies #298
This file contains hidden or 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: Docker Integration Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| docker-integration: | |
| name: Docker Integration Tests | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| arch: [amd64] # arm64 works but is very slow | |
| fail-fast: false | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| install: true | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: linux/amd64,linux/arm64 | |
| - name: Create libvirt directories | |
| run: | | |
| sudo mkdir -p /var/run/libvirt | |
| sudo mkdir -p /var/lib/libvirt | |
| sudo chmod -R 777 /var/run/libvirt | |
| sudo chmod -R 777 /var/lib/libvirt | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y qemu-user-static | |
| - name: Build and run tests | |
| run: | | |
| # Create test artifacts directory | |
| mkdir -p test-artifacts | |
| # Build the Docker image with GitHub Actions cache | |
| docker buildx build \ | |
| --platform linux/${{ matrix.arch }} \ | |
| --build-arg BASE_IMAGE=node:20-slim \ | |
| -t libvirt-test-${{ matrix.arch }} \ | |
| --cache-from type=gha \ | |
| --cache-to type=gha,mode=max \ | |
| --load \ | |
| . | |
| # Run the container with necessary privileges | |
| docker run \ | |
| --platform linux/${{ matrix.arch }} \ | |
| --privileged \ | |
| -v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \ | |
| -v /var/lib/libvirt:/var/lib/libvirt \ | |
| -v $(pwd)/test-artifacts:/app/test-artifacts \ | |
| --name test-container \ | |
| libvirt-test-${{ matrix.arch }} | |
| # Copy coverage data from the container | |
| docker cp test-container:/app/coverage ./coverage | |
| docker rm test-container | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Upload coverage report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report-${{ matrix.arch }} | |
| path: coverage/ | |
| retention-days: 14 |