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

@UnisayUnisay 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.

@UnisayUnisay self-assigned this Jun 14, 2026
Comment threadsrc/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
CollaboratorAuthor

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?

CopilotAI 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.

FileDescription
src/Effect.luaDrops the unused ipairs index variable in foreachE for luacheck cleanliness.
flake.nixReworks the dev shell to use purescript-overlay and adds nixConfig with substituters/public keys.
flake.lockUpdates locked inputs to match the flake refactor and overlay usage.
.github/workflows/ci.ymlReplaces 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 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
Unisayforce-pushed the chore/align-overlay branch from e75ad8c to dedd6ddCompareJune 14, 2026 12:54
@Unisay
Unisay merged commit b45a7ae into masterJun 14, 2026
1 check passed
@Unisay
Unisay deleted the chore/align-overlay branch June 14, 2026 13:03
Sign up for freeto 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

@Unisay