ci: split pr quality gates for mobile and desktop #268
+2
-31
@@ -1,43 +1,14 @@
|
||||
name: PR Quality Gate (client applications)
|
||||
name: PR Quality Gate (Desktop)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- "js/mobile/**"
|
||||
- "js/desktop/**"
|
||||
branches: [ main ]
|
||||
types: [ opened, synchronize, reopened ]
|
||||
|
||||
jobs:
|
||||
mobile:
|
||||
name: Lint & format check (mobile)
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: js/mobile
|
||||
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
- name: Enable Corepack
|
||||
run: corepack enable
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Run Code Linter
|
||||
run: yarn lint
|
||||
|
||||
- name: Run Format Check
|
||||
run: yarn format:check
|
||||
|
||||
desktop:
|
||||
verify:
|
||||
name: Lint & format check (desktop)
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
@@ -0,0 +1,37 @@
|
||||
name: PR Quality Gate (Mobile)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- "js/mobile/**"
|
||||
branches: [ main ]
|
||||
types: [ opened, synchronize, reopened ]
|
||||
|
||||
jobs:
|
||||
verify:
|
||||
name: Lint & format check (mobile)
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: js/mobile
|
||||
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
|
|
||||
|
||||
- name: Enable Corepack
|
||||
run: corepack enable
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Run Code Linter
|
||||
run: yarn lint
|
||||
|
||||
- name: Run Format Check
|
||||
run: yarn format:check
|
||||
Reference in New Issue
Block a user
⚠️ Potential issue | 🟠 Major
🧩 Analysis chain
🏁 Script executed:
Repository: flowy-live/llink
Length of output: 103
🏁 Script executed:
Repository: flowy-live/llink
Length of output: 104
🏁 Script executed:
Repository: flowy-live/llink
Length of output: 103
🏁 Script executed:
Repository: flowy-live/llink
Length of output: 1941
Pin actions to commit SHAs and disable persisted checkout credentials in CI
.github/workflows/pr-quality-gate-mobile.ymluses mutable tag refs (actions/checkout@v4at line 20,actions/setup-node@v4at line 23) and the checkout step does not setpersist-credentials: false, increasing supply-chain and token exposure risk.Suggested hardening diff
🧰 Tools
🪛 zizmor (1.25.2)
[warning] 19-20: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false
(artipacked)
[error] 20-20: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)
(unpinned-uses)
[error] 23-23: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)
(unpinned-uses)
🤖 Prompt for AI Agents
Source: Linters/SAST tools