Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,30 @@ 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: Setup Python
uses: actions/setup-python@v5
uses: actions/setup-python@v7
with:
python-version: '3.12'

Expand All @@ -54,7 +54,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
Expand All @@ -72,14 +72,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:
# The 'luajit-2.1' target tracks a rolling HEAD which has miscompiled
# the signed arithmetic-shift edge cases in zigzag encoding (arshift of
Expand Down Expand Up @@ -108,17 +108,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
Expand Down Expand Up @@ -151,7 +151,7 @@ jobs:
fi

- name: Upload artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: protobuf.lua
path: build/protobuf.lua
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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') }}
Expand Down
12 changes: 6 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,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.

`vendor/` is both a `library` and an `ignoreDir`, which is load-bearing: with only
Expand All @@ -137,7 +137,7 @@ deprecated, which fails the gate. So the pin keeps this repo's own cross-version
shims from tripping it.

Part of `check`, so CI enforces it. CI pins the server version so the count cannot
move under an upstream release; 3.18.2 and 3.19.0 agree here.
move under an upstream release; 3.18.2, 3.19.0 and 3.19.2 agree here.

## Architecture

Expand Down Expand Up @@ -468,9 +468,9 @@ Version is automatically injected from git tags during release.

- **build.yml**: Runs on push/PR to `main` or `master`
- `check` job — `make check`: format-check, luacheck, check-types, check-schema,
and typecheck against lua-language-server 3.19.0, then `make check-wire-vectors`
and typecheck against lua-language-server 3.19.2, then `make check-wire-vectors`
and `make check-float-vectors`
- `test` job — `make test-all` across Lua 5.1-5.4, LuaJIT 2.0/2.1
- `test` job — `make test-all` across Lua 5.1-5.5, LuaJIT 2.0/2.1
- `build` job — single-file distributions
- The `luajit-2.1` matrix entry is silently built as **`luajit-openresty`**:
rolling LuaJIT HEAD miscompiled the signed arithmetic-shift edge cases in
Expand All @@ -481,8 +481,8 @@ Version is automatically injected from git tags during release.
and `build/protobuf-portable.lua`.

`make test-matrix` locally pins `5.1.5 5.2.4 5.3.6 5.4.8 luajit-2.1-dev` and needs
`luaenv` plus the `luaenv-luarocks` plugin. It does **not** cover LuaJIT 2.0,
which CI does.
`luaenv` plus the `luaenv-luarocks` plugin. It does **not** cover Lua 5.5 or
LuaJIT 2.0, which CI does.

## Code Style

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

A pure Lua implementation of Protocol Buffers encoding and decoding with **zero
external dependencies**. This library provides a lightweight, portable
implementation that runs on Lua 5.1, 5.2, 5.3, 5.4, and LuaJIT.
implementation that runs on Lua 5.1, 5.2, 5.3, 5.4, 5.5, and LuaJIT.

## Features

Expand Down