Release Validation #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Validation | |
| on: | |
| release: | |
| types: [published, prereleased] | |
| workflow_dispatch: | |
| jobs: | |
| # Validate release | |
| release-validation: | |
| name: Release Validation | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Validate Release Version | |
| run: | | |
| echo "=== Validating Release Version ===" | |
| chmod +x ./phpvm.sh | |
| # Check version output | |
| VERSION_OUTPUT=$(./phpvm.sh version) | |
| echo "Version output: $VERSION_OUTPUT" | |
| if echo "$VERSION_OUTPUT" | grep -q "phpvm version"; then | |
| echo "Version output format is correct" | |
| else | |
| echo "Version output format is incorrect" | |
| exit 1 | |
| fi | |
| - name: Test Core Functionality | |
| run: | | |
| echo "=== Testing Core Functionality ===" | |
| ./phpvm.sh version | |
| ./phpvm.sh help | |
| ./phpvm.sh list | |
| ./phpvm.sh test | |
| echo "All core commands work" | |
| - name: Performance Check | |
| run: | | |
| echo "=== Performance Check ===" | |
| time ./phpvm.sh version >/dev/null | |
| time ./phpvm.sh help >/dev/null | |
| echo "Performance check completed" | |
| - name: Documentation Check | |
| if: runner.os == 'Linux' | |
| run: | | |
| echo "=== Documentation Check ===" | |
| # Check that README contains key commands | |
| if grep -q "phpvm version" README.MD; then | |
| echo "README contains version command documentation" | |
| else | |
| echo "README might be missing version command documentation" | |
| fi | |
| if grep -q "phpvm install" README.MD; then | |
| echo "README contains install command documentation" | |
| else | |
| echo "README missing install command documentation" | |
| exit 1 | |
| fi | |
| # Check changelog exists | |
| if [ -f CHANGELOG.md ]; then | |
| echo "Changelog file exists" | |
| else | |
| echo "Changelog file missing" | |
| exit 1 | |
| fi | |
| echo "Documentation check completed" |