# Warning: This file is generated automatically, and should not be modified. # Instead, please modify the template in the pr-checks directory and run: # pr-checks/sync.sh # to regenerate this file. name: 'PR Check - Go: workaround for indirect tracing' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GO111MODULE: auto on: push: branches: - main - releases/v* pull_request: types: - opened - synchronize - reopened - ready_for_review merge_group: types: - checks_requested schedule: - cron: '0 5 * * *' workflow_dispatch: inputs: go-version: type: string description: The version of Go to install required: false default: '>=1.21.0' workflow_call: inputs: go-version: type: string description: The version of Go to install required: false default: '>=1.21.0' defaults: run: shell: bash concurrency: cancel-in-progress: ${{ github.event_name == 'pull_request' || false }} group: go-indirect-tracing-workaround-${{github.ref}}-${{inputs.go-version}} jobs: go-indirect-tracing-workaround: strategy: fail-fast: false matrix: include: - os: ubuntu-latest version: default name: 'Go: workaround for indirect tracing' if: github.triggering_actor != 'dependabot[bot]' permissions: contents: read security-events: read timeout-minutes: 45 runs-on: ${{ matrix.os }} steps: - name: Check out repository uses: actions/checkout@v6 - name: Install Go uses: actions/setup-go@v6 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test with: version: ${{ matrix.version }} use-all-platform-bundle: 'false' setup-kotlin: 'true' - uses: ./../action/init with: languages: go tools: ${{ steps.prepare-test.outputs.tools-url }} - name: Build code run: go build main.go - uses: ./../action/analyze - run: | if [[ -z "${CODEQL_ACTION_GO_BINARY}" ]]; then echo "Expected the workaround for indirect tracing of static binaries to trigger, but the" \ "CODEQL_ACTION_GO_BINARY environment variable is not set." exit 1 fi if [[ ! -f "${CODEQL_ACTION_GO_BINARY}" ]]; then echo "CODEQL_ACTION_GO_BINARY is set, but the corresponding script does not exist." exit 1 fi # Once we start running Bash 4.2 in all environments, we can replace the # `! -z` flag with the more elegant `-v` which confirms that the variable # is actually unset and not potentially set to a blank value. if [[ ! -z "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" ]]; then echo "Expected the Go autobuilder not to be run, but the" \ "CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was set." exit 1 fi cd "$RUNNER_TEMP/codeql_databases" if [[ ! -d go ]]; then echo "Did not find a Go database" exit 1 fi env: CODEQL_ACTION_TEST_MODE: true