Skip to content

test(docker): add debian and alpine images #66

test(docker): add debian and alpine images

test(docker): add debian and alpine images #66

Workflow file for this run

name: Build
on:
push:
workflow_dispatch:
env:
PACT_BROKER_BASE_URL: https://test.pactflow.io
PACT_BROKER_HOST: test.pactflow.io
PACT_BROKER_TOKEN: ${{ secrets.PACTFLOW_TOKEN_FOR_CI_CD_WORKSHOP }}
PACT_BROKER_PUBLISH_VERIFICATION_RESULTS: true
GIT_COMMIT: ${{ github.sha }}
GITHUB_REF: ${{ github.ref }}
SEND_TEST_EVENTS: false
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '^1.22'
- name: install pact-go shared libraries
run: make install
- name: Test
run: GIT_BRANCH=${GITHUB_REF:11} make test
# Runs on branches as well, so we know the status of our PRs
can-i-deploy:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- run: docker pull pactfoundation/pact-cli:latest
- name: Can I deploy?
run: GIT_BRANCH=${GITHUB_REF:11} make can_i_deploy
# Only deploy from master
deploy:
runs-on: ubuntu-latest
needs: can-i-deploy
steps:
- uses: actions/checkout@v4
- run: docker pull pactfoundation/pact-cli:latest
- name: Deploy
run: GIT_BRANCH=${GITHUB_REF:11} make deploy
if: github.ref == 'refs/heads/master'
test-containers:
continue-on-error: ${{ matrix.experimental }}
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }}-${{ matrix.variant }}-${{ matrix.go-version }}-test-container
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
go-version: ["1.22", "1.23"]
variant: [debian]
experimental: [false]
include:
- variant: alpine
go-version: 1.22
experimental: true
os: ubuntu-latest
- variant: alpine
go-version: 1.23
experimental: true
os: ubuntu-latest
- variant: alpine
go-version: 1.22
experimental: true
os: ubuntu-24.04-arm
- variant: alpine
go-version: 1.23
experimental: true
os: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Test dockerfile
run: make docker_test
env:
GO_VERSION: ${{ matrix.go-version }}
IMAGE_VARIANT: ${{ matrix.variant }}