From 6c13f1a0dcb6d433ff19a6d6abbc0cd41b3b1c27 Mon Sep 17 00:00:00 2001 From: selmankoc Date: Mon, 27 Apr 2026 16:10:23 +0300 Subject: [PATCH] Update GitHub workflows: enhance build-and-test.yml with concurrency and caching, and disable cancel-workflow.yml --- .github/workflows/build-and-test.yml | 28 ++++++++++++++++++++------- .github/workflows/cancel-workflow.yml | 22 ++++++++++++--------- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 86df2d8748..8b66f691dc 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -21,6 +21,8 @@ on: - '.github/workflows/build-and-test.yml' pull_request: + branches: + - dev paths: - 'framework/**/*.cs' - 'framework/**/*.cshtml' @@ -42,6 +44,11 @@ on: - synchronize - reopened - ready_for_review + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + permissions: contents: read @@ -51,14 +58,18 @@ jobs: timeout-minutes: 50 if: ${{ !github.event.pull_request.draft }} steps: - - uses: jlumbroso/free-disk-space@main - - uses: PSModule/install-powershell@v1 - with: - Version: latest - - uses: actions/checkout@v2 - - uses: actions/setup-dotnet@master + - uses: jlumbroso/free-disk-space@v1 + - uses: actions/checkout@v4 + - uses: actions/setup-dotnet@v4 with: dotnet-version: 10.0.x + - name: Cache NuGet packages + uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', 'Directory.Packages.props') }} + restore-keys: | + ${{ runner.os }}-nuget- - name: Build All run: ./build-all.ps1 working-directory: ./build @@ -70,4 +81,7 @@ jobs: shell: pwsh - name: Codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v5 + with: + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: true diff --git a/.github/workflows/cancel-workflow.yml b/.github/workflows/cancel-workflow.yml index 039943ad66..1ed3a3bc4b 100644 --- a/.github/workflows/cancel-workflow.yml +++ b/.github/workflows/cancel-workflow.yml @@ -1,17 +1,21 @@ +# This workflow is intentionally disabled. +# Cancellation of redundant runs is now handled natively via the `concurrency` +# block defined in each individual workflow (e.g. build-and-test.yml). +# The styfle/cancel-workflow-action has been archived upstream and is no longer maintained. +# +# To re-enable manual cancellation, change `on: workflow_dispatch` back to `on: [push]` +# and restore the styfle step, but the native `concurrency` approach is preferred. name: cancel-workflow -on: [push] +on: + workflow_dispatch: permissions: contents: read jobs: cancel: - permissions: - actions: write # for styfle/cancel-workflow-action to cancel/stop running workflows - name: 'Cancel Previous Runs' + name: 'Disabled - See file header comment' runs-on: ubuntu-latest - timeout-minutes: 3 + timeout-minutes: 1 steps: - - uses: styfle/cancel-workflow-action@0.6.0 - with: - workflow_id: 10629,1299107,2792859,8268314 - access_token: ${{ github.token }} + - name: No-op + run: echo "Cancellation is handled via concurrency groups in each workflow."