name: Code Check on: workflow_dispatch: inputs: branch: description: 'Branch to check' required: true default: 'main' permissions: contents: read jobs: check: runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Checkout branch uses: actions/checkout@v3 with: ref: ${{ gitea.event.inputs.branch }} - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 24 - name: Install dependencies run: | set -euo pipefail npm ci --prefer-offline --no-audit 2>&1 | tee install.log env: NODE_OPTIONS: '--max-old-space-size=4096' - name: TypeScript check run: | set -euo pipefail npm run typecheck 2>&1 | tee build.log - name: ESLint check run: | set -euo pipefail npm run lint 2>&1 | tee build.log - name: Upload build log on failure if: failure() uses: actions/upload-artifact@v3 with: name: build-log path: build.log if-no-files-found: ignore - name: Check completed if: success() run: echo "Typecheck and lint passed successfully"