1+ name : Test Development Scripts
2+
3+ on :
4+ pull_request :
5+ paths :
6+ - scripts/**
7+ workflow_dispatch :
8+
9+ jobs :
10+ test-dev-scripts :
11+ name : Test Development Scripts
12+ runs-on : ${{ matrix.os }}
13+ strategy :
14+ matrix :
15+ include :
16+ - os : ubuntu-latest
17+ name : linux
18+ shell : bash
19+ script : ./scripts/dev.sh
20+
21+ - os : windows-latest
22+ name : windows-powershell
23+ shell : pwsh
24+ script : .\scripts\dev.ps1
25+
26+ - os : windows-latest
27+ name : windows-cmd
28+ shell : cmd
29+ script : scripts\dev.cmd
30+
31+ - os : macos-latest
32+ name : macos
33+ shell : bash
34+ script : ./scripts/dev.sh
35+
36+ steps :
37+ - uses : actions/checkout@v4
38+
39+ - name : Setup Go
40+ uses : actions/setup-go@v4
41+ with :
42+ go-version : " 1.21.3"
43+
44+ - name : Setup Node.js
45+ uses : actions/setup-node@v4
46+ with :
47+ node-version : ' 18'
48+ cache : ' npm'
49+
50+ - name : Install tmux (Linux/macOS)
51+ if : matrix.os != 'windows-latest'
52+ run : |
53+ if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then
54+ sudo apt-get update && sudo apt-get install -y tmux
55+ elif [ "${{ matrix.os }}" = "macos-latest" ]; then
56+ brew install tmux
57+ fi
58+ shell : bash
59+
60+ - name : Make script executable (Unix)
61+ if : matrix.os != 'windows-latest'
62+ run : chmod +x scripts/dev.sh
63+ shell : bash
64+
65+ - name : Test script help/usage
66+ run : ${{ matrix.script }}
67+ shell : ${{ matrix.shell }}
68+ continue-on-error : true
69+
70+ - name : Test dependency check
71+ run : ${{ matrix.script }} setup
72+ shell : ${{ matrix.shell }}
73+
74+ - name : Test build command
75+ run : ${{ matrix.script }} build
76+ shell : ${{ matrix.shell }}
77+ continue-on-error : true
78+
79+ - name : Test backend build (quick test)
80+ run : ${{ matrix.script }} test
81+ shell : ${{ matrix.shell }}
82+ continue-on-error : true
0 commit comments