Skip to content

feat: add Nix, MSI, and DMG packaging support - #30

Merged
bordeux merged 3 commits into
masterfrom
feature/new-packages-build
Jan 3, 2026
Merged

feat: add Nix, MSI, and DMG packaging support#30
bordeux merged 3 commits into
masterfrom
feature/new-packages-build

Conversation

@bordeux

@bordeux bordeux commented Jan 2, 2026

Copy link
Copy Markdown
Owner
  • Add flake.nix for NixOS/Nix users with multi-arch support
  • Add WiX configuration for Windows MSI installer (per-user install)
  • Add create-dmg.sh script for macOS DMG with drag-to-install
  • Update release workflow to build and upload MSI and DMG artifacts
  • Add cargo-make tasks: build-nix, build-msi, build-dmg, build-deb, build-rpm

🤖 Generated with Claude Code

@codecov

codecov Bot commented Jan 2, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.43662% with 79 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.15%. Comparing base (4bee433) to head (2d71887).
⚠️ Report is 5 commits behind head on master.

Files with missing lines Patch % Lines
src/filter_functions/string.rs 94.81% 20 Missing ⚠️
src/filter_functions/serialization.rs 85.60% 19 Missing ⚠️
src/filter_functions/array.rs 94.28% 8 Missing ⚠️
src/filter_functions/object.rs 87.30% 8 Missing ⚠️
src/filter_functions/path.rs 92.20% 6 Missing ⚠️
src/filter_functions/encoding.rs 94.66% 4 Missing ⚠️
src/filter_functions/formatting.rs 91.42% 3 Missing ⚠️
src/filter_functions/datetime.rs 97.46% 2 Missing ⚠️
src/filter_functions/math.rs 96.29% 2 Missing ⚠️
src/filter_functions/url.rs 96.22% 2 Missing ⚠️
... and 4 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #30      +/-   ##
==========================================
+ Coverage   91.12%   91.15%   +0.02%     
==========================================
  Files          31       45      +14     
  Lines        2873     3820     +947     
==========================================
+ Hits         2618     3482     +864     
- Misses        255      338      +83     

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

Comment thread .github/workflows/_build-binaries.yml Fixed
Comment thread .github/workflows/_build-packages.yml Fixed
Comment thread .github/workflows/_build-packages.yml Fixed
Comment thread .github/workflows/_build-packages.yml Fixed
Comment thread .github/workflows/ci.yml Fixed
Major changes:

Filter-Functions Architecture:
- Add unified filter_functions module supporting both function and filter syntax
- Migrate 50+ functions to new architecture (hash, encoding, math, string,
  array, datetime, path, URL, object, Kubernetes, serialization)
- Example: {{ sha256(string="hello") }} AND {{ "hello" | sha256 }}

New Functions:
- get_interfaces() - list network interfaces with IP addresses
- now() - returns Unix timestamp, optional format parameter
- get_hour(), get_minute(), get_second() - datetime component extraction

Packaging:
- Add Nix flake support (flake.nix)
- Add Windows MSI installer (WiX)
- Add macOS DMG packaging (create-dmg.sh)

CI/CD Improvements:
- Extract build logic into reusable workflows
- Run integration tests on built binaries
- Enable QEMU testing for ARM64 binaries
- Add pre-commit hook for cargo make qa

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bordeux
bordeux force-pushed the feature/new-packages-build branch from 35e1b0a to db27729 Compare January 3, 2026 19:41
bordeux and others added 2 commits January 3, 2026 20:51
…DE.md

Add comprehensive "Big Picture - What This Tool Does" section including:
- Purpose and typical use cases for DevOps/SRE workflows
- Function categories table (22 categories, 100+ functions)
- Key design decisions
- CLI and template quick references

Update Future Enhancements section to reflect implemented features.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add MiniJinja "is" test syntax support for all 9 is_* functions,
allowing both function and "is" syntax:
- Function: `{{ is_email(string="foo@bar.com") }}`
- "Is" test: `{% if "foo@bar.com" is email %}`

New is_functions module with:
- IsFunction trait for stateless functions (validation, datetime, network)
- ContextIsFunction trait for context-aware functions (filesystem)
- Validation: email, url, ip, uuid
- DateTime: leap_year
- Network: port_available
- Filesystem: file, dir, symlink

Changes:
- Add src/is_functions/ module with traits and implementations
- Update README.md with "Is Syntax" documentation section
- Update CLAUDE.md with is_functions architecture
- Add comprehensive unit tests (tests/test_is_*.rs)
- Add integration tests (tests/integration/tests/2[5-8]_is_*.sh)
- Clean up old implementations from src/functions/
- Remove redundant tests from old test files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bordeux
bordeux merged commit ba1808b into master Jan 3, 2026
23 checks passed
github-actions Bot pushed a commit that referenced this pull request Jan 3, 2026
## 1.3.0 (2026-01-03)

* Merge pull request #30 from bordeux/feature/new-packages-build ([ba1808b](ba1808b)), closes [#30](#30)
* feat: add dual syntax support for all is-functions ([2d71887](2d71887))
* feat: unified filter-functions architecture and packaging improvements ([db27729](db27729))
* docs: add big picture overview and update future enhancements in CLAUDE.md ([8b63c98](8b63c98))
@bordeux
bordeux deleted the feature/new-packages-build branch January 5, 2026 10:32
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