Merge pull request #60 from cybozu-go/update-actions #275
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: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- 'main' | |
jobs: | |
build: | |
name: Build binaries | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- uses: ./.github/actions/aqua | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
- run: make build | |
check-goreleaser-config: | |
name: Check goreleaser.yml | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- uses: goreleaser/goreleaser-action@v6 | |
with: | |
version: latest | |
args: check -f .goreleaser.yml | |
test: | |
name: Small tests | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- uses: ./.github/actions/aqua | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
- run: make test | |
- run: make check-generate | |
- run: make envtest | |
e2e: | |
name: End-to-End Tests | |
strategy: | |
matrix: | |
k8s-version: | |
- v1.28.13 # renovate: kindest/node | |
- v1.29.8 # renovate: kindest/node | |
- v1.30.4 # renovate: kindest/node | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- uses: ./.github/actions/aqua | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
- run: make start KUBERNETES_VERSION=${{ matrix.k8s-version }} | |
working-directory: e2e | |
- run: make test | |
working-directory: e2e | |
- run: make logs | |
working-directory: e2e | |
if: always() | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: logs-${{ matrix.k8s-version }}.tar.gz | |
path: e2e/logs.tar.gz | |
tilt: | |
name: Run tilt ci | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- uses: ./.github/actions/aqua | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
- run: make dev | |
- run: tilt ci | |
dry-run: | |
name: Dry-run release | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-qemu-action@v3 | |
- uses: docker/setup-buildx-action@v3 | |
- name: Setup go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- uses: ./.github/actions/aqua | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup tag for goreleaser | |
run: | | |
echo "GORELEASER_CURRENT_TAG=$(git describe --tags --abbrev=0 --match "v*" || echo v0.0.0)" >> $GITHUB_ENV | |
- name: GoReleaser | |
uses: goreleaser/goreleaser-action@v6 | |
with: | |
version: latest | |
args: --snapshot --skip=publish --clean | |
- name: Test built containers | |
run: make container-structure-test |