diff --git a/.tangled/workflows/test.yml b/.tangled/workflows/test.yml index 5af0366..ac8eeb0 100644 --- a/.tangled/workflows/test.yml +++ b/.tangled/workflows/test.yml @@ -5,26 +5,12 @@ when: branch: ["main", "master"] engine: "microvm" -image: "nixos" +image: "alpine" clone: depth: 1 submodules: false -registry: - nixpkgs: "github:NixOS/nixpkgs/624af665418d3c65d544145b4d34ad696439570e" - -dependencies: - - beam28Packages.erlang - - beam28Packages.rebar3 - - nodejs_22 - - git - - curl - - coreutils - - gnutar - - gzip - - xz - steps: # Tangled injects repository secrets into every step. Gleam 1.18 and later # reads HEXPM_READ_API_KEY automatically for authenticated Hex requests. @@ -33,6 +19,23 @@ steps: set -euo pipefail : "${HEXPM_READ_API_KEY:?Configure HEXPM_READ_API_KEY in Tangled repository secrets}" + apk add --no-cache \ + bash \ + build-base \ + ca-certificates \ + cargo \ + coreutils \ + curl \ + erlang28 \ + git \ + gzip \ + nodejs \ + npm \ + rebar3 \ + rust \ + tar \ + xz + temporary_directory="$(mktemp -d)" trap 'rm -rf "${temporary_directory}"' EXIT binary_directory="${HOME}/.local/bin" @@ -49,19 +52,12 @@ steps: tar --extract --gzip --file "${gleam_archive}" --directory "${temporary_directory}" install -m 0755 "${temporary_directory}/gleam" "${binary_directory}/gleam" - trellis_directory="${temporary_directory}/trellis" - trellis_archive="${temporary_directory}/trellis.tar.xz" - mkdir -p "${trellis_directory}" - curl --fail --location --silent --show-error --proto '=https' --tlsv1.2 \ - "https://github.com/tylerbutler/trellis/releases/download/v0.7.0/trellis-gleam-x86_64-unknown-linux-gnu.tar.xz" \ - --output "${trellis_archive}" - printf '%s %s\n' \ - "3f9dc5967dd540679f8d720548fa4e3e129660179c0325e9a955baf2911fdbe8" \ - "${trellis_archive}" \ - | sha256sum --check - - tar --extract --xz --file "${trellis_archive}" \ - --strip-components 1 --directory "${trellis_directory}" - install -m 0755 "${trellis_directory}/trellis" "${binary_directory}/trellis" + cargo install \ + --locked \ + --debug \ + --version 0.7.0 \ + --root "${HOME}/.local" \ + trellis-gleam export PATH="${binary_directory}:${PATH}" gleam --version diff --git a/CHANGELOG.md b/CHANGELOG.md index faf2b00..07c9ecc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,8 @@ ### Changed - Manage Tiramisu, extensions, examples, and example games as one Trellis workspace. -- Run workspace formatting, tests, and checks through Trellis in Tangled CI. +- Run workspace formatting, tests, and checks in Nix-free Tangled Alpine MicroVM CI with pinned Gleam and Trellis versions. - Skip unconfigured extension tick phases and reuse mounted component metadata instead of rebuilding runtime instances every frame. -- Run workspace formatting, tests, and checks through Trellis in Tangled CI. ## v7.0.0 2026-01-10