ci: run every check in an Arch container
- commit
- fac9303b8824e930ec412535224babb2ecff9f4a
- author
- brice · · 2026-09-26 16:30 UTC
- parent
- 214ff0f
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +15 -19
M .github/workflows/ci.yml +15 -19
| @@ -7,30 +7,26 @@ concurrency: | |||
| 7 | 7 | group: ci-${{ github.ref }} | |
| 8 | 8 | cancel-in-progress: true | |
| 9 | 9 | jobs: | |
| 10 | + | # Arch matches the development system: libwayland, glslc and Go versions | |
| 11 | + | # change protocol behavior and SPIR-V bytes. | |
| 10 | 12 | check: | |
| 11 | 13 | runs-on: ubuntu-latest | |
| 14 | + | container: archlinux:latest | |
| 12 | 15 | steps: | |
| 13 | - | - uses: actions/checkout@v4 | |
| 14 | - | - uses: actions/setup-go@v5 | |
| 15 | - | with: | |
| 16 | - | go-version: '1.27' | |
| 17 | - | # Libraries loaded at runtime through purego; lavapipe gives tests a Vulkan device. | |
| 16 | + | # Libraries loaded at runtime through purego; vulkan-swrast (lavapipe) | |
| 17 | + | # gives tests a Vulkan device; gcc is for the race detector. | |
| 18 | 18 | - run: >- | |
| 19 | - | sudo apt-get update && sudo apt-get install -y | |
| 20 | - | libwayland-server0 libxkbcommon0 libinput10 libseat1 libvulkan1 mesa-vulkan-drivers | |
| 21 | - | - run: go install github.com/bnema/hexcheck/cmd/hexcheck@v0.2.0 | |
| 22 | - | - run: go install github.com/vektra/mockery/v3@v3.8.0 | |
| 23 | - | - run: go install honnef.co/go/tools/cmd/staticcheck@latest | |
| 19 | + | pacman -Syu --noconfirm --needed | |
| 20 | + | git go make gcc shaderc wayland libxkbcommon libinput seatd | |
| 21 | + | vulkan-icd-loader vulkan-swrast | |
| 22 | + | - uses: actions/checkout@v4 | |
| 23 | + | - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| 24 | + | - run: | | |
| 25 | + | go install github.com/bnema/hexcheck/cmd/hexcheck@v0.2.0 | |
| 26 | + | go install github.com/vektra/mockery/v3@v3.8.0 | |
| 27 | + | go install honnef.co/go/tools/cmd/staticcheck@latest | |
| 24 | 28 | - run: make check | |
| 25 | 29 | - run: make race | |
| 26 | 30 | - run: make mocks-check | |
| 27 | - | - run: staticcheck ./... | |
| 28 | - | # SPIR-V bytes depend on the glslc version: build with Arch's shaderc, as developers do. | |
| 29 | - | shaders: | |
| 30 | - | runs-on: ubuntu-latest | |
| 31 | - | container: archlinux:latest | |
| 32 | - | steps: | |
| 33 | - | - run: pacman -Syu --noconfirm git go make shaderc | |
| 34 | - | - uses: actions/checkout@v4 | |
| 35 | - | - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| 36 | 31 | - run: make spv-check | |
| 32 | + | - run: ~/go/bin/staticcheck ./... | |
| @@ -7,30 +7,26 @@ concurrency: | |||||
| 7 | group: ci-${{ github.ref }} | 7 | group: ci-${{ github.ref }} | ||
| 8 | cancel-in-progress: true | 8 | cancel-in-progress: true | ||
| 9 | jobs: | 9 | jobs: | ||
| 10 | + | # Arch matches the development system: libwayland, glslc and Go versions | |||
| 11 | + | # change protocol behavior and SPIR-V bytes. | |||
| 10 | check: | 12 | check: | ||
| 11 | runs-on: ubuntu-latest | 13 | runs-on: ubuntu-latest | ||
| 14 | + | container: archlinux:latest | |||
| 12 | steps: | 15 | steps: | ||
| 13 | - | - uses: actions/checkout@v4 | 16 | + | # Libraries loaded at runtime through purego; vulkan-swrast (lavapipe) |
| 14 | - | - uses: actions/setup-go@v5 | 17 | + | # gives tests a Vulkan device; gcc is for the race detector. |
| 15 | - | with: | |||
| 16 | - | go-version: '1.27' | |||
| 17 | - | # Libraries loaded at runtime through purego; lavapipe gives tests a Vulkan device. | |||
| 18 | - run: >- | 18 | - run: >- | ||
| 19 | - | sudo apt-get update && sudo apt-get install -y | 19 | + | pacman -Syu --noconfirm --needed |
| 20 | - | libwayland-server0 libxkbcommon0 libinput10 libseat1 libvulkan1 mesa-vulkan-drivers | 20 | + | git go make gcc shaderc wayland libxkbcommon libinput seatd |
| 21 | - | - run: go install github.com/bnema/hexcheck/cmd/hexcheck@v0.2.0 | 21 | + | vulkan-icd-loader vulkan-swrast |
| 22 | - | - run: go install github.com/vektra/mockery/v3@v3.8.0 | 22 | + | - uses: actions/checkout@v4 |
| 23 | - | - run: go install honnef.co/go/tools/cmd/staticcheck@latest | 23 | + | - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" |
| 24 | + | - run: | | |||
| 25 | + | go install github.com/bnema/hexcheck/cmd/hexcheck@v0.2.0 | |||
| 26 | + | go install github.com/vektra/mockery/v3@v3.8.0 | |||
| 27 | + | go install honnef.co/go/tools/cmd/staticcheck@latest | |||
| 24 | - run: make check | 28 | - run: make check | ||
| 25 | - run: make race | 29 | - run: make race | ||
| 26 | - run: make mocks-check | 30 | - run: make mocks-check | ||
| 27 | - | - run: staticcheck ./... | |||
| 28 | - | # SPIR-V bytes depend on the glslc version: build with Arch's shaderc, as developers do. | |||
| 29 | - | shaders: | |||
| 30 | - | runs-on: ubuntu-latest | |||
| 31 | - | container: archlinux:latest | |||
| 32 | - | steps: | |||
| 33 | - | - run: pacman -Syu --noconfirm git go make shaderc | |||
| 34 | - | - uses: actions/checkout@v4 | |||
| 35 | - | - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |||
| 36 | - run: make spv-check | 31 | - run: make spv-check | ||
| 32 | + | - run: ~/go/bin/staticcheck ./... | |||