mirror of
https://github.com/github/codeql.git
synced 2026-03-06 07:36:47 +01:00
Repositories can be configured with Default access (restricted) https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token Best practice says that workflows should declare the minimal permissions they require. Without declaring permissions, paranoid forks fail miserably.
78 lines
1.7 KiB
YAML
78 lines
1.7 KiB
YAML
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
|
|
|
|
env:
|
|
GO_VERSION: '~1.21.0'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test-linux:
|
|
if: github.repository_owner == 'github'
|
|
name: Test Linux (Ubuntu)
|
|
runs-on: ubuntu-latest-xl
|
|
steps:
|
|
- name: Set up Go ${{ env.GO_VERSION }}
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
id: go
|
|
|
|
- name: Check out code
|
|
uses: actions/checkout@v4
|
|
|
|
- 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 }}"
|