|
9 | 9 | runs-on: cx-public-ubuntu-x64 |
10 | 10 | steps: |
11 | 11 | - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 |
| 12 | + - name: Verify single lockfile (Step 0 - Supply Chain Policy) |
| 13 | + run: | |
| 14 | + if [ -f yarn.lock ] && [ -f package-lock.json ]; then |
| 15 | + echo "❌ ERROR: Both yarn.lock and package-lock.json found. Policy requires exactly ONE package manager. Allowed: npm + package-lock.json OR Yarn + yarn.lock" |
| 16 | + exit 1 |
| 17 | + fi |
| 18 | + if [ ! -f yarn.lock ] && [ ! -f package-lock.json ]; then |
| 19 | + echo "❌ ERROR: No lockfile found. Policy requires exactly ONE package manager lockfile. Required: npm + package-lock.json OR Yarn + yarn.lock" |
| 20 | + exit 1 |
| 21 | + fi |
12 | 22 | - name: Use Node.js 22.11.0 |
13 | 23 | uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 |
14 | 24 | with: |
15 | 25 | node-version: 22.11.0 |
16 | 26 | registry-url: https://npm.pkg.github.com/ |
17 | | - - run: npm ci |
| 27 | + - run: npm ci --ignore-scripts |
18 | 28 | - name: Run Unit Tests |
19 | 29 |
|
20 | 30 | run: npm run test:unit |
21 | 31 | integration-tests: |
22 | 32 | runs-on: cx-public-ubuntu-x64 |
23 | 33 | steps: |
24 | 34 | - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 |
| 35 | + - name: Verify single lockfile (Step 0 - Supply Chain Policy) |
| 36 | + run: | |
| 37 | + if [ -f yarn.lock ] && [ -f package-lock.json ]; then |
| 38 | + echo "❌ ERROR: Both yarn.lock and package-lock.json found. Policy requires exactly ONE package manager. Allowed: npm + package-lock.json OR Yarn + yarn.lock" |
| 39 | + exit 1 |
| 40 | + fi |
| 41 | + if [ ! -f yarn.lock ] && [ ! -f package-lock.json ]; then |
| 42 | + echo "❌ ERROR: No lockfile found. Policy requires exactly ONE package manager lockfile. Required: npm + package-lock.json OR Yarn + yarn.lock" |
| 43 | + exit 1 |
| 44 | + fi |
25 | 45 | - name: Use Node.js 22.11.0 |
26 | 46 | uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 |
27 | 47 | with: |
28 | 48 | node-version: 22.11.0 |
29 | 49 | registry-url: https://npm.pkg.github.com/ |
30 | | - - run: npm ci |
| 50 | + - run: npm ci --ignore-scripts |
31 | 51 | - name: Code Linting |
32 | 52 | run: npm run lint |
33 | 53 | - run: npm run build --if-present |
|
0 commit comments