Skip to content

CodeQL Analysis

CodeQL Analysis #85

name: "CodeQL Analysis"
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '38 13 * * 4'
permissions:
contents: read
env:
MAGEARGS: -d build/magefiles -w .
TARGETPLATFORM: linux/amd64
jobs:
codeql:
name: Analyze Go
runs-on: 'ubuntu-22.04'
permissions:
security-events: write
packages: read
actions: read
strategy:
fail-fast: false
matrix:
include:
- language: go
build-mode: manual
steps:
- name: Harden Runner
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
with:
egress-policy: block
allowed-endpoints: >
github.com:443
azure.archive.ubuntu.com:80
esm.ubuntu.com:443
ghcr.io:443
api.github.com:443
github.com:443
golang.org:443
motd.ubuntu.com:443
objects.githubusercontent.com:443
packages.microsoft.com:443
pkg-containers.githubusercontent.com:443
proxy.golang.org:443
raw.githubusercontent.com:443
storage.googleapis.com:443
uploads.github.com:443
- name: Checkout repository
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
with:
fetch-depth: 0
- name: Setup Go
id: setup_go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5
with:
go-version-file: 'go.mod'
- name: Install Mage
uses: magefile/mage-action@6a5dcb5fe61f43d7c08a98bc3cf9bc63c308c08e # v3
with:
install-only: true
- name: Install build deps
run: mage ${MAGEARGS} preps:deps
- name: Initialize CodeQL
uses: github/codeql-action/init@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
packs: githubsecuritylab/codeql-${{ matrix.language }}-queries
- if: matrix.build-mode == 'manual'
name: Build
run: go build
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
with:
category: "/language:${{matrix.language}}"