Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
e4c5a62
docs: add claude.md file
bordeux Dec 31, 2025
ee287c0
feat: add 12 string manipulation filters
bordeux Dec 31, 2025
96bea9c
feat: add system and network information functions
bordeux Dec 31, 2025
858a554
feat: implement comprehensive date/time manipulation functions
bordeux Dec 31, 2025
f524604
feat: add exec() and exec_raw() command execution functions
bordeux Dec 31, 2025
cdff5b4
docs: add command execution functions to README
bordeux Dec 31, 2025
e347fe3
fix: make exec test cross-platform compatible with Windows
bordeux Dec 31, 2025
af9f07e
refactor: move unit tests from src/ to tests/ folder
bordeux Dec 31, 2025
48bfdf3
test: add comprehensive error case tests for datetime functions
bordeux Dec 31, 2025
de29ebd
style: apply cargo fmt to test files
bordeux Dec 31, 2025
c425e6c
feat: add encoding and security functions
bordeux Dec 31, 2025
81a938f
fix: use div_ceil instead of manual ceiling division
bordeux Dec 31, 2025
14d4046
feat: add path manipulation and filesystem checking functions
bordeux Dec 31, 2025
280d24c
docs: update README and TODO with encoding and path functions
bordeux Dec 31, 2025
ec73f8f
docs: mark Network/System and String Manipulation sections as complet…
bordeux Dec 31, 2025
24c496b
feat: add debugging and development functions
bordeux Dec 31, 2025
dfe5e92
fix: normalize path separators to forward slashes for cross-platform …
bordeux Dec 31, 2025
8cd5831
docs: improve function naming conventions in TODO
bordeux Dec 31, 2025
60e0953
docs: add debugging & development functions documentation
bordeux Dec 31, 2025
b8d19c9
feat: add data serialization functions and enhance read_lines
bordeux Dec 31, 2025
11a7416
feat: add --validate option for output format validation
bordeux Dec 31, 2025
ea693fa
docs: update Docker usage to binary extraction pattern
bordeux Dec 31, 2025
91ca1eb
feat: add object manipulation functions
bordeux Dec 31, 2025
71bd8df
ci: add binary integration tests and build artifacts
bordeux Dec 31, 2025
61929b5
refactor: modularize binary integration tests
bordeux Dec 31, 2025
d154474
test: add comprehensive error handling tests for string filters
bordeux Dec 31, 2025
98e805e
test: add comprehensive error handling tests for serialization functions
bordeux Dec 31, 2025
c383c80
test: add comprehensive test coverage for renderer and main.rs logic
bordeux Dec 31, 2025
33bf75f
fix: resolve clippy warnings in test files
bordeux Dec 31, 2025
91bdbef
fix: add renderer test
bordeux Dec 31, 2025
ace6cfc
fix: resolve remaining clippy unnecessary_unwrap warning in CI
bordeux Dec 31, 2025
0c126be
fix: make renderer tests cross-platform compatible for Windows
bordeux Dec 31, 2025
8eee097
ci: simplify workflow by removing redundant format and clippy jobs
bordeux Dec 31, 2025
d9039f4
feat: add predicate functions for array and string checking
bordeux Dec 31, 2025
6d05bf7
feat: add statistical and array manipulation functions
bordeux Dec 31, 2025
30e4c21
feat: add advanced array manipulation functions
bordeux Dec 31, 2025
434481f
feat: add math functions (min, max, abs, round, ceil, floor, percentage)
bordeux Jan 1, 2026
2035a51
feat: add logic functions (default, coalesce, ternary, in_range)
bordeux Jan 1, 2026
e74595a
feat: add Kubernetes helper functions with k8s_ prefix
bordeux Jan 1, 2026
d4d5120
fix(k8s): collapse consecutive dashes in k8s_label_safe
bordeux Jan 1, 2026
5e87a91
refactor: move validator tests to tests directory
bordeux Jan 1, 2026
13a455a
feat: add URL and HTTP utility functions
bordeux Jan 1, 2026
6c0ae42
feat: enhance build_url with default scheme and object query support
bordeux Jan 1, 2026
f950ad3
refactor: eliminate code duplication in URL functions
bordeux Jan 1, 2026
2c02663
feat: add Kubernetes reference functions and update documentation
bordeux Jan 1, 2026
ac242ef
docs: Remove TODO file
bordeux Jan 1, 2026
76402e7
fix: resolve integration test failures in CI/CD
bordeux Jan 1, 2026
71bded7
fix: correct Jinja2 template syntax for array functions
bordeux Jan 1, 2026
effbd09
fix: replace undefined assert_true with proper pass/fail logic
bordeux Jan 1, 2026
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
108 changes: 60 additions & 48 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,54 +14,6 @@ env:
CARGO_TERM_COLOR: always

jobs:
format:
name: Format Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt

- name: Check formatting
run: cargo fmt --all -- --check

clippy:
name: Clippy Lints
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
components: clippy

- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}

- name: Run clippy
run: cargo clippy --all-targets --all-features -- -D warnings

test:
name: Test Suite
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -160,3 +112,63 @@ jobs:

- name: Test examples
run: cargo make test-examples

build-and-test-binary:
name: Build & Test Binary (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
artifact_name: tmpltool
asset_name: tmpltool-linux-x86_64
- os: macos-latest
artifact_name: tmpltool
asset_name: tmpltool-macos
- os: windows-latest
artifact_name: tmpltool.exe
asset_name: tmpltool-windows.exe
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}

- name: Build release binary
run: cargo build --release --verbose

- name: Run binary integration tests (Unix)
if: runner.os != 'Windows'
run: bash tests/integration/test_binary.sh ./target/release/${{ matrix.artifact_name }}

- name: Run binary integration tests (Windows)
if: runner.os == 'Windows'
shell: bash
run: bash tests/integration/test_binary.sh ./target/release/${{ matrix.artifact_name }}

- name: Upload binary artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.asset_name }}
path: target/release/${{ matrix.artifact_name }}
if-no-files-found: error
retention-days: 7
Loading