Skip to content

v0.2.4 — Quality, Verification & CI Hardening

Choose a tag to compare

@cloudcwfranck cloudcwfranck released this 20 Dec 22:51
· 120 commits to main since this release
308b99c

Fixed - Test Infrastructure & Documentation Quality

Test Script Quality - ShellCheck Compliance

Summary: Fixed all ShellCheck INFO warnings (SC2086, SC2317) in test scripts without changing acc behavior or test assertions.

What Changed:

  • Test scripts now use array-based command invocation to prevent word-splitting issues
  • Helper functions use set +e / set -e pattern for safe exit code capture
  • All variable references properly quoted in command substitutions
  • Zero ShellCheck warnings while maintaining identical test behavior

Files Changed:

  • scripts/cli_help_matrix.sh - Array-based command execution for test_help_command() and test_not_implemented()
  • scripts/e2e_smoke.sh - Safe exit code capture in assert_success() and assert_failure()
  • scripts/registry_integration.sh - Quoted variable references
  • docs/testing-contract.md - Documented script implementation patterns and ShellCheck compliance

Technical Details:

SC2086 Fix (Word Splitting):

# Before:
output=$($ACC_BIN $cmd_args 2>&1)

# After:
cmd=( "$ACC_BIN" )
cmd+=( $cmd_args )  # Intentional word splitting with disable comment
output=$("${cmd[@]}" 2>&1)

SC2317 Fix (Unreachable Code):

# Before (shellcheck thinks exit_code=$? is unreachable):
output=$("$@" 2>&1)
exit_code=$?

# After (explicit set +e):
set +e
output=$("$@" 2>&1)
exit_code=$?
set -e

Documentation Updates:

  • Added "Test Script Implementation Patterns" section to testing-contract.md
  • Documented why || true pattern was replaced with set +e / set -e
  • Clarified that config and login commands are help-only stubs
  • Removed "Known Regressions" section (regressions fixed in v0.2.3)

Impact:

  • Improved script maintainability and portability
  • Better adherence to bash best practices
  • No behavior changes to acc product or CI gates
  • Zero impact on existing workflows

Testing: All scripts pass bash -n validation, Tier 0 tests GREEN

Documentation Updates

Summary: Updated README and documentation to reflect v0.2.4 release with accurate version references and CI testing information.

What Changed:

  • Updated all version references in README.md from v0.1.0 to v0.2.4
  • Added comprehensive "CI Test Tiers" section to README Development guide
  • Documented how to run Tier 0, Tier 1, and Tier 2 tests locally
  • Added reference to testing-contract.md for behavioral guarantees

Files Changed:

  • README.md - Version references updated, CI test tier documentation added
  • docs/testing-contract.md - Already updated with script implementation patterns

Release Focus:

v0.2.4 is a quality and verification release that demonstrates:

  • ✅ All Tier 0 and Tier 1 CI tests pass reliably
  • ✅ Zero ShellCheck warnings in test scripts
  • ✅ Documentation matches implementation reality
  • ✅ Enterprise-grade CI infrastructure with strict release gates
  • ✅ Clear testing contract with exit code guarantees

No Product Changes: This release contains NO changes to acc product behavior, CLI semantics, JSON schemas, or exit codes. All changes are test infrastructure, documentation, and quality improvements.

Installation

Download the appropriate binary for your platform and verify the checksum:

Linux (AMD64):

curl -LO "https://github.com/cloudcwfranck/acc/releases/download/v0.2.4/acc_0.2.4_linux_amd64.tar.gz"
curl -LO "https://github.com/cloudcwfranck/acc/releases/download/v0.2.4/checksums.txt"
sha256sum -c checksums.txt --ignore-missing
tar -xzf acc_0.2.4_linux_amd64.tar.gz
sudo mv acc-linux-amd64 /usr/local/bin/acc
chmod +x /usr/local/bin/acc
acc version

macOS (Apple Silicon):

curl -LO "https://github.com/cloudcwfranck/acc/releases/download/v0.2.4/acc_0.2.4_darwin_arm64.tar.gz"
curl -LO "https://github.com/cloudcwfranck/acc/releases/download/v0.2.4/checksums.txt"
shasum -a 256 -c checksums.txt --ignore-missing
tar -xzf acc_0.2.4_darwin_arm64.tar.gz
sudo mv acc-darwin-arm64 /usr/local/bin/acc
chmod +x /usr/local/bin/acc
acc version

See README.md for complete installation instructions.