Bump @lobehub/icons from 5.2.0 to 5.10.0 in /apps/desktop #1029
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| # ββ Stage 1: Install & cache ββββββββββββββββββββββββββββββββββββββββββ | |
| install: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Restore node_modules cache | |
| id: cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - name: Install all dependencies (parallel) | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: | | |
| cd apps/desktop && npm ci & | |
| cd apps/ade-cli && npm ci & | |
| cd apps/web && npm ci & | |
| wait | |
| # ββ Secret scanning (no deps needed) βββββββββββββββββββββββββββββββββββ | |
| secret-scan: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: gitleaks/gitleaks-action@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # ββ Stage 2: Parallel checks ββββββββββββββββββββββββββββββββββββββββββ | |
| typecheck-desktop: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/desktop && npm run typecheck | |
| typecheck-ade-cli: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/ade-cli && npm run typecheck | |
| typecheck-web: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/web && npm run typecheck | |
| lint-desktop: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/desktop && npm run lint | |
| test-desktop: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shard: [1, 2, 3, 4, 5, 6, 7, 8] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/desktop && npx vitest run --shard=${{ matrix.shard }}/8 | |
| test-ade-cli: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/ade-cli && npm test | |
| build: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/desktop && npm run build | |
| - run: cd apps/ade-cli && npm run build | |
| - run: cd apps/web && npm run build | |
| validate-docs: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/ade-cli/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/ade-cli/package-lock.json','apps/web/package-lock.json') }} | |
| - run: node scripts/validate-docs.mjs | |
| # ββ Windows build smoke (self-contained β no shared cache) ββββββββββββ | |
| # Runs the same dist:win pipeline that release-core.yml uses, so a PR | |
| # that would break Windows release is caught here instead of at release | |
| # time. Self-contained because windows-latest node_modules contain | |
| # platform-specific native binaries that can't share a Linux cache. | |
| build-win: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: | | |
| apps/desktop/package-lock.json | |
| apps/ade-cli/package-lock.json | |
| - name: Install desktop dependencies | |
| run: cd apps/desktop && npm ci | |
| - name: Install ADE CLI dependencies | |
| run: cd apps/ade-cli && npm ci | |
| - name: Reset release output | |
| shell: pwsh | |
| run: | | |
| Remove-Item -Recurse -Force apps/desktop/release, apps/desktop/.cache -ErrorAction SilentlyContinue | |
| New-Item -ItemType Directory -Path apps/desktop/.cache | Out-Null | |
| - name: Build and validate Windows release | |
| env: | |
| ELECTRON_CACHE: ${{ github.workspace }}\apps\desktop\.cache\electron | |
| ELECTRON_BUILDER_CACHE: ${{ github.workspace }}\apps\desktop\.cache\electron-builder | |
| run: cd apps/desktop && npm run dist:win | |
| # ββ Gate: all jobs must pass ββββββββββββββββββββββββββββββββββββββββββ | |
| ci-pass: | |
| if: always() | |
| needs: | |
| - install | |
| - secret-scan | |
| - typecheck-desktop | |
| - typecheck-ade-cli | |
| - typecheck-web | |
| - lint-desktop | |
| - test-desktop | |
| - test-ade-cli | |
| - build | |
| - validate-docs | |
| - build-win | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check all jobs passed | |
| run: | | |
| if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]] || | |
| [[ "${{ contains(needs.*.result, 'skipped') }}" == "true" ]] || | |
| [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then | |
| echo "::error::One or more required jobs failed, were skipped, or were cancelled" | |
| exit 1 | |
| fi | |
| echo "All CI jobs passed" |