1name: Test
2
3on:
4 push:
5 branches:
6 - main
7 pull_request:
8 branches:
9 - main
10
11jobs:
12 test:
13 runs-on: ubuntu-latest
14 steps:
15 - name: Checkout
16 uses: actions/checkout@v4
17
18 - name: Set up Go
19 uses: actions/setup-go@v5
20 with:
21 go-version: '1.24'
22 cache: true
23
24 - name: Set up pnpm
25 uses: pnpm/action-setup@v4
26 with:
27 version: 9
28
29 - name: Set up Node.js
30 uses: actions/setup-node@v4
31 with:
32 node-version: '24'
33 cache: 'pnpm'
34 cache-dependency-path: ui/pnpm-lock.yaml
35
36 - name: Build UI
37 run: |
38 cd ui
39 pnpm install --frozen-lockfile
40 pnpm run build
41
42 - name: Build templates
43 run: |
44 for dir in templates/*/; do
45 name=$(basename "$dir")
46 echo "Creating $name.tar.gz..."
47 tar -czf "templates/$name.tar.gz" -C "templates/$name" --exclude='.DS_Store' .
48 done
49
50 - name: Run Go tests
51 run: go test -v ./...