From 6240f723caf04214f4486fe42ff96e8f042101e5 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 14 Jun 2026 12:11:58 -0600 Subject: [PATCH] Update: standardize GitHub Actions (path filters, concurrency, runners) Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/ci.yml | 34 ++++++++++++++++++++++++++++++---- .github/workflows/pages.yml | 3 ++- .github/workflows/release.yml | 3 ++- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f395924..0da3818 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,8 +3,30 @@ name: CI on: push: branches: [main] + paths: + - src/** + - tests/** + - benches/** + - Cargo.toml + - Cargo.lock + - fledge.toml + - plugin.toml + - .github/workflows/ci.yml pull_request: branches: [main] + paths: + - src/** + - tests/** + - benches/** + - Cargo.toml + - Cargo.lock + - fledge.toml + - plugin.toml + - .github/workflows/ci.yml + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true env: CARGO_TERM_COLOR: always @@ -13,11 +35,12 @@ jobs: check: name: Check runs-on: ${{ matrix.os }} + timeout-minutes: 30 strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - run: cargo build --release @@ -26,8 +49,9 @@ jobs: lint: name: Lint runs-on: ubuntu-latest + timeout-minutes: 20 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@stable with: components: clippy, rustfmt @@ -38,8 +62,9 @@ jobs: shellcheck: name: ShellCheck runs-on: ubuntu-latest + timeout-minutes: 10 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Run ShellCheck on all .sh files run: | if compgen -G "**/*.sh" > /dev/null 2>&1 || find . -name '*.sh' | grep -q .; then @@ -51,8 +76,9 @@ jobs: smoke: name: Smoke Test runs-on: ubuntu-latest + timeout-minutes: 20 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - run: cargo build --release diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 4fb8493..62cd8fa 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -17,8 +17,9 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest + timeout-minutes: 10 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions/configure-pages@v5 - uses: actions/upload-pages-artifact@v3 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4be9118..066383a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,6 +11,7 @@ jobs: build: name: Build ${{ matrix.target }} runs-on: ${{ matrix.os }} + timeout-minutes: 30 strategy: matrix: include: @@ -23,7 +24,7 @@ jobs: - target: x86_64-pc-windows-msvc os: windows-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.target }}