From 51fa0727fd5cc9702c5713a6b4e2a80f2b7c20eb Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Sun, 25 Jan 2026 23:08:33 -0800 Subject: [PATCH 1/3] add testing for js runtimes --- .github/workflows/test.yml | 32 ++++++++++++++++++++++++++++++-- codebook.toml | 2 +- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e832be7..1525557 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,13 +3,19 @@ name: test on: push: branches: - - master - main pull_request: jobs: test: runs-on: ubuntu-latest + strategy: + matrix: + target: + - { name: erlang, runtime: "" } + - { name: javascript, runtime: node } + - { name: javascript, runtime: bun } + - { name: javascript, runtime: deno } steps: - uses: actions/checkout@v6 - uses: erlef/setup-beam@v1 @@ -17,6 +23,28 @@ jobs: otp-version: "28.3.0" gleam-version: "1.14.0" rebar3-version: "3.26.0" + - uses: oven-sh/setup-bun@v2 + if: matrix.target.runtime == 'bun' + - uses: denoland/setup-deno@v2 + if: matrix.target.runtime == 'deno' + with: + deno-version: v2.x - run: gleam deps download - - run: gleam test + - run: npm install + if: matrix.target.runtime == 'node' + - run: bun install + if: matrix.target.runtime == 'bun' + - run: deno install + if: matrix.target.runtime == 'deno' + - run: gleam test --target ${{ matrix.target.name }} ${{ matrix.target.runtime && format('--runtime {0}', matrix.target.runtime) || '' }} + + format: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: erlef/setup-beam@v1 + with: + otp-version: "28.3.0" + gleam-version: "1.14.0" + rebar3-version: "3.26.0" - run: gleam format --check src test diff --git a/codebook.toml b/codebook.toml index e67d564..00db137 100644 --- a/codebook.toml +++ b/codebook.toml @@ -7,7 +7,7 @@ words = [ "webls", "rss", "googlebot", "bingbot", # code words "ttl", "perma", "rebar", "otp", "erlef", "gleeunit", - "simplifile", + "simplifile", "deno", # other words "versecafe" ] From 20e4ceae70da0aad7e4be45a34f28a8e159fa7b3 Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Sun, 25 Jan 2026 23:10:51 -0800 Subject: [PATCH 2/3] no js install needed --- .github/workflows/test.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1525557..cac1be7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,12 +30,6 @@ jobs: with: deno-version: v2.x - run: gleam deps download - - run: npm install - if: matrix.target.runtime == 'node' - - run: bun install - if: matrix.target.runtime == 'bun' - - run: deno install - if: matrix.target.runtime == 'deno' - run: gleam test --target ${{ matrix.target.name }} ${{ matrix.target.runtime && format('--runtime {0}', matrix.target.runtime) || '' }} format: From 976836dc024a391f4110ae53a7464c395c9b710b Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Sun, 25 Jan 2026 23:11:56 -0800 Subject: [PATCH 3/3] allow deno reads for test fixtures --- gleam.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gleam.toml b/gleam.toml index adfb899..3158589 100644 --- a/gleam.toml +++ b/gleam.toml @@ -12,3 +12,6 @@ gleam_time = ">= 1.6.0 and < 2.0.0" [dev-dependencies] gleeunit = ">= 1.0.0 and < 2.0.0" simplifile = ">= 2.3.2 and < 3.0.0" + +[javascript.deno] +allow_read = true