diff --git a/.github/workflows/quality-and-test.yml b/.github/workflows/quality-and-test.yml index 4076ea2..f6e53c2 100644 --- a/.github/workflows/quality-and-test.yml +++ b/.github/workflows/quality-and-test.yml @@ -16,9 +16,60 @@ concurrency: cancel-in-progress: true jobs: + auto-format: + name: Auto-fix Formatting + runs-on: ubuntu-latest + if: github.ref != 'refs/heads/main' && github.event_name != 'pull_request' + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 10.15.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: "pnpm" + + - name: Setup Rust + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + components: rustfmt + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Auto-fix Prettier formatting + run: npx prettier --write . --ignore-unknown + + - name: Auto-fix Rust formatting + run: cargo fmt --all --manifest-path src-tauri/Cargo.toml + + - name: Commit formatting fixes + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add . + if ! git diff --staged --quiet; then + git commit -m "🎨 Auto-fix formatting issues" + git push + else + echo "No formatting changes to commit" + fi + formatting: name: Code Formatting Check runs-on: ubuntu-latest + needs: auto-format + if: always() steps: - uses: actions/checkout@v4 diff --git a/docs/github-actions-usage.md b/docs/github-actions-usage.md index 970f3e4..dd08d5e 100644 --- a/docs/github-actions-usage.md +++ b/docs/github-actions-usage.md @@ -15,7 +15,7 @@ Build Pake apps online without installing development tools locally. 3. Fill in the form (same parameters as [CLI options](cli-usage.md)) 4. Click `Run Workflow` - ![Actions Interface](https://raw.githubusercontent.com/tw93/static/main/pake/action.png) +![Actions Interface](https://raw.githubusercontent.com/tw93/static/main/pake/action.png) ### 3. Download App diff --git a/docs/github-actions-usage_CN.md b/docs/github-actions-usage_CN.md index f4f66c0..838574f 100644 --- a/docs/github-actions-usage_CN.md +++ b/docs/github-actions-usage_CN.md @@ -15,7 +15,7 @@ 3. 填写表单(参数与 [CLI 选项](cli-usage_CN.md) 相同) 4. 点击 `Run Workflow` - ![Actions 界面](https://raw.githubusercontent.com/tw93/static/main/pake/action.png) +![Actions 界面](https://raw.githubusercontent.com/tw93/static/main/pake/action.png) ### 3. 下载应用 diff --git a/docs/pake-action.md b/docs/pake-action.md index e07529e..cb84da3 100644 --- a/docs/pake-action.md +++ b/docs/pake-action.md @@ -97,5 +97,5 @@ Use GitHub's matrix strategy to build for multiple platforms simultaneously. ## Related Documentation - [GitHub Actions Usage](github-actions-usage.md) - Using Pake's built-in workflow -- [CLI Usage](cli-usage.md) - Command-line interface reference +- [CLI Usage](cli-usage.md) - Command-line interface reference - [Advanced Usage](advanced-usage.md) - Customization options diff --git a/tests/index.js b/tests/index.js index c29873f..186582d 100644 --- a/tests/index.js +++ b/tests/index.js @@ -899,7 +899,7 @@ class PakeTestRunner { console.log(" ✅ Multi-arch compilation finished!"); }); - // Multi-arch builds take longer - 12 minutes timeout + // Multi-arch builds take longer - 20 minutes timeout const timeout = setTimeout(() => { console.log( " 🔍 Multi-arch build timeout reached, checking for output files...", @@ -933,7 +933,7 @@ class PakeTestRunner { child.kill("SIGTERM"); reject(new Error("Multi-arch build test timeout")); } - }, 720000); // 12 minutes for multi-arch + }, 1200000); // 20 minutes for multi-arch child.on("close", (code) => { clearTimeout(timeout); @@ -1017,7 +1017,7 @@ class PakeTestRunner { child.stdin.end(); }); }, - 750000, // 12+ minutes timeout + 1250000, // 20+ minutes timeout ); }