Skip to content

Refactor - #19

Merged
mah0x211 merged 3 commits into
masterfrom
refactor
Jun 7, 2026
Merged

Refactor#19
mah0x211 merged 3 commits into
masterfrom
refactor

Conversation

@mah0x211

@mah0x211 mah0x211 commented Jun 2, 2026

Copy link
Copy Markdown
Owner

This pull request updates the build and CI pipeline to modernize and simplify the Lua module's workflow, moving from a custom Makefile and legacy GitHub Actions setup to a container-based, hooks-driven approach with improved dependency management. It also cleans up C source includes for consistency.

CI/CD Pipeline Modernization:

  • The GitHub Actions workflow (.github/workflows/test.yml) now uses a containerized environment (ghcr.io/mah0x211/lua-ci:latest) for both linting and testing, removing the need for manual Lua and Luarocks setup steps. Lua version switching is handled with lenv. [1] [2]
  • The Codecov upload step is updated to use the latest action (v5) and OIDC authentication for improved security and reliability.

Build System and Dependency Management:

  • The old Makefile is removed in favor of a new rockspecs/url-scm-1.rockspec that uses luarocks-build-hooks with a hooks-based build, simplifying build logic and centralizing configuration. [1] [2] [3]
  • The rockspec now specifies build and conditional dependencies, and modularizes the build of url, url.codec, and url.parse.

C Source Code Cleanup:

  • Updates to src/codec.c and src/parse.c standardize and clarify the inclusion of dependencies and system headers, improving maintainability. [1] [2]

mah0x211 added 3 commits June 2, 2026 11:31
Move both jobs to the shared lua-ci container so the Lua and LuaRocks
setup is consistent across linting, the version matrix, and coverage
upload, and pass the dev rockspec path to luarocks make so the right
build is selected even when the directory holds many versioned
rockspecs.
The codec and parser call luaL_* APIs directly, so they should include
Lua's auxiliary library header rather than relying on transitive project
headers.
Drop the bespoke Makefile and let the rockspec drive the build the
same way as other lua-* modules, with coverage flags toggled through
conditional_variables under URL_COVERAGE.
@codecov

codecov Bot commented Jun 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.06%. Comparing base (70eefb3) to head (c860e17).

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #19      +/-   ##
==========================================
+ Coverage   87.89%   88.06%   +0.17%     
==========================================
  Files           2        2              
  Lines         512      511       -1     
==========================================
  Hits          450      450              
+ Misses         62       61       -1     
Flag Coverage Δ
unittests 88.06% <ø> (+0.17%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mah0x211
mah0x211 merged commit 853e91b into master Jun 7, 2026
7 checks passed
@mah0x211
mah0x211 deleted the refactor branch June 12, 2026 00:48
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.

1 participant