Skip to content

Fix golang runtime detection for containers (#2903) #1

Fix golang runtime detection for containers (#2903)

Fix golang runtime detection for containers (#2903) #1

Workflow file for this run

name: pre-commit
on:
push:
branches:
- main
- release-*
pull_request:
branches:
- main
- release-*
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idconcurrency
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
env:
# renovate: datasource=pypi depName=pre-commit versioning=pep440
PRE_COMMIT_VERSION: ==3.7.1
jobs:
pre-commit:
name: pre-commit checks
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Check if pre-commit should run on all files
id: run-all-files
uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf # v5.3.1
continue-on-error: true
with:
do_not_skip: '["schedule", "workflow_dispatch"]'
paths: |-
[
".github/workflows/pre-commit.yml",
".go-version",
".pre-commit-config.yaml"
]
skip_after_successful_duplicate: false
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version-file: .go-version
cache: false
- name: Set up Clang
uses: KyleMayes/install-llvm-action@be40c5af3a4adc3e4a03199995ab73aa37536712 # v1.9.0
with:
version: "14"
- name: Set golangci-lint cache key parts
run: |
echo "INTERVAL_KEY=$(( $(date +%s) / (7 * 86400) ))" >> $GITHUB_ENV
# GH Actions hashFiles() function uses SHA512
echo "GO_MOD_SHA1=$(sha1sum go.mod | cut -d' ' -f1)" >> $GITHUB_ENV
# Same as https://github.com/golangci/golangci-lint-action#caching-internals
- name: Set up golangci-lint cache
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3.3.3
with:
path: |
~/.cache/golangci-lint
~/.cache/go-build
~/go/pkg
# https://github.com/golangci/golangci-lint-action/blob/v3.2.0/src/cache.ts#L53-L69
key: golangci-lint.cache-${{ env.INTERVAL_KEY }}-${{ env.GO_MOD_SHA1 }}
restore-keys: |
golangci-lint.cache-${{ env.INTERVAL_KEY }}-
golangci-lint.cache-
- name: Set up pre-commit
run: pipx install "pre-commit${PRE_COMMIT_VERSION}"
- name: Set pre-commit cache key parts
run: |
echo "GO_VERSION=$(<.go-version)" >> $GITHUB_ENV
echo "PY_HASH=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
- name: Set up pre-commit cache
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3.3.3
with:
path: ~/.cache/pre-commit
key: pre-commit-go${{ env.GO_VERSION }}-${{ env.PY_HASH }}-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Install libbpf dependencies
run: |
sudo apt-get update -y
sudo apt-get install -yq libelf-dev zlib1g-dev
- name: Initialize and update git submodules
run: git submodule init && git submodule update
- name: Build libbpf
run: make libbpf
- name: Run pre-commit
run: |
declare -a EXTRA_ARGS=()
if [[ '${{ steps.run-all-files.outputs.should_skip }}' != 'true' ]]; then
EXTRA_ARGS=(--all-files)
elif [[ "${GITHUB_EVENT_NAME}" == 'pull_request' ]]; then
EXTRA_ARGS=(--from-ref "origin/${GITHUB_BASE_REF}" --to-ref "${GITHUB_SHA}")
else
EXTRA_ARGS=(--from-ref "${GITHUB_SHA}^" --to-ref "${GITHUB_SHA}")
fi
pre-commit run --show-diff-on-failure --color=always "${EXTRA_ARGS[@]}"
- name: "pre-commit-ci-lite: Apply automatic fixes"
uses: pre-commit-ci/lite-action@9d882e7a565f7008d4faf128f27d1cb6503d4ebf # v1.0.2
if: always()