Skip to content

chore: normalize build tooling + luacheck-clean FFI#3

Merged
Unisay merged 3 commits into
masterfrom
chore/align-overlay
Jun 14, 2026
Merged

chore: normalize build tooling + luacheck-clean FFI#3
Unisay merged 3 commits into
masterfrom
chore/align-overlay

Conversation

@Unisay

@Unisay Unisay commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Normalize this fork's build tooling to the ecosystem canon.

  • Replace the dead bower CI workflow with nix CI (nix develop -c ./scripts/build, ./scripts/test, luacheck).
  • Switch the flake to purescript-overlay (purs 0.15.16, spago-bin 0.21.0, lua51 toolchain, binary caches), refreshed via nix flake update.
  • luacheck runs --std lua51 --no-unused-args: matches the Lua 5.1 target (math.pow/atan2 are valid there) and the FFI convention of curried fallback arguments the native impl ignores.

Verified locally: build, test (where present), and luacheck all green.

Also drops the unused loop variable in foreachE (for _, v in ipairs) so luacheck is clean. Behaviour-identical.

Note: the PureScript test suite under test/ is not exercised by this CI. Reviving the upstream suites (with their Lua 5.1 fixes) is a separate upstream-sync task; this PR only normalizes build tooling.

@Unisay Unisay self-assigned this Jun 14, 2026
Comment thread src/Effect.lua Outdated
return function(f)
return function()
for i, v in ipairs(as) do
for _, v in ipairs(as) do

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if it is worth using ipairs then - pairs maybe?

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the repository’s build/dev tooling around Nix flakes and Lua 5.1 linting, and makes a small Lua FFI cleanup to keep luacheck clean.

Changes:

  • Update the GitHub Actions CI workflow to use Nix (nix develop -c ...) for build/test and to run luacheck in the Nix dev shell.
  • Switch the flake to use purescript-overlay and update the dev shell toolchain (PureScript + Spago + Lua 5.1 + formatting tools), including adding binary cache configuration.
  • Clean up foreachE to avoid an unused loop index variable (Luacheck cleanliness).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/Effect.lua Drops the unused ipairs index variable in foreachE for luacheck cleanliness.
flake.nix Reworks the dev shell to use purescript-overlay and adds nixConfig with substituters/public keys.
flake.lock Updates locked inputs to match the flake refactor and overlay usage.
.github/workflows/ci.yml Replaces the old Node/Bower-based CI steps with Nix-based build/test + luacheck.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/ci.yml
Comment on lines +16 to +19
extra_nix_config: |
accept-flake-config = true
extra-substituters = https://cache.iog.io https://purescript-lua.cachix.org
extra-trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= purescript-lua.cachix.org-1:yLs4ei2HtnuPtzLekOrW3xdfm95+Etw15gwgyIGTayA=
@Unisay Unisay force-pushed the chore/align-overlay branch from e75ad8c to dedd6dd Compare June 14, 2026 12:54
@Unisay Unisay merged commit b45a7ae into master Jun 14, 2026
1 check passed
@Unisay Unisay deleted the chore/align-overlay branch June 14, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants