feat: Android client (Flutter + sing-box libbox, arm64-v8a) and audited Windows security fixes #138
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: Windows quality gate | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: quality-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| quality: | |
| name: Lint, test, typecheck, and compile (Windows x64) | |
| runs-on: windows-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Check out source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Enable pnpm | |
| uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 | |
| with: | |
| version: 10.27.0 | |
| run_install: false | |
| - name: Set up Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - name: Install locked dependencies without lifecycle downloads | |
| run: pnpm install --frozen-lockfile --ignore-scripts | |
| - name: Check formatting | |
| run: pnpm run format:check | |
| - name: Check lint | |
| run: pnpm run lint:check | |
| - name: Check types | |
| run: pnpm run typecheck | |
| - name: Run offline unit tests | |
| run: pnpm run test:ci | |
| - name: Run isolated fake-core runtime smoke | |
| run: pnpm run smoke:runtime | |
| - name: Test the CI-only Electron smoke safety boundary | |
| run: pnpm run test:electron-smoke | |
| - name: Test the production Electron smoke safety boundary | |
| run: pnpm run test:electron-prod-smoke | |
| - name: Test the locked resource verifier itself | |
| run: node --test scripts/prepare.test.mjs | |
| - name: Test the fail-closed third-party license audit | |
| run: pnpm run test:licenses | |
| - name: Test the fail-closed translation-key audit | |
| run: pnpm run test:i18n | |
| - name: Test final release extraction safety logic | |
| run: pnpm run test:verify-release | |
| - name: Compile Electron application | |
| run: pnpm run build | |
| - name: Reject retired optional tools in production output | |
| run: pnpm run verify:retired-output | |
| - name: Install the locked Electron runtime for the process smoke | |
| run: pnpm rebuild electron | |
| - name: Launch the production renderer in the isolated Electron process smoke | |
| env: | |
| AIKOBOX_ELECTRON_SMOKE_TOKEN: aikobox-github-windows-electron-smoke-v1 | |
| run: pnpm run smoke:electron:ci |