Skip to content

Switch to a maintained YAML library #275

Switch to a maintained YAML library

Switch to a maintained YAML library #275

Workflow file for this run

name: Integration tests
on:
# don't build any branch other than master (and prs) when git pushed
pull_request: {}
push:
branches:
- master
- "/^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$/"
paths-ignore:
- "**/*.md"
permissions:
contents: read
pull-requests: read
jobs:
lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: v2.12.2
coverage:
name: coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Unit tests and coverage
run: make cov
build:
needs: [lint, coverage]
runs-on: ubuntu-latest
outputs:
artifact-id: ${{ steps.artifact-upload.outputs.artifact-id }}
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Build binaries for integration tests
run: make build
- uses: actions/upload-artifact@v7
id: artifact-upload
with:
name: binaries
retention-days: 1
archive: true
path: release/*
integration-test-linux:
needs: build
name: Integration tests (ubuntu-latest)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro:
- rockylinux9
- bullseye
- jammy
- arch
- alpine3
steps:
- uses: actions/checkout@v7
- uses: actions/download-artifact@v8
with:
artifact-ids: ${{ needs.build.outputs.artifact-id }}
path: release
- shell: bash
run: chmod +x release/*
- name: Integration tests
shell: bash
working-directory: integration-tests
run: ./test.sh ${{ matrix.distro }} amd64
integration-test-other:
needs: build
name: Integration tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v7
- uses: actions/download-artifact@v8
with:
artifact-ids: ${{ needs.build.outputs.artifact-id }}
path: release
- shell: bash
run: chmod +x release/*
- name: Integration tests
shell: bash
working-directory: integration-tests
run: |
case "${{ matrix.os }}" in
macos-*)
platform_spec="darwin-arm64"
;;
windows-*)
platform_spec="windows-amd64"
;;
*)
echo "Unexpected platform"
esac
./run-validate-tests.sh $platform_spec
./run-serve-tests.sh $platform_spec