Skip to content

Sprint 5: Linux parity + auto-release (1.7.0)#9

Merged
devhardiyanto merged 2 commits into
mainfrom
feat/sprint-5-linux-parity
Jun 9, 2026
Merged

Sprint 5: Linux parity + auto-release (1.7.0)#9
devhardiyanto merged 2 commits into
mainfrom
feat/sprint-5-linux-parity

Conversation

@devhardiyanto

Copy link
Copy Markdown
Owner

Summary

Closes the remaining Linux parity gaps with Windows and adds tag-driven release automation.

  • phpvm composer on Linux — installs composer.phar + POSIX shim into the active PHP version's bin/, signature-verified via composer.github.io/installer.sig (SHA-384).
  • phpvm fix-ini on Linux — rewrites extension_dir to PHP's compiled-in PHP_EXTENSION_DIR (in-place edit if line exists, append otherwise).
  • phpvm ext laravel [minimal|full] on Linux — enables Laravel-typical extensions via conf.d/ drop-ins, full preset also installs Redis via PECL when not already loaded. Gracefully skips extensions not built into the active PHP.
  • Auto-release workflow (.github/workflows/release.yml) — triggered on push: tags: ['v*']. Verifies tag matches version.txt, generates release notes from git log since the previous tag, creates the GitHub release. No more manual gh release create.
  • Version bump 1.6.5 → 1.7.0 across all 5 sources (CI version-consistency enforces this).

Test plan

  • Local bats: 21 (auto.bats) + 13 (commands.bats) = 34 tests pass
  • PowerShell + Pester suite untouched (no Windows changes besides version bump)
  • Confirm CI green (Windows lint+tests / Linux shellcheck+bats / Version consistency)
  • After merge: tag v1.7.0 push triggers the new release workflow and produces the GitHub release without manual gh release create

Why bump minor (1.7.0)

This release closes the last Linux↔Windows command-surface gap (composer, fix-ini, ext laravel). Two-way parity is a feature-complete milestone worth a minor bump rather than a patch.

🤖 Generated with Claude Code

- phpvm composer: install composer.phar + POSIX shim per active PHP version,
  installer signature verified against composer.github.io/installer.sig
- phpvm fix-ini: rewrites extension_dir to PHP_EXTENSION_DIR (in-place or append)
- phpvm ext laravel [minimal|full]: enable bundled exts via conf.d drop-in,
  optional Redis via PECL on full preset, gracefully skips missing .so
- .github/workflows/release.yml: auto-create GitHub release on v* tag push,
  verifies tag matches version.txt, generates notes from git log since previous tag
- tests/linux/commands.bats: 13 tests covering dispatch + behavior of the new
  commands, stubs _phpvm_current_version so the suite runs cross-platform
- README: documents the three new Linux commands; existing Linux section
  notes parity with Windows since 1.7.0
- Version bumped 1.6.5 → 1.7.0 across all 5 sources
@devhardiyanto devhardiyanto merged commit d2ad4f6 into main Jun 9, 2026
3 checks passed
@devhardiyanto devhardiyanto deleted the feat/sprint-5-linux-parity branch June 9, 2026 15:57
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