From 297bedbb95131d1a8a6eacd7c98273c709724202 Mon Sep 17 00:00:00 2001 From: Anton-4 <17049058+Anton-4@users.noreply.github.com> Date: Mon, 15 Jun 2026 14:33:49 +0200 Subject: [PATCH 01/10] updare Luke platform url --- examples/body_bytes.roc | 2 +- examples/custom_method.roc | 2 +- examples/headers.roc | 2 +- examples/hello_request.roc | 2 +- examples/mock_send.roc | 2 +- examples/response.roc | 2 +- examples/router.roc | 2 +- examples/tests.roc | 2 +- examples/timeouts.roc | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/body_bytes.roc b/examples/body_bytes.roc index 897685a..3c7644c 100644 --- a/examples/body_bytes.roc +++ b/examples/body_bytes.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } diff --git a/examples/custom_method.roc b/examples/custom_method.roc index 1070b3e..8c1ea3e 100644 --- a/examples/custom_method.roc +++ b/examples/custom_method.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } diff --git a/examples/headers.roc b/examples/headers.roc index 2e4f4aa..b4ba6cf 100644 --- a/examples/headers.roc +++ b/examples/headers.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } diff --git a/examples/hello_request.roc b/examples/hello_request.roc index 7524219..b006834 100644 --- a/examples/hello_request.roc +++ b/examples/hello_request.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } diff --git a/examples/mock_send.roc b/examples/mock_send.roc index 61f7cef..f97d9e8 100644 --- a/examples/mock_send.roc +++ b/examples/mock_send.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } diff --git a/examples/response.roc b/examples/response.roc index ebe4071..3fa72ae 100644 --- a/examples/response.roc +++ b/examples/response.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } diff --git a/examples/router.roc b/examples/router.roc index da93d06..e558ec2 100644 --- a/examples/router.roc +++ b/examples/router.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } diff --git a/examples/tests.roc b/examples/tests.roc index 1639a10..26b3b98 100644 --- a/examples/tests.roc +++ b/examples/tests.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } diff --git a/examples/timeouts.roc b/examples/timeouts.roc index 86c739a..98c07f6 100644 --- a/examples/timeouts.roc +++ b/examples/timeouts.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.7/DuRUyJh31Gt41YArMcVcvybLa2bCWboccWQ7Zq1KZPZ6.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", http: "../package/main.roc", } From d5930b441d8f91c6ab615913b5530bfe85229f9e Mon Sep 17 00:00:00 2001 From: Anton-4 <17049058+Anton-4@users.noreply.github.com> Date: Mon, 15 Jun 2026 17:37:11 +0200 Subject: [PATCH 02/10] improve CI --- .github/workflows/ci.yml | 33 ++++++------------ .github/workflows/release.yml | 65 +++++++++++++---------------------- ci/ROC_COMMIT | 1 - ci/get_roc_commit.py | 19 ---------- 4 files changed, 35 insertions(+), 83 deletions(-) delete mode 100644 ci/ROC_COMMIT delete mode 100644 ci/get_roc_commit.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c1e5998..8c715a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,10 @@ name: CI on: pull_request: - push: - branches: - - main + schedule: + # Run daily at 10 AM UTC, after the nightlies are typically published. + - cron: '0 10 * * *' + workflow_dispatch: # Allow manual triggering jobs: test: @@ -15,7 +16,7 @@ jobs: matrix: os: - ubuntu-24.04 - - macos-15 + - macos-26 - windows-2025 defaults: run: @@ -26,29 +27,17 @@ jobs: uses: actions/checkout@v4 - name: Install Zig - uses: mlugg/setup-zig@8d6198c65fb0feaa111df26e6b467fea8345e46f # ratchet:mlugg/setup-zig@v2.0.5 + uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # 2.2.1 with: - version: 0.15.2 + version: 0.16.0 use-cache: false - - name: Clone Roc source - run: | - ROC_COMMIT=$(python3 ci/get_roc_commit.py) - - git init roc-src - cd roc-src - git remote add origin https://github.com/roc-lang/roc - git fetch --depth 1 origin "$ROC_COMMIT" - git checkout --detach "$ROC_COMMIT" - - - name: Build Roc - uses: roc-lang/roc/.github/actions/flaky-retry@3d0fdde9ae6ffb5ef411f8c8c2fc2cdce22a74fe + - name: Install Roc + uses: roc-lang/setup-roc@30ff82b396cbeb36a662a18f5c652773efb43e72 with: - command: cd roc-src && zig build roc - error_string_contains: "build.zig.zon" + # Installs the latest nightly from https://github.com/roc-lang/nightlies + version: nightly-new-compiler - - name: Add Roc to PATH - run: echo "$(pwd)/roc-src/zig-out/bin" >> "$GITHUB_PATH" - name: Run checks run: ci/all_tests.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 80fe682..11b3388 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,6 +9,9 @@ on: type: string pull_request: +env: + ZIG_VERSION: "0.16.0" + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -28,29 +31,16 @@ jobs: uses: actions/checkout@v4 - name: Install Zig - uses: mlugg/setup-zig@8d6198c65fb0feaa111df26e6b467fea8345e46f # ratchet:mlugg/setup-zig@v2.0.5 + uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # 2.2.1 with: - version: 0.15.2 + version: ${{ env.ZIG_VERSION }} use-cache: false - - name: Clone Roc source - run: | - ROC_COMMIT=$(python3 ci/get_roc_commit.py) - - git init roc-src - cd roc-src - git remote add origin https://github.com/roc-lang/roc - git fetch --depth 1 origin "$ROC_COMMIT" - git checkout --detach "$ROC_COMMIT" - - - name: Build Roc - uses: roc-lang/roc/.github/actions/flaky-retry@3d0fdde9ae6ffb5ef411f8c8c2fc2cdce22a74fe + - name: Install Roc + uses: roc-lang/setup-roc@30ff82b396cbeb36a662a18f5c652773efb43e72 with: - command: cd roc-src && zig build roc - error_string_contains: "build.zig.zon" - - - name: Add Roc to PATH - run: echo "$(pwd)/roc-src/zig-out/bin" >> "$GITHUB_PATH" + # Installs the latest nightly from https://github.com/roc-lang/nightlies + version: nightly-new-compiler - name: Check format and package run: | @@ -90,7 +80,7 @@ jobs: matrix: os: - ubuntu-24.04 - - macos-15 + - macos-26 - windows-2025 defaults: run: @@ -101,29 +91,16 @@ jobs: uses: actions/checkout@v4 - name: Install Zig - uses: mlugg/setup-zig@8d6198c65fb0feaa111df26e6b467fea8345e46f # ratchet:mlugg/setup-zig@v2.0.5 + uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # 2.2.1 with: - version: 0.15.2 + version: ${{ env.ZIG_VERSION }} use-cache: false - - name: Clone Roc source - run: | - ROC_COMMIT=$(python3 ci/get_roc_commit.py) - - git init roc-src - cd roc-src - git remote add origin https://github.com/roc-lang/roc - git fetch --depth 1 origin "$ROC_COMMIT" - git checkout --detach "$ROC_COMMIT" - - - name: Build Roc - uses: roc-lang/roc/.github/actions/flaky-retry@3d0fdde9ae6ffb5ef411f8c8c2fc2cdce22a74fe + - name: Install Roc + uses: roc-lang/setup-roc@30ff82b396cbeb36a662a18f5c652773efb43e72 with: - command: cd roc-src && zig build roc - error_string_contains: "build.zig.zon" - - - name: Add Roc to PATH - run: echo "$(pwd)/roc-src/zig-out/bin" >> "$GITHUB_PATH" + # Installs the latest nightly from https://github.com/roc-lang/nightlies + version: nightly-new-compiler - name: Download package bundle artifact uses: actions/download-artifact@v4 @@ -157,15 +134,21 @@ jobs: name: package-bundle path: dist + - name: Install Roc + uses: roc-lang/setup-roc@30ff82b396cbeb36a662a18f5c652773efb43e72 + with: + # Installs the latest nightly from https://github.com/roc-lang/nightlies + version: nightly-new-compiler + - name: Create release env: GH_TOKEN: ${{ github.token }} run: | BUNDLE_FILE="dist/${{ needs.build-bundle.outputs.bundle_filename }}" - ROC_COMMIT=$(python3 ci/get_roc_commit.py | cut -c1-8) + ROC_VERSION=$(roc version) gh release create "${{ github.event.inputs.release_tag }}" \ "$BUNDLE_FILE" \ --title "${{ github.event.inputs.release_tag }}" \ --generate-notes \ - --notes "HTTP package bundle built with Roc $ROC_COMMIT." + --notes "HTTP package bundle built with Roc $ROC_VERSION." diff --git a/ci/ROC_COMMIT b/ci/ROC_COMMIT deleted file mode 100644 index 974673a..0000000 --- a/ci/ROC_COMMIT +++ /dev/null @@ -1 +0,0 @@ -cf21a1e29315caf430bea4e67269bb94e51b5b3d diff --git a/ci/get_roc_commit.py b/ci/get_roc_commit.py deleted file mode 100644 index a42ce1a..0000000 --- a/ci/get_roc_commit.py +++ /dev/null @@ -1,19 +0,0 @@ -import re -from pathlib import Path - - -def main() -> None: - commit_path = Path(__file__).resolve().parent / "ROC_COMMIT" - try: - commit = commit_path.read_text().strip() - except FileNotFoundError: - raise SystemExit(f"Missing ROC_COMMIT at {commit_path}") - - if not re.fullmatch(r"[0-9a-fA-F]{40}", commit): - raise SystemExit(f"Invalid commit hash in ROC_COMMIT: {commit!r}") - - print(commit) - - -if __name__ == "__main__": - main() From ae87247a4b922b692ff38079f6d287fc4b1181f7 Mon Sep 17 00:00:00 2001 From: Anton-4 <17049058+Anton-4@users.noreply.github.com> Date: Mon, 15 Jun 2026 19:37:24 +0200 Subject: [PATCH 03/10] update setup-roc --- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c715a1..28018a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: use-cache: false - name: Install Roc - uses: roc-lang/setup-roc@30ff82b396cbeb36a662a18f5c652773efb43e72 + uses: roc-lang/setup-roc@bd311e2fb815a3d2255f7ee14a922f0b736e020b with: # Installs the latest nightly from https://github.com/roc-lang/nightlies version: nightly-new-compiler diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 11b3388..19ae64d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,7 @@ jobs: use-cache: false - name: Install Roc - uses: roc-lang/setup-roc@30ff82b396cbeb36a662a18f5c652773efb43e72 + uses: roc-lang/setup-roc@bd311e2fb815a3d2255f7ee14a922f0b736e020b with: # Installs the latest nightly from https://github.com/roc-lang/nightlies version: nightly-new-compiler @@ -97,7 +97,7 @@ jobs: use-cache: false - name: Install Roc - uses: roc-lang/setup-roc@30ff82b396cbeb36a662a18f5c652773efb43e72 + uses: roc-lang/setup-roc@bd311e2fb815a3d2255f7ee14a922f0b736e020b with: # Installs the latest nightly from https://github.com/roc-lang/nightlies version: nightly-new-compiler @@ -135,7 +135,7 @@ jobs: path: dist - name: Install Roc - uses: roc-lang/setup-roc@30ff82b396cbeb36a662a18f5c652773efb43e72 + uses: roc-lang/setup-roc@bd311e2fb815a3d2255f7ee14a922f0b736e020b with: # Installs the latest nightly from https://github.com/roc-lang/nightlies version: nightly-new-compiler From 31e30db26b5aa94a568d026145d0e6b943244041 Mon Sep 17 00:00:00 2001 From: Luke Boswell Date: Fri, 26 Jun 2026 17:45:00 +1000 Subject: [PATCH 04/10] Update examples to platform 0.9 --- examples/body_bytes.roc | 2 +- examples/custom_method.roc | 2 +- examples/headers.roc | 4 ++-- examples/hello_request.roc | 2 +- examples/mock_send.roc | 2 +- examples/response.roc | 2 +- examples/router.roc | 2 +- examples/tests.roc | 2 +- examples/timeouts.roc | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/body_bytes.roc b/examples/body_bytes.roc index 3c7644c..41c01ac 100644 --- a/examples/body_bytes.roc +++ b/examples/body_bytes.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } diff --git a/examples/custom_method.roc b/examples/custom_method.roc index 8c1ea3e..c70f6d5 100644 --- a/examples/custom_method.roc +++ b/examples/custom_method.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } diff --git a/examples/headers.roc b/examples/headers.roc index b4ba6cf..80c2a9d 100644 --- a/examples/headers.roc +++ b/examples/headers.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } @@ -11,7 +11,7 @@ header_to_str = |(name, value)| "${name}: ${value}" headers_to_str = |headers| - headers.map(header_to_str).join_with("\n") + Str.join_with(headers.map(header_to_str), "\n") main! = |_args| { request0 = Request.from_method(GET) diff --git a/examples/hello_request.roc b/examples/hello_request.roc index b006834..c4595db 100644 --- a/examples/hello_request.roc +++ b/examples/hello_request.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } diff --git a/examples/mock_send.roc b/examples/mock_send.roc index f97d9e8..8848429 100644 --- a/examples/mock_send.roc +++ b/examples/mock_send.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } diff --git a/examples/response.roc b/examples/response.roc index 3fa72ae..c3ccce1 100644 --- a/examples/response.roc +++ b/examples/response.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } diff --git a/examples/router.roc b/examples/router.roc index e558ec2..2faee6f 100644 --- a/examples/router.roc +++ b/examples/router.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } diff --git a/examples/tests.roc b/examples/tests.roc index 26b3b98..1d17385 100644 --- a/examples/tests.roc +++ b/examples/tests.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } diff --git a/examples/timeouts.roc b/examples/timeouts.roc index 98c07f6..dcb9656 100644 --- a/examples/timeouts.roc +++ b/examples/timeouts.roc @@ -1,5 +1,5 @@ app [main!] { - pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.8/8qf28cxTaxwA16Xe3VBR7YSP2KLVUqDHiPpFYgyikEa1.tar.zst", + pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.9/8GdFEvQYS3TeAZxKvTzCLVdQiomweGtXcdZkXNDEeABq.tar.zst", http: "../package/main.roc", } From 393465ae9284e0950d24e351a7b2ac8866c24688 Mon Sep 17 00:00:00 2001 From: Luke Boswell Date: Fri, 26 Jun 2026 17:49:13 +1000 Subject: [PATCH 05/10] Fix CI for current Roc nightly --- ci/all_tests.sh | 8 ++++++++ ci/test_bundle_examples.py | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ci/all_tests.sh b/ci/all_tests.sh index d644579..fefe497 100755 --- a/ci/all_tests.sh +++ b/ci/all_tests.sh @@ -37,6 +37,14 @@ echo "" echo "Generating package docs..." roc docs package/main.roc --output="$docs_dir" +case "$(uname -s)" in + MINGW* | MSYS* | CYGWIN*) + echo "" + echo "Skipping package bundling on Windows." + exit 0 + ;; +esac + echo "" echo "Bundling package..." scripts/bundle.sh --output-dir "$bundle_dir" diff --git a/ci/test_bundle_examples.py b/ci/test_bundle_examples.py index c950ed7..4955a02 100755 --- a/ci/test_bundle_examples.py +++ b/ci/test_bundle_examples.py @@ -85,7 +85,8 @@ def copy_examples_with_bundle_url(examples_dir: Path, bundle_url: str) -> list[P def run_example_checks(examples: list[Path]) -> None: - run(["roc", "fmt", "--check", str(examples[0].parent)]) + for example in examples: + run(["roc", "fmt", "--check", str(example)]) for example in examples: run(["roc", "check", str(example), "--no-cache"]) From 2a0087b524bd3946cd5a4a4c2a5569706ebdf1dd Mon Sep 17 00:00:00 2001 From: Luke Boswell Date: Fri, 26 Jun 2026 17:50:40 +1000 Subject: [PATCH 06/10] Avoid formatting copied bundle examples --- ci/test_bundle_examples.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/ci/test_bundle_examples.py b/ci/test_bundle_examples.py index 4955a02..597a9c4 100755 --- a/ci/test_bundle_examples.py +++ b/ci/test_bundle_examples.py @@ -85,9 +85,6 @@ def copy_examples_with_bundle_url(examples_dir: Path, bundle_url: str) -> list[P def run_example_checks(examples: list[Path]) -> None: - for example in examples: - run(["roc", "fmt", "--check", str(example)]) - for example in examples: run(["roc", "check", str(example), "--no-cache"]) From f1b4b12bf7d8561606a21080caa50a7fe70f7da5 Mon Sep 17 00:00:00 2001 From: Luke Boswell Date: Fri, 26 Jun 2026 17:52:05 +1000 Subject: [PATCH 07/10] Use relative paths for bundle example checks --- ci/test_bundle_examples.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ci/test_bundle_examples.py b/ci/test_bundle_examples.py index 597a9c4..2e01673 100755 --- a/ci/test_bundle_examples.py +++ b/ci/test_bundle_examples.py @@ -86,14 +86,14 @@ def copy_examples_with_bundle_url(examples_dir: Path, bundle_url: str) -> list[P def run_example_checks(examples: list[Path]) -> None: for example in examples: - run(["roc", "check", str(example), "--no-cache"]) + run(["roc", "check", example.name, "--no-cache"], cwd=example.parent) def run_example_apps(examples: list[Path]) -> None: for example in examples: if example.name == "tests.roc": continue - run(["roc", str(example), "--no-cache"]) + run(["roc", example.name, "--no-cache"], cwd=example.parent) def run_example_tests(examples: list[Path]) -> None: @@ -101,7 +101,7 @@ def run_example_tests(examples: list[Path]) -> None: if len(tests) != 1: raise SystemExit("Expected exactly one examples/tests.roc file") - run(["roc", "test", str(tests[0]), "--no-cache"]) + run(["roc", "test", tests[0].name, "--no-cache"], cwd=tests[0].parent) def build_and_run_examples(examples: list[Path], build_dir: Path) -> None: @@ -113,7 +113,7 @@ def build_and_run_examples(examples: list[Path], build_dir: Path) -> None: continue output = build_dir / f"{example.stem}{exe_suffix}" - run(["roc", "build", str(example), f"--output={output}", "--no-cache"]) + run(["roc", "build", example.name, f"--output={output}", "--no-cache"], cwd=example.parent) run([str(output)]) From 5fa2f9444fdf20d8a02c6163d5422fd792c691af Mon Sep 17 00:00:00 2001 From: Luke Boswell Date: Fri, 26 Jun 2026 17:53:56 +1000 Subject: [PATCH 08/10] Use workspace temp paths in CI --- .gitignore | 1 + ci/all_tests.sh | 5 ++--- ci/test_bundle_examples.py | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 1d94ae6..a06d93c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ dist/ generated-docs/ roc-src/ __pycache__/ +.roc-http-tmp/ diff --git a/ci/all_tests.sh b/ci/all_tests.sh index fefe497..5d2c41a 100755 --- a/ci/all_tests.sh +++ b/ci/all_tests.sh @@ -6,11 +6,10 @@ cd "$root_dir" if [ -n "${ROC_HTTP_TMPDIR:-}" ]; then tmp_base="$ROC_HTTP_TMPDIR" -elif [ -d /private/tmp ]; then - tmp_base=/private/tmp else - tmp_base="${TMPDIR:-/tmp}" + tmp_base="$root_dir/.roc-http-tmp" fi +export ROC_HTTP_TMPDIR="$tmp_base" tmp_dir="$tmp_base/roc-http-ci" docs_dir="$tmp_dir/docs" diff --git a/ci/test_bundle_examples.py b/ci/test_bundle_examples.py index 2e01673..aa12902 100755 --- a/ci/test_bundle_examples.py +++ b/ci/test_bundle_examples.py @@ -123,8 +123,9 @@ def main() -> None: parser.add_argument("--skip-build-run", action="store_true", help="Skip compiled example execution") args = parser.parse_args() - default_tmp = Path("/private/tmp") if Path("/private/tmp").exists() else Path(tempfile.gettempdir()) + default_tmp = ROOT / ".roc-http-tmp" tmp_parent = Path(os.environ.get("ROC_HTTP_TMPDIR", default_tmp)) + tmp_parent.mkdir(parents=True, exist_ok=True) with tempfile.TemporaryDirectory(prefix="roc-http-bundle-", dir=tmp_parent) as tmp: tmp_dir = Path(tmp) From 45ff79d02f7ae9f2729e8c9f5f6e29d340389d78 Mon Sep 17 00:00:00 2001 From: Luke Boswell Date: Fri, 26 Jun 2026 18:02:50 +1000 Subject: [PATCH 09/10] Use available macOS runner in CI --- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 28018a1..28a83ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: matrix: os: - ubuntu-24.04 - - macos-26 + - macos-15 - windows-2025 defaults: run: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 19ae64d..ae27845 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -80,7 +80,7 @@ jobs: matrix: os: - ubuntu-24.04 - - macos-26 + - macos-15 - windows-2025 defaults: run: From 744715f25e4095db8b70e108d6981da7c1f984ec Mon Sep 17 00:00:00 2001 From: Luke Boswell Date: Fri, 26 Jun 2026 18:14:34 +1000 Subject: [PATCH 10/10] Use Intel macOS runner for CI --- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 28a83ac..889f594 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: matrix: os: - ubuntu-24.04 - - macos-15 + - macos-15-intel - windows-2025 defaults: run: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ae27845..fc4ce55 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -80,7 +80,7 @@ jobs: matrix: os: - ubuntu-24.04 - - macos-15 + - macos-15-intel - windows-2025 defaults: run: