From 435e93f66d6346194505bffcd95e278ada792dda Mon Sep 17 00:00:00 2001 From: Thang Nguyen Date: Sun, 23 Aug 2026 14:07:23 +0700 Subject: [PATCH 1/2] ci: run the PR test suite on pull requests into develop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The workflow only triggered on pull_request into master, but master is a release-only branch — every feature PR targets develop. So feature PRs reported no checks at all (`gh pr checks` says "no checks reported") and the suite first ran when a release PR reached master, long after the work had been reviewed and merged into develop. Add develop to the trigger list so analyze, the app tests and both Rust crates' tests gate the branch where work actually lands. --- .github/workflows/pr-test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index bf1184e0..597c4ffe 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -3,6 +3,10 @@ name: PR Test on: pull_request: branches: + # develop is the integration trunk: feature PRs land there, so without it + # every feature PR reported no checks at all and only got tested once the + # release PR reached master. + - develop - master jobs: From 89a2732419e4bf3706cbde7e220714cdae46e2b9 Mon Sep 17 00:00:00 2001 From: Thang Nguyen Date: Sun, 23 Aug 2026 14:18:25 +0700 Subject: [PATCH 2/2] ci: upgrade checkout to v7 and cancel superseded PR runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two follow-ups on the develop trigger: - actions/checkout@v4 runs on Node 20, which the runners now force onto Node 24 with a deprecation annotation. v7 is current (v5 moved to Node 24, v6 writes credentials to a separate file, v7 blocks fork checkouts for pull_request_target / workflow_run and moves to ESM) — none of which affects a plain checkout on a pull_request event. - Add a concurrency group keyed on the PR so pushing again cancels the run still in flight instead of compiling the IronRDP and VNC trees twice side by side. A full run is ~9 minutes, most of it Rust. --- .github/workflows/pr-test.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 597c4ffe..d5623a68 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -9,11 +9,17 @@ on: - develop - master +# One run per PR: a push supersedes whatever is still compiling for that PR +# instead of queueing another full Rust + Flutter suite beside it. +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - uses: subosito/flutter-action@v2 with: