Files
action-server-install/.github/workflows/test.yml
Sebastian Krupinski 9ba650f17f
Some checks failed
Test Action / Test Node (pull_request) Failing after 22s
Test Action / Test Without Dependencies (pull_request) Successful in 17s
Test Action / Test Build Command (pull_request) Successful in 24s
Test Action / Test Custom Server Path (pull_request) Successful in 29s
Test Action / Test nginx (pull_request) Successful in 33s
Test Action / Test PHP (pull_request) Successful in 1m1s
Test Action / Test All Components (pull_request) Successful in 1m15s
chore: update name
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
2026-02-14 17:00:50 -05:00

193 lines
5.3 KiB
YAML

name: Test Action
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test-node:
name: Test Node
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test action with Node.js (npm)
uses: ./
with:
install-node: 'true'
node-version: '24'
package-manager: 'npm'
server-path: './test-server'
- name: Verify installation
run: |
test -d ./test-server || exit 1
test -d ./test-server/node_modules || exit 1
chmod +x ./scripts/health-check.sh
./scripts/health-check.sh ./test-server true false false
echo "✓ Node.js (npm) installation successful"
- name: Run server tests
run: |
cd ./test-server
npm test:unit
test-php:
name: Test PHP
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test action with PHP
uses: ./
with:
install-php: 'true'
php-version: '8.5'
server-path: './test-server'
- name: Verify installation
run: |
test -d ./test-server || exit 1
php --version
composer --version
chmod +x ./scripts/health-check.sh
./scripts/health-check.sh ./test-server false true false
echo "✓ PHP installation successful"
- name: Run server tests
run: |
cd ./test-server
composer test:unit
test-nginx:
name: Test nginx
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test action with nginx
uses: ./
with:
install-nginx: 'true'
server-path: './test-server'
- name: Verify installation
run: |
test -d ./test-server || exit 1
nginx -v
# Verify nginx is running
pgrep nginx || exit 1
chmod +x ./scripts/health-check.sh
./scripts/health-check.sh ./test-server false false true
echo "✓ nginx installation successful"
test-all-components:
name: Test All Components
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test action with all components
uses: ./
with:
install-node: 'true'
install-php: 'true'
install-nginx: 'true'
node-version: '24'
php-version: '8.5'
package-manager: 'npm'
server-path: './test-server'
- name: Verify installation
run: |
test -d ./test-server || exit 1
test -d ./test-server/node_modules || exit 1
node --version
npm --version
php --version
composer --version
nginx -v
chmod +x ./scripts/health-check.sh
./scripts/health-check.sh ./test-server true true true
echo "✓ All components installation successful"
- name: Run integration tests
run: |
cd ./test-server
if [ -f package.json ] && grep -q '"test:integration"' package.json; then
npm run test:integration
else
echo "⚠ No integration test script configured, skipping"
fi
test-custom-paths:
name: Test Custom Server Path
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test action with custom path
uses: ./
with:
install-node: 'true'
server-path: './my-custom-server'
- name: Verify installation
run: |
test -d ./my-custom-server || exit 1
test -d ./my-custom-server/node_modules || exit 1
echo "✓ Custom path installation successful"
- name: Run server tests
run: |
cd ./my-custom-server
if [ -f package.json ] && grep -q '"test"' package.json; then
npm test
else
echo "⚠ No test script configured, skipping"
fi
test-without-dependencies:
name: Test Without Dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test action without installing dependencies
uses: ./
with:
install-node: 'true'
install-dependencies: 'false'
server-path: './test-server'
- name: Verify installation
run: |
test -d ./test-server || exit 1
node --version
# node_modules should not exist since we skipped dependency installation
if [ -d ./test-server/node_modules ]; then
echo "✗ Dependencies were installed when they shouldn't have been"
exit 1
fi
echo "✓ Installation without dependencies successful"
test-build-command:
name: Test Build Command
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test action with build command
uses: ./
with:
install-node: 'true'
server-path: './test-server'
build-command: 'echo "Build complete" > build.log'
- name: Verify build
run: |
test -f ./test-server/build.log || exit 1
grep -q "Build complete" ./test-server/build.log || exit 1
echo "✓ Build command executed successfully"