|
5 | 5 | branches: [main, dev] |
6 | 6 | paths: |
7 | 7 | - 'src/server/api/go/go.mod' |
| 8 | + - 'src/server/api/go/go.sum' |
| 9 | + - 'src/client/acontext-cli/go.mod' |
| 10 | + - 'src/client/acontext-cli/go.sum' |
8 | 11 | - 'src/server/core/pyproject.toml' |
| 12 | + - 'src/server/core/uv.lock' |
9 | 13 | - 'src/client/acontext-py/pyproject.toml' |
| 14 | + - 'src/client/acontext-py/uv.lock' |
10 | 15 | - 'src/client/acontext-ts/package.json' |
| 16 | + - 'src/client/acontext-ts/package-lock.json' |
11 | 17 | - 'src/server/ui/package.json' |
| 18 | + - 'src/server/ui/pnpm-lock.yaml' |
12 | 19 | - '.github/workflows/security-scan.yaml' |
| 20 | + - '.github/workflows/security-reusable.yaml' |
13 | 21 | pull_request: |
14 | 22 | branches: [main, dev] |
15 | 23 | paths: |
16 | 24 | - 'src/server/api/go/go.mod' |
| 25 | + - 'src/server/api/go/go.sum' |
| 26 | + - 'src/client/acontext-cli/go.mod' |
| 27 | + - 'src/client/acontext-cli/go.sum' |
17 | 28 | - 'src/server/core/pyproject.toml' |
| 29 | + - 'src/server/core/uv.lock' |
18 | 30 | - 'src/client/acontext-py/pyproject.toml' |
| 31 | + - 'src/client/acontext-py/uv.lock' |
19 | 32 | - 'src/client/acontext-ts/package.json' |
| 33 | + - 'src/client/acontext-ts/package-lock.json' |
20 | 34 | - 'src/server/ui/package.json' |
| 35 | + - 'src/server/ui/pnpm-lock.yaml' |
21 | 36 | - '.github/workflows/security-scan.yaml' |
| 37 | + - '.github/workflows/security-reusable.yaml' |
22 | 38 | workflow_dispatch: |
23 | 39 |
|
24 | 40 | jobs: |
25 | | - go-vulncheck: |
26 | | - name: Go Vulnerability Check |
27 | | - runs-on: ubuntu-latest |
28 | | - steps: |
29 | | - - name: Checkout |
30 | | - uses: actions/checkout@v4 |
31 | | - - name: Setup Go |
32 | | - uses: actions/setup-go@v5 |
33 | | - with: |
34 | | - go-version-file: src/server/api/go/go.mod |
35 | | - cache: true |
36 | | - - name: Run govulncheck |
37 | | - working-directory: src/server/api/go |
38 | | - run: | |
39 | | - go install golang.org/x/vuln/cmd/govulncheck@latest |
40 | | - govulncheck ./... |
41 | | -
|
42 | | - python-audit: |
43 | | - name: Python Security Audit |
44 | | - runs-on: ubuntu-latest |
45 | | - steps: |
46 | | - - name: Checkout |
47 | | - uses: actions/checkout@v4 |
48 | | - - name: Install uv |
49 | | - uses: astral-sh/setup-uv@v5 |
50 | | - - name: Setup Python |
51 | | - uses: actions/setup-python@v5 |
52 | | - with: |
53 | | - python-version: '3.12' |
54 | | - - name: Install pip-audit |
55 | | - run: pip install pip-audit |
56 | | - - name: Audit Projects |
57 | | - run: | |
58 | | - for dir in src/server/core src/client/acontext-py; do |
59 | | - cd $dir |
60 | | - uv export --format requirements-txt --no-hashes --no-dev > reqs.txt |
61 | | - pip-audit -r reqs.txt |
62 | | - rm reqs.txt |
63 | | - cd - > /dev/null |
64 | | - done |
65 | | -
|
66 | | - js-audit: |
67 | | - name: JS/TS Security Audit |
68 | | - runs-on: ubuntu-latest |
69 | | - steps: |
70 | | - - name: Checkout |
71 | | - uses: actions/checkout@v4 |
72 | | - - name: Setup Node |
73 | | - uses: actions/setup-node@v4 |
74 | | - with: |
75 | | - node-version: '20' |
76 | | - - name: Audit TS SDK |
77 | | - working-directory: src/client/acontext-ts |
78 | | - run: npm audit --audit-level=high |
79 | | - - name: Audit UI |
80 | | - working-directory: src/server/ui |
81 | | - run: | |
82 | | - npm install -g pnpm |
83 | | - pnpm audit --audit-level=high |
| 41 | + security: |
| 42 | + uses: ./.github/workflows/security-reusable.yaml |
0 commit comments