name: "Go: Run Tests" on: push: paths: - "go/**" - .github/workflows/go-tests.yml - .github/actions/** - codeql-workspace.yml branches: - main - "rc/*" pull_request: paths: - "go/**" - .github/workflows/go-tests.yml - .github/actions/** - codeql-workspace.yml jobs: test-linux: name: Test Linux (Ubuntu) runs-on: ubuntu-latest-xl steps: - name: Set up Go 1.20 uses: actions/setup-go@v4 with: go-version: '1.20' id: go - name: Check out code uses: actions/checkout@v2 - name: Set up CodeQL CLI uses: ./.github/actions/fetch-codeql - name: Enable problem matchers in repository shell: bash run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;' - name: Build run: | cd go make - name: Check that all Go code is autoformatted run: | cd go make check-formatting - name: Compile qhelp files to markdown run: | cd go env QHELP_OUT_DIR=qhelp-out make qhelp-to-markdown - name: Upload qhelp markdown uses: actions/upload-artifact@v3 with: name: qhelp-markdown path: go/qhelp-out/**/*.md - name: Cache compilation cache id: query-cache uses: ./.github/actions/cache-query-compilation with: key: go-qltest - name: Test run: | cd go make test cache="${{ steps.query-cache.outputs.cache-dir }}"