new paint infrastructure with improved path, text, and image elements #4445
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: Go | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
workflow_dispatch: | |
inputs: | |
updateTestdata: | |
description: 'Update testdata images' | |
required: true | |
default: true | |
type: boolean | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
- name: Set up Core | |
run: go install ./cmd/core && sudo apt update && core setup | |
- name: "Install video dependencies (TODO: move to a command)" | |
run: sudo add-apt-repository ppa:savoury1/ffmpeg4 && sudo apt install libswscale-dev libavcodec-dev libavformat-dev libswresample-dev libavutil-dev libasound2-dev | |
- name: Build | |
run: go build -v ./... | |
- name: Build Docs (to verify it works on PRs) | |
run: core build web -dir docs -o static | |
- name: Download testdata | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
name: testdata | |
workflow_search: true | |
search_artifacts: true | |
if_no_artifact_found: warn | |
- name: Set CORE_UPDATE_TESTDATA env var | |
if: inputs.updateTestdata | |
run: echo "CORE_UPDATE_TESTDATA=true" >> $GITHUB_ENV | |
# we can't test gpu, xyz, and system on the CI since there is no Vulkan support | |
- name: Test | |
run: go test -v $(go list ./... | grep -v gpu | grep -v xyz | grep -v system) -coverprofile cover.out -timeout 30s | |
- name: Upload testdata | |
uses: actions/upload-artifact@v4 | |
with: | |
name: testdata | |
path: "**/testdata/**/*.png" | |
- name: Upload failure testdata | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: testdata-fail | |
path: "**/testdata/**/*.png" | |
- name: Update coverage report | |
uses: ncruces/go-coverage-report@v0 | |
with: | |
coverage-file: cover.out | |
if: github.event_name == 'push' |