Skip to content

feat: Add Go Gin API (016) + Angular UI (017) #364

feat: Add Go Gin API (016) + Angular UI (017)

feat: Add Go Gin API (016) + Angular UI (017) #364

Workflow file for this run

name: Verify PR
on:
pull_request:
branches: [main]
jobs:
build:
name: verify-pr
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for docs-only changes
id: docs-check
uses: tj-actions/changed-files@v46
with:
files: |
docs/**
*.md
**/*.md
**/*.mermaid
**/*.txt
docs/**/*.png
docs/**/*.jpg
.agent*/**
.claude/**
.github/**/*.md
.specifykit/**
.vscode/**
.gitignore
docker-compose.yml
cspell.config.yaml
files_ignore: |
package.json
**/package.json
- name: Use Node.js from .node-version
if: steps.docs-check.outputs.only_changed == 'false'
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
- name: Install uv and Python
if: steps.docs-check.outputs.only_changed == 'false'
uses: astral-sh/setup-uv@v5
with:
python-version: '3.14'
- name: Install Python dependencies
if: steps.docs-check.outputs.only_changed == 'false'
run: cd fastapi && uv sync --extra dev
- name: Set up Go
if: steps.docs-check.outputs.only_changed == 'false'
uses: actions/setup-go@v5
with:
go-version: '1.24'
cache-dependency-path: go-api/go.sum
- name: Install govulncheck
if: steps.docs-check.outputs.only_changed == 'false'
run: go install golang.org/x/vuln/cmd/govulncheck@latest
- name: Install golangci-lint
if: steps.docs-check.outputs.only_changed == 'false'
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.10.1
- name: Run Security Audit
if: steps.docs-check.outputs.only_changed == 'false'
run: npm run audit:ci:all
- name: Install npm packages
if: steps.docs-check.outputs.only_changed == 'false'
run: npm run ci:all
- name: Lint
if: steps.docs-check.outputs.only_changed == 'false'
run: npm run lint:all
- name: Build
if: steps.docs-check.outputs.only_changed == 'false'
run: npm run build:all
- name: Test
if: steps.docs-check.outputs.only_changed == 'false'
run: npm run test:all