diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbb39be..3d6653a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,6 +31,10 @@ jobs: - os: ubuntu-latest rust: nightly allow-failure: true + # Use self-hosted runner for Linux stable builds + - os: self-hosted + rust: stable + allow-failure: false runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.allow-failure || false }} @@ -124,7 +128,8 @@ jobs: wasm: name: WebAssembly Tests - runs-on: ubuntu-latest + # Use self-hosted runner for WASM builds + runs-on: self-hosted steps: - name: Checkout repository @@ -159,7 +164,8 @@ jobs: msrv: name: Minimum Supported Rust Version - runs-on: ubuntu-latest + # Use self-hosted runner for MSRV checks + runs-on: self-hosted steps: - name: Checkout repository @@ -192,7 +198,8 @@ jobs: security: name: Security Audit - runs-on: ubuntu-latest + # Use self-hosted runner for security audits + runs-on: self-hosted steps: - name: Checkout repository @@ -231,7 +238,8 @@ jobs: coverage: name: Code Coverage - runs-on: ubuntu-latest + # Use self-hosted runner for coverage analysis + runs-on: self-hosted if: github.event_name == 'push' && github.ref == 'refs/heads/main' steps: @@ -281,7 +289,8 @@ jobs: performance: name: Performance Regression - runs-on: ubuntu-latest + # Use self-hosted runner for performance benchmarks + runs-on: self-hosted if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/main') steps: @@ -378,7 +387,8 @@ jobs: docs: name: Documentation - runs-on: ubuntu-latest + # Use self-hosted runner for documentation builds + runs-on: self-hosted if: github.event_name == 'push' && github.ref == 'refs/heads/main' steps: diff --git a/.github/workflows/deploy-worker.yml b/.github/workflows/deploy-worker.yml index 629e035..a794c3e 100644 --- a/.github/workflows/deploy-worker.yml +++ b/.github/workflows/deploy-worker.yml @@ -30,7 +30,8 @@ env: jobs: deploy-worker: name: Deploy Worker to Cloudflare - runs-on: ubuntu-latest + # Use self-hosted runner for worker deployments + runs-on: self-hosted steps: - name: Checkout repository diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 92bd6c0..34ed0bc 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -19,7 +19,8 @@ env: jobs: build-and-deploy: name: Build and Deploy to Cloudflare Pages - runs-on: ubuntu-latest + # Use self-hosted runner for faster builds and deployments + runs-on: self-hosted steps: - name: Checkout repository diff --git a/.github/workflows/netlify-deploy.yml b/.github/workflows/netlify-deploy.yml index 637776c..a1ecb82 100644 --- a/.github/workflows/netlify-deploy.yml +++ b/.github/workflows/netlify-deploy.yml @@ -18,7 +18,8 @@ env: jobs: build-and-deploy: name: Build and Deploy to Netlify - runs-on: ubuntu-latest + # Use self-hosted runner for faster builds and deployments + runs-on: self-hosted steps: - name: Checkout repository diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a638a4f..c44c29a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,7 +12,8 @@ permissions: jobs: create-release: name: Create Release - runs-on: ubuntu-latest + # Use self-hosted runner for release creation + runs-on: self-hosted outputs: upload_url: ${{ steps.release.outputs.upload_url }} version: ${{ steps.version.outputs.version }} @@ -252,7 +253,8 @@ jobs: build-deb: name: Build Debian Package needs: [create-release] - runs-on: ubuntu-latest + # Use self-hosted runner for Debian package builds + runs-on: self-hosted steps: - name: Checkout repository @@ -318,7 +320,8 @@ jobs: docker: name: Build Docker Image needs: [create-release] - runs-on: ubuntu-latest + # Use self-hosted runner for Docker builds + runs-on: self-hosted steps: - name: Checkout repository @@ -359,7 +362,8 @@ jobs: publish-crate: name: Publish to crates.io needs: [build-release, build-deb] - runs-on: ubuntu-latest + # Use self-hosted runner for crate publishing + runs-on: self-hosted if: github.event_name == 'push' && !contains(github.ref, '-') # Only for stable releases steps: @@ -393,7 +397,8 @@ jobs: finalize-release: name: Finalize Release needs: [create-release, build-release, build-deb, docker] - runs-on: ubuntu-latest + # Use self-hosted runner for release finalization + runs-on: self-hosted if: always() && needs.create-release.result == 'success' steps: diff --git a/.github/workflows/sync-secrets.yml b/.github/workflows/sync-secrets.yml index a1c42aa..ff5de2b 100644 --- a/.github/workflows/sync-secrets.yml +++ b/.github/workflows/sync-secrets.yml @@ -18,7 +18,8 @@ permissions: jobs: sync-secrets: name: Sync 1Password to GitHub Secrets - runs-on: ubuntu-latest + # Use self-hosted runner for secret synchronization + runs-on: self-hosted if: secrets.OP_SERVICE_ACCOUNT_TOKEN != '' steps: @@ -85,7 +86,8 @@ jobs: notify-on-failure: name: Notify on Sync Failure - runs-on: ubuntu-latest + # Use self-hosted runner for failure notifications + runs-on: self-hosted needs: sync-secrets if: failure() && !cancelled()