Skip to content

v1.0.0

Choose a tag to compare

@RootX22 RootX22 released this 23 Aug 21:36
· 1 commit to b2e38159ce8b599ac7b00db6c3b2c104814a20d1 since this release

First release.

Release-directory deployment with an atomic rename(2) symlink swap, health-checked with automatic rollback, plus a preflight that catches the failures that strand a deploy halfway.

Includes a reusable GitHub Actions workflow with deploy concurrency gating, and a multi-stage PHP-FPM Dockerfile that keeps Composer and Node out of the runtime image.

Bugs found and fixed by the test suite before release

  • mv -T is GNU-only, so the swap failed on BSD/macOS — replaced with a portable atomic_symlink().
  • An explicit die after the swap bypassed the ERR trap, so a failed health check left the broken release live — exactly the case rollback exists for.
  • (( pruned++ )) returns exit status 1 on the first increment; under set -e that aborted the script after a fully successful deploy.