name: "Go CI" on: push: branches: - master - 'dev-*' pull_request: jobs: lint: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Go 1.20 uses: actions/setup-go@v4 with: go-version: "1.20" - name: Lint uses: golangci/golangci-lint-action@v3 with: version: v1.54 skip-pkg-cache: true args: --out-format=colored-line-number --timeout=20m - name: Format run: make fmt check_changes check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Go 1.20 uses: actions/setup-go@v4 with: go-version: "1.20" - name: Check run: make go_mod check_changes test: strategy: fail-fast: false matrix: os: ["ubuntu-latest", "macOS-latest", "windows-latest"] go: ["1.20", "1.21"] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Go ${{ matrix.go }} uses: actions/setup-go@v4 with: go-version: ${{ matrix.go }} - name: Run tests run: make test