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:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- "js/mobile/**"
|
|
||||||
- "js/desktop/**"
|
- "js/desktop/**"
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
types: [ opened, synchronize, reopened ]
|
types: [ opened, synchronize, reopened ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
mobile:
|
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
|
|
||||||
|
|
||||||
desktop:
|
|
||||||
name: Lint & format check (desktop)
|
name: Lint & format check (desktop)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
defaults:
|
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