From 080fd2989d0f080ecade417c24c304eb29215c3a Mon Sep 17 00:00:00 2001 From: Ralf Anton Beier Date: Thu, 19 Mar 2026 05:49:54 +0100 Subject: [PATCH 1/4] ci: use rivet sync to fetch external repos instead of stripping them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now that the rivet sync git clone compatibility fix is merged (pulseengine/rivet#44), CI can resolve external cross-references (sigil:*, kiln:*, meld:*) by cloning them via git. Strip only the local `path:` fields before syncing — CI uses the git URLs. This replaces the previous workaround that stripped the entire externals: section and suppressed errors with continue-on-error. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 90b10f5..54a1618 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -115,11 +115,17 @@ jobs: ${{ runner.os }}-rivet- - name: Install rivet run: cargo install --force --git https://github.com/pulseengine/rivet --branch main rivet-cli - - name: Validate artifacts - continue-on-error: true + - name: Prepare rivet config for CI run: | - sed -i '/^externals:/,$d' rivet.yaml - rivet validate + python3 -c " +lines = open('rivet.yaml').readlines() +out = [l for l in lines if not l.lstrip().startswith('path: ')] +open('rivet.yaml', 'w').writelines(out) +" + - name: Sync external repos + run: rivet sync + - name: Validate artifacts + run: rivet validate - name: Check coverage run: rivet coverage From 36e6b3eeee930290fbd83c05d8473b058d65bdc8 Mon Sep 17 00:00:00 2001 From: Ralf Anton Beier Date: Thu, 19 Mar 2026 05:53:25 +0100 Subject: [PATCH 2/4] =?UTF-8?q?ci:=20fix=20yaml=20syntax=20=E2=80=94=20use?= =?UTF-8?q?=20sed=20instead=20of=20embedded=20Python?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Python -c inline script was not properly indented within the YAML block scalar, causing a workflow parse error. Replace with a single sed command that deletes absolute-path lines from rivet.yaml. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54a1618..fd43fbe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -116,12 +116,7 @@ jobs: - name: Install rivet run: cargo install --force --git https://github.com/pulseengine/rivet --branch main rivet-cli - name: Prepare rivet config for CI - run: | - python3 -c " -lines = open('rivet.yaml').readlines() -out = [l for l in lines if not l.lstrip().startswith('path: ')] -open('rivet.yaml', 'w').writelines(out) -" + run: sed -i '/^\s*path: \//d' rivet.yaml - name: Sync external repos run: rivet sync - name: Validate artifacts From 96b533d5acde6f1fa68f73ce3e05b8d8379537be Mon Sep 17 00:00:00 2001 From: Ralf Anton Beier Date: Thu, 19 Mar 2026 06:01:49 +0100 Subject: [PATCH 3/4] ci: use block scalar for sed command to avoid YAML parse issue Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd43fbe..2a56dbe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -116,7 +116,8 @@ jobs: - name: Install rivet run: cargo install --force --git https://github.com/pulseengine/rivet --branch main rivet-cli - name: Prepare rivet config for CI - run: sed -i '/^\s*path: \//d' rivet.yaml + run: | + sed -i '/^ path: \//d' rivet.yaml - name: Sync external repos run: rivet sync - name: Validate artifacts From a4cc2745400d5ed1aefdfcd6a825b2c67bac712a Mon Sep 17 00:00:00 2001 From: Ralf Anton Beier Date: Thu, 19 Mar 2026 06:25:03 +0100 Subject: [PATCH 4/4] ci: revert to local-only rivet validation Full cross-repo validation with rivet sync works (rivet#44 confirmed) but the external repos have circular dependencies and their own validation errors (1494 errors across the graph). Revert to stripping externals and local-only validation until rivet supports --local-only. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2a56dbe..90b10f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -115,13 +115,11 @@ jobs: ${{ runner.os }}-rivet- - name: Install rivet run: cargo install --force --git https://github.com/pulseengine/rivet --branch main rivet-cli - - name: Prepare rivet config for CI - run: | - sed -i '/^ path: \//d' rivet.yaml - - name: Sync external repos - run: rivet sync - name: Validate artifacts - run: rivet validate + continue-on-error: true + run: | + sed -i '/^externals:/,$d' rivet.yaml + rivet validate - name: Check coverage run: rivet coverage