fix(ci): Run release workflow only on main branch #69
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
# SPDX-FileCopyrightText: 2023-2024 Steffen Vogel <post@steffenvogel.de> | |
# SPDX-License-Identifier: Apache-2.0 | |
# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/github-workflow.json | |
--- | |
name: Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
build: | |
name: Build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macOS-latest, windows-latest ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
check-latest: true | |
- name: Lint | |
# TODO: golangci-lint is currently broken on Windows? | |
if: matrix.os != 'windows-latest' | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.59.1 | |
- name: Set up gotestfmt | |
run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest | |
- name: Run Go tests | |
shell: bash | |
run: | | |
set -euo pipefail | |
go test \ | |
-v \ | |
-json \ | |
-coverpkg ./... \ | |
-tags ci \ | |
-coverprofile cover.profile \ | |
./... 2>&1 | \ | |
tee gotest.log | \ | |
gotestfmt | |
- name: Upload test log | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: test-log-${{ matrix.os }} | |
path: gotest.log | |
if-no-files-found: error | |
- name: Report test coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
files: cover.profile |