diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e832be7..cac1be7 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,22 @@ 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: 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" ] 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