Skip to content
File

Blob: .github/workflows/pull.yaml

yaml78 lines
1name: PR
2on:
3 pull_request:
4 branches:
5 - main
6 paths-ignore:
7 - "**.md"
8 
9jobs:
10 testing:
11 name: Short Tests with Race Detector
12 runs-on: ${{ matrix.os }}
13 strategy:
14 fail-fast: false
15 matrix:
16 os: ["ubuntu-latest", "macos-latest", "windows-latest"]
17 go: ["1.27.1"]
18 env:
19 OS: ${{ matrix.os }}
20 steps:
21 - name: Checkout repository code
22 uses: actions/checkout@v6
23 - name: Install Go
24 uses: actions/setup-go@v6
25 with:
26 go-version: ${{ matrix.go }}
27 - name: Install node
28 uses: actions/setup-node@v4
29 with:
30 node-version: "22.14.0"
31 cache: "npm"
32 cache-dependency-path: ui/package-lock.json
33 - name: Build UI
34 run: make ui
35 - name: Test with Coverage and Race Detector
36 run: go test -v -short -race -timeout 120s ./...
37 integration:
38 name: Run Integration Tests
39 runs-on: "ubuntu-latest"
40 timeout-minutes: 20
41 steps:
42 - name: Checkout repository code
43 uses: actions/checkout@v6
44 - name: Install Go
45 uses: actions/setup-go@v6
46 with:
47 go-version: "1.27.1"
48 - name: Install node
49 uses: actions/setup-node@v4
50 with:
51 node-version: "22.14.0"
52 cache: "npm"
53 cache-dependency-path: ui/package-lock.json
54 - name: Build UI
55 run: make ui
56 - name: Run Integration Tests with Race Detector
57 run: make integration_test TIMEOUT=600s
58 full:
59 name: Run Full Test Suite
60 runs-on: ubuntu-latest
61 steps:
62 - name: Checkout repository code
63 uses: actions/checkout@v6
64 - name: Install Go
65 uses: actions/setup-go@v6
66 with:
67 go-version: "1.27.1"
68 - name: Install node
69 uses: actions/setup-node@v4
70 with:
71 node-version: "22.14.0"
72 cache: "npm"
73 cache-dependency-path: ui/package-lock.json
74 - name: Build UI
75 run: make ui
76 - name: Test short, long, extended, and concurrency validation
77 run: make full_test TIMEOUT=600s