Testing #18
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
name: Testing | |
# Trigger on pushes, PRs (excluding documentation changes), and nightly. | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: 0 0 * * * # daily at 00:00 | |
permissions: | |
contents: read | |
# Always force the use of Go modules | |
env: | |
GO111MODULE: on | |
jobs: | |
# Run the main gRPC-Go tests. | |
tests: | |
# Proto checks are run in the above job. | |
env: | |
VET_SKIP_PROTO: 1 | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- type: tests | |
goversion: '1.22' | |
- type: tests | |
goversion: '1.22' | |
testflags: -race | |
- type: tests | |
goversion: '1.22' | |
goarch: 386 | |
- type: tests | |
goversion: '1.22' | |
goarch: arm64 | |
- type: tests | |
goversion: '1.21' | |
- type: tests | |
goversion: '1.20' | |
steps: | |
# Setup the environment. | |
- name: Setup GOARCH | |
if: matrix.goarch != '' | |
run: echo "GOARCH=${{ matrix.goarch }}" >> $GITHUB_ENV | |
- name: Setup qemu emulator | |
if: matrix.goarch == 'arm64' | |
# setup qemu-user-static emulator and register it with binfmt_misc so that aarch64 binaries | |
# are automatically executed using qemu. | |
run: docker run --rm --privileged multiarch/qemu-user-static:5.2.0-2 --reset --credential yes --persistent yes | |
- name: Setup GRPC environment | |
if: matrix.grpcenv != '' | |
run: echo "${{ matrix.grpcenv }}" >> $GITHUB_ENV | |
- name: Setup Go | |
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | |
with: | |
go-version: ${{ matrix.goversion }} | |
- name: Checkout repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
# Main tests run for everything except when testing "extras" | |
# (where we run a reduced set of tests). | |
- name: Run tests | |
if: matrix.type == 'tests' | |
run: | | |
go version | |
go test ${{ matrix.testflags }} -cpu 1,4 -timeout 7m m4o.io/gslog/... |