name: CI on: push: branches: [main] pull_request: concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: # Arch matches the development system: Go and library versions are the # ones the module is developed against. check: runs-on: ubuntu-latest container: image: archlinux:latest options: --init env: XDG_RUNTIME_DIR: /tmp/xdg-runtime LANG: en_US.UTF-8 steps: # nodejs runs JavaScript actions (checkout) on runners that do not inject their own. # libxkbcommon is loaded at runtime through purego; tests run without a # compositor or a GPU. gcc is for the race detector. Keyboard tests need # the en_US.UTF-8 locale and its Compose file (libx11). - run: | pacman -Syu --noconfirm --needed git go nodejs make gcc glibc-locales libxkbcommon libx11 xkeyboard-config echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen locale-gen - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - run: | git config --global --add safe.directory "$GITHUB_WORKSPACE" install -d -m 700 "$XDG_RUNTIME_DIR" - run: | go install github.com/vektra/mockery/v3@v3.8.0 go install honnef.co/go/tools/cmd/staticcheck@latest echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" - run: make check - run: make race - run: make mocks-check - run: make examples-check