mirror of https://github.com/jetkvm/kvm.git
77 lines
3.4 KiB
YAML
77 lines
3.4 KiB
YAML
---
|
|
name: golangci-lint
|
|
on:
|
|
push:
|
|
paths:
|
|
- "go.sum"
|
|
- "go.mod"
|
|
- "**.go"
|
|
- ".github/workflows/golangci-lint.yml"
|
|
- ".golangci.yml"
|
|
pull_request:
|
|
|
|
permissions: # added using https://github.com/step-security/secure-repo
|
|
contents: read
|
|
|
|
jobs:
|
|
golangci:
|
|
permissions:
|
|
contents: read # for actions/checkout to fetch code
|
|
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
|
|
name: lint
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Install Go
|
|
uses: actions/setup-go@fa96338abe5531f6e34c5cc0bbe28c1a533d5505 # v4.2.1
|
|
with:
|
|
go-version: 1.24.4
|
|
- name: Extract versions from Makefile
|
|
id: versions
|
|
run: |
|
|
ALSA_VERSION=$(grep '^ALSA_VERSION' Makefile | cut -d'=' -f2 | tr -d ' ?')
|
|
OPUS_VERSION=$(grep '^OPUS_VERSION' Makefile | cut -d'=' -f2 | tr -d ' ?')
|
|
echo "alsa_version=$ALSA_VERSION" >> $GITHUB_OUTPUT
|
|
echo "opus_version=$OPUS_VERSION" >> $GITHUB_OUTPUT
|
|
echo "Extracted ALSA_VERSION: $ALSA_VERSION"
|
|
echo "Extracted OPUS_VERSION: $OPUS_VERSION"
|
|
- name: Get rv1106-system latest commit
|
|
id: rv1106-commit
|
|
run: |
|
|
RV1106_COMMIT=$(git ls-remote https://github.com/jetkvm/rv1106-system.git HEAD | cut -f1)
|
|
echo "rv1106_commit=$RV1106_COMMIT" >> $GITHUB_OUTPUT
|
|
echo "Latest rv1106-system commit: $RV1106_COMMIT"
|
|
- name: Restore audio dependencies cache
|
|
id: cache-audio-deps
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: $HOME/.jetkvm/audio-libs
|
|
key: audio-deps-${{ runner.os }}-alsa-${{ steps.versions.outputs.alsa_version }}-opus-${{ steps.versions.outputs.opus_version }}-rv1106-${{ steps.rv1106-commit.outputs.rv1106_commit }}
|
|
- name: Setup development environment
|
|
if: steps.cache-audio-deps.outputs.cache-hit != 'true'
|
|
run: make dev_env
|
|
env:
|
|
ALSA_VERSION: ${{ steps.versions.outputs.alsa_version }}
|
|
OPUS_VERSION: ${{ steps.versions.outputs.opus_version }}
|
|
- name: Create empty resource directory
|
|
run: |
|
|
mkdir -p static && touch static/.gitkeep
|
|
- name: Save audio dependencies cache
|
|
if: always() && steps.cache-audio-deps.outputs.cache-hit != 'true'
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: $HOME/.jetkvm/audio-libs
|
|
key: ${{ steps.cache-audio-deps.outputs.cache-primary-key }}
|
|
- name: Lint
|
|
uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # v7.0.0
|
|
with:
|
|
args: --verbose
|
|
version: v2.0.2
|
|
env:
|
|
CGO_ENABLED: 1
|
|
ALSA_VERSION: ${{ steps.versions.outputs.alsa_version }}
|
|
OPUS_VERSION: ${{ steps.versions.outputs.opus_version }}
|
|
CGO_CFLAGS: "-I$HOME/.jetkvm/audio-libs/alsa-lib-${{ steps.versions.outputs.alsa_version }}/include -I$HOME/.jetkvm/audio-libs/opus-${{ steps.versions.outputs.opus_version }}/include -I$HOME/.jetkvm/audio-libs/opus-${{ steps.versions.outputs.opus_version }}/celt"
|
|
CGO_LDFLAGS: "-L$HOME/.jetkvm/audio-libs/alsa-lib-${{ steps.versions.outputs.alsa_version }}/src/.libs -lasound -L$HOME/.jetkvm/audio-libs/opus-${{ steps.versions.outputs.opus_version }}/.libs -lopus -lm -ldl -static"
|