From 16a37e086f67dd2bb4cb0484d42fe6bb64af8a14 Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Sun, 10 May 2026 03:57:54 +0530 Subject: [PATCH 1/5] fix(test): bump _delayed sleep so Windows clock tick doesn't drop nodes test_profile_linear_dag flaked on windows-latest because the per-node 10ms sleep is below the ~16ms granularity of Windows' time.monotonic. Nodes occasionally measured duration=0.0 and got excluded from the critical path. Bump the default to 50ms so every sleep crosses at least one timer tick. --- tests/python/execution/test_profiling.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/python/execution/test_profiling.py b/tests/python/execution/test_profiling.py index 7dcdc7a..fad46e5 100644 --- a/tests/python/execution/test_profiling.py +++ b/tests/python/execution/test_profiling.py @@ -5,7 +5,10 @@ from dagron import DAG, DAGExecutor, NodeProfile, ProfileReport, profile_execution -def _delayed(value: str, seconds: float = 0.01) -> str: +def _delayed(value: str, seconds: float = 0.05) -> str: + # Windows' time.monotonic() has ~16 ms granularity; use 50 ms so every + # node's measured duration is non-zero and the critical path includes + # all of them, not just the ones whose sleep happened to straddle a tick. time.sleep(seconds) return value From 3b99483ff63e328e26fa68ec3e7e96e494d556ee Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Sun, 10 May 2026 03:58:53 +0530 Subject: [PATCH 2/5] chore: sync uv.lock with 0.1.1 version bump uv.lock still pinned the editable dagron at 0.1.0 after #17 bumped pyproject.toml to 0.1.1. Refresh the lockfile so the working tree matches the published version. --- uv.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.lock b/uv.lock index cad7851..fc3ceee 100644 --- a/uv.lock +++ b/uv.lock @@ -186,7 +186,7 @@ wheels = [ [[package]] name = "dagron" -version = "0.1.0" +version = "0.1.1" source = { editable = "." } [package.optional-dependencies] From 1de866b6d0dbe63cc8c0b83627555f139fd15f68 Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Sun, 10 May 2026 04:05:17 +0530 Subject: [PATCH 3/5] =?UTF-8?q?ci:=20bump=20pnpm/action-setup=20v4=20?= =?UTF-8?q?=E2=86=92=20v6=20(Node=2024)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GitHub deprecated Node 20 actions; v4 of pnpm/action-setup runs on Node 20. Bump to v6 which uses Node 24 natively. The remaining actions/cache@v4 warning is transitive from actions/setup-node and auto-resolves once @v6 picks up its v6.2+ patch (which already uses @actions/cache v5.0.1). The windows-latest notice is just informing about the May 12 default flip to windows-2025-vs2026. --- .github/workflows/ci.yml | 2 +- .github/workflows/docs.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 81908ca..d4ec7d8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: run: uv sync --group dev - name: Set up pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v6 with: version: 10 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 18d274e..94d1e07 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/checkout@v6 - name: Set up pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v6 with: version: 10 From ac0acc45753f265ea4a5e1168146902fe02ec37f Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Sun, 10 May 2026 04:06:30 +0530 Subject: [PATCH 4/5] ci: pin actions to major version only (no patch) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop the v2.9.1 / v3.0.1 patch pins on Swatinem/rust-cache and pre-commit/action — major-only references auto-pick up bug fixes without manual bumps. --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4ec7d8..a684234 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: with: components: rustfmt, clippy - - uses: Swatinem/rust-cache@v2.9.1 + - uses: Swatinem/rust-cache@v2 - uses: astral-sh/setup-uv@v7 @@ -47,7 +47,7 @@ jobs: run: cargo fmt --all --check - name: Run pre-commit - uses: pre-commit/action@v3.0.1 + uses: pre-commit/action@v3 rust-test: runs-on: ubuntu-latest @@ -57,7 +57,7 @@ jobs: - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@v2.9.1 + - uses: Swatinem/rust-cache@v2 with: save-if: false @@ -83,7 +83,7 @@ jobs: - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@v2.9.1 + - uses: Swatinem/rust-cache@v2 - uses: astral-sh/setup-uv@v7 with: From f1eb9b8002f01b03c3094695d4effd0242324305 Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Sun, 10 May 2026 04:09:53 +0530 Subject: [PATCH 5/5] ci: keep pre-commit/action at v3.0.1 (no rolling v3 tag exists) That action only publishes full-semver tags (v3.0.0, v3.0.1); v3 isn't a ref so the previous bump broke the lint job with "Unable to resolve action pre-commit/action@v3". Swatinem/rust-cache and pnpm/action-setup do ship rolling major tags and stay at @v2 / @v6. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a684234..5f60d44 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: run: cargo fmt --all --check - name: Run pre-commit - uses: pre-commit/action@v3 + uses: pre-commit/action@v3.0.1 rust-test: runs-on: ubuntu-latest