diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 35ed4a6a..865ac222 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,9 +22,6 @@ env: CI_RELEASE_TAG: ci-build-${{ github.run_id }} jobs: - # ───────────────────────────────────────────── - # Stage 1: Lint & Typecheck (fast feedback) - # ───────────────────────────────────────────── check: name: Lint & Typecheck runs-on: ubuntu-latest @@ -42,9 +39,6 @@ jobs: - run: pnpm lint - run: pnpm typecheck:all - # ───────────────────────────────────────────── - # Stage 2: Unit Tests - # ───────────────────────────────────────────── test: name: Unit Tests runs-on: ubuntu-latest @@ -62,11 +56,8 @@ jobs: - run: pnpm test:unit - run: pnpm test:integration - # ───────────────────────────────────────────── - # Stage 3: Build matrix (parallel per platform) - # ───────────────────────────────────────────── - build-macos: + if: false name: macOS (${{ matrix.arch }}) runs-on: ${{ matrix.runner }} needs: test @@ -84,49 +75,9 @@ jobs: builder_args: --mac --x64 steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - with: - version: ${{ env.PNPM_VERSION }} - - uses: actions/setup-node@v4 - with: - node-version: ${{ env.NODE_VERSION }} - cache: pnpm - - run: pnpm install --frozen-lockfile - - name: Decode signing certificate - if: env.CERT_B64 != '' - env: - CERT_B64: ${{ secrets.MAC_CERTIFICATE_P12_BASE64 }} - run: echo "$CERT_B64" | base64 --decode > /tmp/cert.p12 - - name: Build electron-vite - run: pnpm exec electron-vite build - - name: Package & sign - run: pnpm exec electron-builder ${{ matrix.builder_args }} --config electron-builder.yml --publish never - env: - CSC_LINK: ${{ secrets.MAC_CERTIFICATE_P12_BASE64 != '' && '/tmp/cert.p12' || '' }} - CSC_KEY_PASSWORD: ${{ secrets.MAC_CERTIFICATE_PASSWORD }} - CSC_IDENTITY_AUTO_DISCOVERY: ${{ secrets.MAC_CERTIFICATE_P12_BASE64 != '' && 'true' || 'false' }} - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - - name: Upload release files - env: - GH_TOKEN: ${{ github.token }} - run: | - gh release view "$CI_RELEASE_TAG" >/dev/null 2>&1 || \ - gh release create "$CI_RELEASE_TAG" \ - --draft \ - --prerelease \ - --title "CI Build $GITHUB_RUN_ID" \ - --notes "Temporary build artifact transport for Cloudflare publication." \ - --target "$GITHUB_SHA" - gh release upload "$CI_RELEASE_TAG" \ - build/release/*.dmg \ - build/release/*.zip \ - build/release/*.blockmap \ - build/release/latest-mac.yml \ - --clobber build-windows: + if: false name: Windows (${{ matrix.arch }}) runs-on: windows-latest needs: test @@ -142,38 +93,6 @@ jobs: builder_args: --win --arm64 steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - with: - version: ${{ env.PNPM_VERSION }} - - uses: actions/setup-node@v4 - with: - node-version: ${{ env.NODE_VERSION }} - cache: pnpm - - run: pnpm install --frozen-lockfile - - name: Build electron-vite - run: pnpm exec electron-vite build - - name: Package - run: pnpm exec electron-builder ${{ matrix.builder_args }} --config electron-builder.yml --publish never - env: - CSC_LINK: ${{ secrets.WIN_CERTIFICATE_P12_BASE64 }} - CSC_KEY_PASSWORD: ${{ secrets.WIN_CERTIFICATE_PASSWORD }} - - name: Upload release files - shell: bash - env: - GH_TOKEN: ${{ github.token }} - run: | - gh release view "$CI_RELEASE_TAG" >/dev/null 2>&1 || \ - gh release create "$CI_RELEASE_TAG" \ - --draft \ - --prerelease \ - --title "CI Build $GITHUB_RUN_ID" \ - --notes "Temporary build artifact transport for Cloudflare publication." \ - --target "$GITHUB_SHA" - gh release upload "$CI_RELEASE_TAG" \ - build/release/*.exe \ - build/release/*.blockmap \ - build/release/latest.yml \ - --clobber build-linux: name: Linux (${{ matrix.arch }}) @@ -221,45 +140,15 @@ jobs: build/release/*.AppImage \ build/release/*.deb \ build/release/*.rpm \ - build/release/*.blockmap \ build/release/latest-linux.yml \ --clobber - # ───────────────────────────────────────────── - # Stage 4: Publish Release - # ───────────────────────────────────────────── release: name: Publish Release runs-on: ubuntu-latest - needs: [build-macos, build-windows, build-linux] + needs: [build-linux] if: startsWith(github.ref, 'refs/tags/v') || github.event.inputs.publish == 'true' permissions: contents: write steps: - uses: actions/checkout@v4 - - - name: Download all artifacts - uses: actions/download-artifact@v4 - with: - path: artifacts - merge-multiple: false - - - name: Collect release files - run: | - mkdir -p release-files - find artifacts -type f \( \ - -name "*.dmg" -o -name "*.zip" -o -name "*.exe" \ - -o -name "*.AppImage" -o -name "*.deb" -o -name "*.rpm" \ - -o -name "*.snap" -o -name "*.blockmap" \ - -o -name "latest*.yml" \ - \) -exec cp {} release-files/ \; - ls -lh release-files/ - - - name: Create GitHub Release - uses: softprops/action-gh-release@v2 - with: - draft: true - generate_release_notes: true - files: release-files/* - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}