Skip to content

Release Validation

Release Validation #1

Workflow file for this run

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"