From 2c78ae82860bd96608e20f8b61b9cac0d28d5dc9 Mon Sep 17 00:00:00 2001 From: b0txec Date: Mon, 24 Aug 2026 22:11:47 +0300 Subject: [PATCH] Install a real Node 20 in the backend CI job, not Debian bullseye's default Node got installed (previous fix worked) but actions/checkout@v4's bundled JS uses modern syntax (class static blocks) requiring Node >=16.11. hseeberger/scala-sbt is Debian bullseye-based, whose default apt "nodejs" package is a stale Node 12 -- SyntaxError: Unexpected token '{' at "static {". HOP's own image is bookworm-based (newer default), which is why they never hit this. Use NodeSource's setup script to get an actual current Node 20 regardless of the distro's packaged version. --- .gitea/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index c640a24..7b43575 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -18,7 +18,9 @@ jobs: - name: Install checkout runtime run: | apt-get update - apt-get install --yes --no-install-recommends git nodejs + apt-get install --yes --no-install-recommends curl ca-certificates git + curl -fsSL https://deb.nodesource.com/setup_20.x | bash - + apt-get install --yes --no-install-recommends nodejs rm -rf /var/lib/apt/lists/* - uses: actions/checkout@v4 - name: sbt test