67 lines
1.8 KiB
YAML
67 lines
1.8 KiB
YAML
name: Lint, Test, Build
|
|
|
|
on:
|
|
push:
|
|
tags-ignore:
|
|
- 'v*'
|
|
branches:
|
|
- "**"
|
|
pull_request:
|
|
|
|
jobs:
|
|
lintTestBuild:
|
|
name: Lint, Test, Build
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
go: [ '1.17', '1.18' ]
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v2
|
|
-
|
|
name: Setup Go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
-
|
|
name: Install Deps
|
|
id: install-deps
|
|
run: sudo apt-get -y install libpcsclite-dev
|
|
-
|
|
name: golangci-lint
|
|
uses: golangci/golangci-lint-action@v2
|
|
with:
|
|
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
|
|
version: 'v1.45.2'
|
|
|
|
# Optional: working directory, useful for monorepos
|
|
# working-directory: somedir
|
|
|
|
# Optional: golangci-lint command line arguments.
|
|
args: --timeout=30m
|
|
|
|
# Optional: show only new issues if it's a pull request. The default value is `false`.
|
|
# only-new-issues: true
|
|
|
|
# Optional: if set to true then the action will use pre-installed Go.
|
|
# skip-go-installation: true
|
|
|
|
# Optional: if set to true then the action don't cache or restore ~/go/pkg.
|
|
# skip-pkg-cache: true
|
|
|
|
# Optional: if set to true then the action don't cache or restore ~/.cache/go-build.
|
|
# skip-build-cache: true
|
|
-
|
|
name: Test, Build
|
|
id: lint_test_build
|
|
run: V=1 make ci
|
|
-
|
|
name: Codecov
|
|
if: matrix.go == '1.18'
|
|
uses: codecov/codecov-action@v2
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
files: ./coverage.out # optional
|
|
name: codecov-umbrella # optional
|
|
fail_ci_if_error: true # optional (default = false)
|