Files
codeql/go/actions/test/action.yml
2025-08-13 13:39:32 +02:00

66 lines
1.8 KiB
YAML

name: Test Go extractor
description: Run build, QL tests, and optionally basic code sanity checks (formatting and generated code) for the Go extractor
inputs:
go-test-version:
description: Which Go version to use for running the tests
required: false
default: "~1.25.0"
run-code-checks:
description: Whether to run formatting, code and qhelp generation checks
required: false
default: false
runs:
using: composite
steps:
- name: Set up Go ${{ inputs.go-test-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-test-version }}
cache: false
id: go
- 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: Check checked-in generated code
if: inputs.run-code-checks == 'true'
shell: bash
run: |
bazel run go:gen
git add .
git diff --exit-code HEAD || (
echo "please run bazel run //go:gen"
exit 1
)
- name: Build
shell: bash
run: |
bazel run go:go-installer
- name: Check that all Go code is autoformatted
if: inputs.run-code-checks == 'true' && !cancelled()
shell: bash
run: |
cd go
make check-formatting
- name: Compile qhelp files to markdown
if: inputs.run-code-checks == 'true' && !cancelled()
id: markdown
shell: bash
run: |
cd go
env QHELP_OUT_DIR=qhelp-out make qhelp-to-markdown
- name: Upload qhelp markdown
if: inputs.run-code-checks == 'true' && !cancelled()
uses: actions/upload-artifact@v4
with:
name: qhelp-markdown
path: go/qhelp-out/**/*.md