chore: test race #122
Workflow file for this run
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
on: [push, pull_request, workflow_dispatch] | |
name: Test | |
env: | |
PACT_BROKER_BASE_URL: https://testdemo.pactflow.io | |
PACT_BROKER_TOKEN: ${{ secrets.PACT_BROKER_TOKEN }} | |
APP_SHA: ${{ github.sha }} | |
APP_REF: ${{ github.ref }} | |
LD_LIBRARY_PATH: /tmp | |
PACT_GO_LIB_DOWNLOAD_PATH: /tmp | |
LOG_LEVEL: info | |
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
PACT_DO_NOT_TRACK: true | |
jobs: | |
test: | |
strategy: | |
matrix: | |
go-version: [ # https://endoflife.date/go | |
# 1.17.x, # Ended 02 Aug 2022 | |
# 1.18.x, # Ended 01 Feb 2023 | |
# 1.19.x, # Ended 8 Aug 2023 | |
'1.20', # Ended 06 Feb 2024 | |
'1.21', | |
'1.22' | |
] | |
os: [ | |
ubuntu-22.04, # We use this OS to run a build against our docker image | |
ubuntu-latest, | |
macos-12, | |
macos-14 | |
] | |
experimental: [false] | |
exclude: | |
- go-version: '1.22' | |
os: ubuntu-latest | |
- go-version: '1.22' | |
os: ubuntu-22.04 | |
- go-version: '1.22' | |
os: macos-12 | |
include: | |
- go-version: '1.22' | |
os: ubuntu-latest | |
experimental: true | |
- go-version: '1.22' | |
os: ubuntu-22.04 | |
experimental: true | |
- go-version: '1.22' | |
os: macos-12 | |
experimental: true | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.experimental }} | |
name: ${{ matrix.os == 'ubuntu-22.04' && 'linux-docker' || matrix.os }}-${{ matrix.go-version }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install Go | |
if: matrix.os != 'ubuntu-22.04' | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- uses: actions/setup-java@v4 # Needed for the Avro example | |
if: matrix.os != 'ubuntu-22.04' | |
with: | |
distribution: 'zulu' | |
java-version: '17' | |
- run: brew install protobuf | |
if: matrix.os == 'macos-14' | |
- name: Unit Test | |
if: matrix.os != 'ubuntu-22.04' | |
run: make ci_unit | |
- name: Build amd64 dockerfile | |
if: matrix.os == 'ubuntu-22.04' | |
run: | | |
docker build \ | |
--platform linux/amd64 \ | |
--build-arg VERSION=${{ matrix.go-version }} \ | |
-f Dockerfile \ | |
-t pactfoundation/pact-go-test-${{ matrix.go-version }} . | |
- name: Unit Test (amd64 docker) | |
if: matrix.os == 'ubuntu-22.04' | |
run: | | |
docker run \ | |
--platform linux/amd64 \ | |
--rm pactfoundation/pact-go-test-${{ matrix.go-version }} | |
- name: Examples with Standalone (amd64 docker) | |
if: matrix.os == 'ubuntu-22.04' | |
run: | | |
docker run \ | |
--platform linux/amd64 \ | |
-e PACT_BROKER_BASE_URL \ | |
-e PACT_BROKER_TOKEN \ | |
-e LOG_LEVEL \ | |
-e APP_SHA \ | |
-e PACT_DO_NOT_TRACK \ | |
-e APP_BRANCH=${APP_REF:11} \ | |
--rm \ | |
pactfoundation/pact-go-test-${{ matrix.go-version }} \ | |
/bin/sh -c "make download_plugins && make install-pact-ruby-cli && PACT_TOOL=ruby make pact" | |
- name: Examples with Standalone | |
if: matrix.os != 'ubuntu-22.04' | |
run: | | |
make install-pact-ruby-standalone | |
APP_BRANCH=${APP_REF:11} PACT_TOOL=standalone make ci_hosted_examples | |
- name: Install goveralls | |
run: go install github.com/mattn/goveralls@latest | |
if: runner.os == 'Linux' && matrix.os != 'ubuntu-22.04' | |
- name: Send coverage | |
run: goveralls -coverprofile=coverage.txt -service=github -parallel | |
if: runner.os == 'Linux' && matrix.os != 'ubuntu-22.04' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: logs-${{ github.job }}-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.go-version }}-${{ matrix.os }}.zip | |
path: ~/.pact/plugins/**/plugin.log | |
if: ${{ always() && matrix.os != 'ubuntu-22.04' }} | |
finish: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel-finished: true |