name: CI on: push: branches: [main] pull_request: # The release workflow runs these checks before it publishes. workflow_call: concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: # Arch matches the development system: libwayland, glslc and Go versions # change protocol behavior and SPIR-V bytes. check: runs-on: ubuntu-latest container: image: archlinux:latest # An init process reaps killed children, as on a real session. options: --init env: XDG_RUNTIME_DIR: /tmp/xdg-runtime steps: # Libraries loaded at runtime through purego; vulkan-swrast (lavapipe) # gives tests a Vulkan device; gcc is for the race detector; dbus # gives the screensaver tests a private bus. - run: >- pacman -Syu --noconfirm --needed git go make gcc shaderc wayland libxkbcommon libinput seatd vulkan-icd-loader vulkan-swrast dbus - uses: actions/checkout@v4 - run: | git config --global --add safe.directory "$GITHUB_WORKSPACE" install -d -m 700 "$XDG_RUNTIME_DIR" - run: | go install github.com/bnema/hexcheck/cmd/hexcheck@v0.3.1 cd tools && GOBIN=$HOME/go/bin go install tool - run: make check - run: make race - run: make mocks-check - run: make spv-check - run: ~/go/bin/staticcheck ./...