Build and Test #995
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: Build and Test | |
# This workflow builds the code and runs the unit tests and integration tests. | |
# | |
# If this workflow is executed in the context of a fork, the integration tests are | |
# skipped and just the unit tests are executed. See the workflow "Trigger | |
# Integration Tests for Forks" for more details on how the integration tests are | |
# executed for forks. | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
schedule: | |
# this is checking periodically if there are any breaking API changes | |
# Every day at 00:00 | |
- cron: '0 0 * * *' | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
build_test: | |
name: Build and Test | |
permissions: | |
contents: read | |
checks: write | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: 🛠️ Set up Go 1.x | |
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed #v5.1.0 | |
with: | |
go-version: '~1.22' | |
- name: ⬇️ Check out code into the Go module directory | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2 | |
- name: 🏗️ Compile | |
run: make compile | |
- name: 🧪 Unit test | |
run: make test testopts="--junitfile test-result-${{ matrix.os }}-unit.xml" | |
- name: ⬆️ Upload Test Results | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 #v4.4.3 | |
if: always() | |
with: | |
name: Test Results (${{ matrix.os }}) | |
path: test-result-*.xml | |
upload_event: | |
name: "Upload Event File" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Upload | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 #v4.4.3 | |
with: | |
name: event_file | |
path: ${{ github.event_path }} |