From 95d0c9950b22e35d16c90cbaeb78a26e812ab939 Mon Sep 17 00:00:00 2001 From: Derek Miller <1340081+derek-miller@users.noreply.github.com> Date: Sat, 17 Oct 2026 14:52:58 -0500 Subject: [PATCH] ci: bump action and tool pins, add Lua 5.5 to the test matrix action-gh-release v1 runs on the retired Node 16 runtime, which put the release job at risk; the other actions were one or more majors behind. --- .github/workflows/build.yml | 30 +++++++++++++++--------------- .github/workflows/release.yml | 10 +++++----- CLAUDE.md | 10 +++++----- README.md | 3 ++- 4 files changed, 27 insertions(+), 26 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 363ff23..7cafb1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,26 +15,26 @@ jobs: runs-on: ubuntu-26.04 name: Check steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Setup Lua - uses: leafo/gh-actions-lua@v11 + uses: leafo/gh-actions-lua@v13 with: luaVersion: '5.4' - name: Setup LuaRocks - uses: leafo/gh-actions-luarocks@v5 + uses: leafo/gh-actions-luarocks@v6 with: - luarocksVersion: "3.12.2" + luarocksVersion: "3.13.0" - name: Install luacheck run: luarocks install luacheck - name: Install stylua - uses: JohnnyMorganz/stylua-action@v4 + uses: JohnnyMorganz/stylua-action@v5 with: token: ${{ secrets.GITHUB_TOKEN }} - version: v2.1.0 + version: v2.6.0 args: false # Will be run as part of `make check` - name: Install lua-language-server @@ -43,7 +43,7 @@ jobs: | tar -xz -C "$RUNNER_TEMP" echo "$RUNNER_TEMP/bin" >> "$GITHUB_PATH" env: - LUALS: 3.19.0 + LUALS: 3.19.2 - name: Check run: make check @@ -55,14 +55,14 @@ jobs: strategy: fail-fast: true matrix: - lua-version: ['5.1', '5.2', '5.3', '5.4', 'luajit-2.0', 'luajit-2.1'] + lua-version: ['5.1', '5.2', '5.3', '5.4', '5.5', 'luajit-2.0', 'luajit-2.1'] name: Lua ${{ matrix.lua-version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Setup Lua - uses: leafo/gh-actions-lua@v11 + uses: leafo/gh-actions-lua@v13 with: luaVersion: ${{ matrix.lua-version }} @@ -87,17 +87,17 @@ jobs: runs-on: ubuntu-26.04 name: Build Combined Module steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Setup Lua - uses: leafo/gh-actions-lua@v11 + uses: leafo/gh-actions-lua@v13 with: luaVersion: '5.4' - name: Setup LuaRocks - uses: leafo/gh-actions-luarocks@v5 + uses: leafo/gh-actions-luarocks@v6 with: - luarocksVersion: "3.12.2" + luarocksVersion: "3.13.0" - name: Install amalg run: luarocks install amalg @@ -123,7 +123,7 @@ jobs: fi - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: bitn.lua path: build/bitn.lua diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 701e846..6300d1a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,19 +13,19 @@ jobs: runs-on: ubuntu-26.04 steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: fetch-depth: 0 - name: Setup Lua - uses: leafo/gh-actions-lua@v11 + uses: leafo/gh-actions-lua@v13 with: luaVersion: '5.4' - name: Setup LuaRocks - uses: leafo/gh-actions-luarocks@v5 + uses: leafo/gh-actions-luarocks@v6 with: - luarocksVersion: "3.12.2" + luarocksVersion: "3.13.0" - name: Install amalg run: luarocks install amalg @@ -36,7 +36,7 @@ jobs: make build - name: Create Release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v3 with: draft: false prerelease: ${{ contains(github.ref_name, '-rc') || contains(github.ref_name, '-beta') || contains(github.ref_name, '-alpha') }} diff --git a/CLAUDE.md b/CLAUDE.md index 5fac01a..341976d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -124,7 +124,7 @@ local `.luarc.json`. Re-run both enumerations when upgrading the server rather t assuming this list stayed complete. The server version is not pinned locally, though. `install-deps` takes whatever -Homebrew has while CI pins 3.19.0, so compare the version the target prints if a +Homebrew has while CI pins 3.19.2, so compare the version the target prints if a local result disagrees with CI. Part of `check`, so CI enforces it. @@ -211,8 +211,8 @@ make test-matrix # across Lua versions ``` `make test-matrix` pins luaenv `5.1.5 5.2.4 5.3.6 5.4.8 luajit-2.1-dev` locally. -CI additionally covers **LuaJIT 2.0**, so a green local matrix is a weaker signal -than a green CI one. +CI additionally covers **Lua 5.5** and **LuaJIT 2.0**, so a green local matrix is +a weaker signal than a green CI one. ## Benchmarking @@ -241,8 +241,8 @@ Version is injected from git tags during release. - **build.yml** (workflow name `Lua Tests`): on push/PR to `main` or `master`. - `check` job — `make check`, i.e. stylua format check, luacheck, and typecheck - against lua-language-server 3.19.0. - - `test` job — `make test-all` across Lua 5.1-5.4 and LuaJIT 2.0/2.1. + against lua-language-server 3.19.2. + - `test` job — `make test-all` across Lua 5.1-5.5 and LuaJIT 2.0/2.1. - `build` job — single-file distribution. - **release.yml**: on version tags (`v*`) — builds and publishes a release with the diff --git a/README.md b/README.md index 9069d03..90f13e0 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ A portable bitwise operations library for 16-bit, 32-bit, and 64-bit integers with **zero external dependencies**. This library provides a complete, -cross-platform implementation that runs on Lua 5.1, 5.2, 5.3, 5.4, and LuaJIT. +cross-platform implementation that runs on Lua 5.1, 5.2, 5.3, 5.4, 5.5, and +LuaJIT. ## Features