Skip to content

Merge pull request #335 from spacemeshos/334-fix-require-uses #636

Merge pull request #335 from spacemeshos/334-fix-require-uses

Merge pull request #335 from spacemeshos/334-fix-require-uses #636

Workflow file for this run

name: CI
env:
go-version: "1.20"
on:
merge_group:
pull_request:
push:
branches:
- develop
jobs:
quicktests:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: checkout
uses: actions/checkout@v3
- name: set up go
uses: actions/setup-go@v4
with:
check-latest: true
go-version: ${{ env.go-version }}
- name: fmt, tidy, generate
run: |
make install
make test-fmt
make test-tidy
make test-generate
- name: staticcheck
run: make staticcheck
- name: Check for vulnerabilities
run: make vulncheck
lint:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: checkout
uses: actions/checkout@v3
- name: set up go
uses: actions/setup-go@v4
with:
check-latest: true
go-version: ${{ env.go-version }}
- name: setup env
run: make install
- name: lint
run: make lint-github-action
- name: Lint protos
run: make lint-protos
unittests:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
needs:
- quicktests
- lint
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- [self-hosted, linux, arm64]
- macos-latest
- [self-hosted, macos, arm64]
- windows-latest
steps:
- name: checkout
uses: actions/checkout@v3
- name: set up go
uses: actions/setup-go@v4
with:
check-latest: true
go-version: ${{ env.go-version }}
- name: setup env
run: make install
- name: Clear test cache
run: make clear-test-cache
- name: unit tests
env:
GOTESTSUM_FORMAT: standard-verbose
GOTESTSUM_JUNITFILE: unit-tests.xml
run: make test
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
# always run even if the previous step fails
if: always()
with:
report_paths: "**/unit-tests.xml"
annotate_only: true
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: set up go
uses: actions/setup-go@v4
with:
check-latest: true
go-version: ${{ env.go-version }}
- name: setup env
run: make install
- name: test coverage
run: make cover
- name: Upload to codecov.io
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}