[test] test in actuated runners #182
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
name: validate | |
on: | |
push: | |
tags: | |
- v* | |
branches: | |
- master | |
pull_request: | |
jobs: | |
commit: | |
runs-on: ubuntu-22.04 | |
# Only check commits on pull requests. | |
if: github.event_name == 'pull_request' | |
steps: | |
- name: get pr commits | |
id: 'get-pr-commits' | |
uses: tim-actions/get-pr-commits@v1.3.1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: check subject line length | |
uses: tim-actions/commit-message-checker-with-regex@v0.3.2 | |
with: | |
commits: ${{ steps.get-pr-commits.outputs.commits }} | |
pattern: '^.{0,72}(\n.*)*$' | |
error: 'Subject too long (max 72)' | |
lint: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22.x | |
- uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.61 | |
codespell: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install deps | |
# Version of codespell bundled with Ubuntu is way old, so use pip. | |
run: pip install codespell | |
- name: run codespell | |
run: codespell | |
cross: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: cross | |
run: make build-cross | |
test-stubs: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22.x | |
- uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.61 | |
- name: test-stubs | |
run: make test | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
go-version: [1.21.x, 1.22.x, 1.23.x] | |
race: ["-race", ""] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install go ${{ matrix.go-version }} | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: build | |
run: make BUILDFLAGS="${{ matrix.race }}" build | |
- name: test | |
run: make TESTFLAGS="${{ matrix.race }}" test | |
- name: test 32-bit | |
if: ${{ matrix.race }} == "" # -race is not supported on linux/386 | |
run: make GOARCH=386 test | |
test-actuated: | |
runs-on: actuated-arm64-6cpu-8gb | |
steps: | |
# https://gist.github.com/alexellis/1f33e581c75e11e161fe613c46180771#file-metering-gha-md | |
# vmmeter start | |
- name: Prepare arkade | |
uses: alexellis/arkade-get@master | |
with: | |
crane: latest | |
print-summary: false | |
- name: Install vmmeter | |
run: | | |
crane export --platform linux/arm64 ghcr.io/openfaasltd/vmmeter:latest | sudo tar -xvf - -C /usr/local/bin | |
- name: Run vmmeter | |
uses: self-actuated/vmmeter-action@master | |
# vmmeter end | |
- uses: actions/checkout@v4 | |
- name: install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.23.x | |
- name: build | |
run: make build | |
- name: test | |
run: make test | |
- name: test -race | |
run: make TESTFLAGS="-race" test | |
- name: test 32-bit | |
run: make GOARCH=arm test | |
all-done: | |
needs: | |
- commit | |
- lint | |
- codespell | |
- cross | |
- test-stubs | |
- test | |
- test-actuated | |
runs-on: ubuntu-22.04 | |
steps: | |
- run: echo "All jobs completed" |