| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- name: CI
- on:
- pull_request:
- paths:
- - "**.go"
- - "go.mod"
- - "go.sum"
- - "**.js"
- - "**.mjs"
- - "**.cjs"
- - "**.ts"
- - "**.vue"
- - "**.html"
- - "**.css"
- - "frontend/package.json"
- - "frontend/package-lock.json"
- - ".nvmrc"
- push:
- branches:
- - main
- paths:
- - "**.go"
- - "go.mod"
- - "go.sum"
- - "**.js"
- - "**.mjs"
- - "**.cjs"
- - "**.ts"
- - "**.vue"
- - "**.html"
- - "**.css"
- - "frontend/package.json"
- - "frontend/package-lock.json"
- - ".nvmrc"
- permissions:
- contents: read
- jobs:
- go-test:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v6
- - uses: actions/setup-go@v6
- with:
- go-version-file: go.mod
- cache: true
- - name: Stub web/dist for go:embed
- run: mkdir -p web/dist && touch web/dist/.gitkeep
- - name: Test
- run: |
- go list ./... | grep -v '/frontend/node_modules/' > /tmp/go-packages.txt
- go test $(cat /tmp/go-packages.txt)
- govulncheck:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v6
- - uses: actions/setup-go@v6
- with:
- go-version-file: go.mod
- cache: true
- - name: Stub web/dist for go:embed
- run: mkdir -p web/dist && touch web/dist/.gitkeep
- - name: Install govulncheck
- run: go install golang.org/x/vuln/cmd/govulncheck@latest
- - name: Run govulncheck
- run: govulncheck ./...
- frontend:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v6
- - uses: actions/setup-node@v5
- with:
- node-version-file: .nvmrc
- cache: npm
- cache-dependency-path: frontend/package-lock.json
- - name: Install
- run: npm ci
- working-directory: frontend
- - name: Lint
- run: npm run lint
- working-directory: frontend
- - name: Build
- run: npm run build
- working-directory: frontend
- - name: Audit
- run: npm audit --audit-level=high
- working-directory: frontend
|