-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #16 from FantasyRL/not_main
workflow
- Loading branch information
Showing
1 changed file
with
177 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,21 +8,134 @@ on: | |
env: | ||
GO_VERSION: '1.22' | ||
|
||
#jobs: | ||
# go-mod: | ||
# runs-on: ubuntu-latest | ||
# steps: | ||
# - name: Install Go | ||
# uses: actions/setup-go@v5 | ||
# with: | ||
# go-version: ${{ env.GO_VERSION }} | ||
# - name: Checkout code | ||
# uses: actions/checkout@v4 | ||
# - name: Check go mod | ||
# run: | | ||
# go mod tidy | ||
# git diff --exit-code go.mod | ||
# git diff --exit-code go.sum | ||
# | ||
# golangci-lint: | ||
# runs-on: ubuntu-latest | ||
# steps: | ||
# - uses: actions/checkout@v4 | ||
# - name: Install Go | ||
# uses: actions/setup-go@v5 | ||
# with: | ||
# go-version: ${{ env.GO_VERSION }} | ||
# - name: lint | ||
# uses: golangci/[email protected] | ||
# with: | ||
# version: latest | ||
# skip-build-cache: true | ||
# skip-pkg-cache: true | ||
# | ||
# tests-on-unix: | ||
# needs: golangci-lint # run after golangci-lint action to not produce duplicated errors | ||
# runs-on: ubuntu-latest | ||
# strategy: | ||
# matrix: | ||
# golang: | ||
# - '1.22' | ||
# steps: | ||
# - uses: actions/checkout@v4 | ||
# - name: Install Go | ||
# uses: actions/setup-go@v5 | ||
# with: | ||
# go-version: ${{ matrix.golang }} | ||
# - uses: actions/cache@v4 | ||
# with: | ||
# path: ~/go/pkg/mod | ||
# key: ${{ runner.os }}-go-${{ matrix.golang }}-${{ hashFiles('**/go.sum') }} | ||
# restore-keys: | | ||
# ${{ runner.os }}-go-${{ matrix.golang }}- | ||
# - name: Run tests | ||
# run: make test | ||
jobs: | ||
# Check if there is any dirty change for go mod tidy | ||
go-mod: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
# https://github.com/actions/setup-go#supported-version-syntax | ||
# ex: | ||
# - 1.18beta1 -> 1.18.0-beta.1 | ||
# - 1.18rc1 -> 1.18.0-rc.1 | ||
go-version: ${{ env.GO_VERSION }} | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Check go mod | ||
run: | | ||
go mod tidy | ||
git diff --exit-code go.mod | ||
git diff --exit-code go.sum | ||
# We already run the current golangci-lint in tests, but here we test | ||
# our GitHub action with the latest stable golangci-lint. | ||
golangci-lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
# https://github.com/actions/setup-go#supported-version-syntax | ||
# ex: | ||
# - 1.18beta1 -> 1.18.0-beta.1 | ||
# - 1.18rc1 -> 1.18.0-rc.1 | ||
go-version: ${{ env.GO_VERSION }} | ||
- name: lint | ||
uses: golangci/[email protected] | ||
with: | ||
version: latest | ||
args: --timeout=10m | ||
# skip cache because of flaky behaviors | ||
skip-build-cache: true | ||
skip-pkg-cache: true | ||
|
||
tests-on-windows: | ||
needs: golangci-lint # run after golangci-lint action to not produce duplicated errors | ||
runs-on: windows-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
# https://github.com/actions/setup-go#supported-version-syntax | ||
# ex: | ||
# - 1.18beta1 -> 1.18.0-beta.1 | ||
# - 1.18rc1 -> 1.18.0-rc.1 | ||
go-version: ${{ env.GO_VERSION }} # test only the latest go version to speed up CI | ||
- name: Run tests | ||
run: make.exe test | ||
|
||
tests-on-macos: | ||
needs: golangci-lint # run after golangci-lint action to not produce duplicated errors | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
# https://github.com/actions/setup-go#supported-version-syntax | ||
# ex: | ||
# - 1.18beta1 -> 1.18.0-beta.1 | ||
# - 1.18rc1 -> 1.18.0-rc.1 | ||
go-version: ${{ env.GO_VERSION }} # test only the latest go version to speed up CI | ||
- name: Run tests | ||
run: make test | ||
|
||
tests-on-unix: | ||
needs: golangci-lint # run after golangci-lint action to not produce duplicated errors | ||
runs-on: ubuntu-latest | ||
|
@@ -48,4 +161,67 @@ jobs: | |
restore-keys: | | ||
${{ runner.os }}-go-${{ matrix.golang }}- | ||
- name: Run tests | ||
run: make test | ||
run: make test | ||
|
||
check_generated: | ||
needs: golangci-lint # run after golangci-lint action to not produce duplicated errors | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Unshallow | ||
run: git fetch --prune --unshallow | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
# https://github.com/actions/setup-go#supported-version-syntax | ||
# ex: | ||
# - 1.18beta1 -> 1.18.0-beta.1 | ||
# - 1.18rc1 -> 1.18.0-rc.1 | ||
go-version: ${{ env.GO_VERSION }} | ||
- name: Check generated files are up to date | ||
run: make fast_check_generated | ||
env: | ||
# needed for github-action-config.json generation | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
# Note: the command `run` is tested by the previous steps (`make test`). | ||
commands: | ||
needs: golangci-lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
# https://github.com/actions/setup-go#supported-version-syntax | ||
# ex: | ||
# - 1.18beta1 -> 1.18.0-beta.1 | ||
# - 1.18rc1 -> 1.18.0-rc.1 | ||
go-version: ${{ env.GO_VERSION }} | ||
- name: Build golangci-lint | ||
run: make build | ||
|
||
- run: ./golangci-lint | ||
|
||
- run: ./golangci-lint cache | ||
- run: ./golangci-lint cache status | ||
- run: ./golangci-lint cache clean | ||
|
||
- run: ./golangci-lint completion | ||
- run: ./golangci-lint completion bash | ||
- run: ./golangci-lint completion bash --no-descriptions | ||
- run: ./golangci-lint completion zsh | ||
- run: ./golangci-lint completion zsh --no-descriptions | ||
- run: ./golangci-lint completion fish | ||
- run: ./golangci-lint completion fish --no-descriptions | ||
- run: ./golangci-lint completion powershell | ||
- run: ./golangci-lint completion powershell --no-descriptions | ||
|
||
- run: ./golangci-lint config | ||
- run: ./golangci-lint config path | ||
- run: ./golangci-lint config verify --schema jsonschema/golangci.jsonschema.json | ||
|
||
- run: ./golangci-lint help | ||
- run: ./golangci-lint help linters | ||
- run: ./golangci-lint linters | ||
- run: ./golangci-lint version |