Files
backrest/.github/workflows/test.yml
2025-08-03 17:35:52 -07:00

90 lines
1.8 KiB
YAML

# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
name: Test
on:
push:
branches: ["main"]
paths-ignore:
- "docs/**"
- "*.md"
pull_request:
branches: ["main"]
paths-ignore:
- "docs/**"
- "*.md"
workflow_dispatch:
jobs:
test-nix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.24"
- name: Install gotestsum
run: go install gotest.tools/gotestsum@latest
- name: Create Fake WebUI Sources
run: |
mkdir -p webui/dist
# Create an empty gzip file for testing
gzip -c /dev/null > webui/dist/index.html.gz
- name: Build
run: go build ./...
- name: Test
run: PATH=$(pwd):$PATH gotestsum ./... -- --race
test-ui-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Install dependencies
run: cd webui && pnpm install
- name: Build UI
run: cd webui && pnpm build
- name: Check UI
run: pnpm run check
- name: Run tests
test-win:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.24"
- name: Create Fake WebUI Sources
run: |
New-Item -Path .\webui\dist-windows\index.html -ItemType File -Force
- name: Build
run: go build ./...
- name: Test
run: go test ./...