chore: update name
All checks were successful
Test Action / Test Node (pull_request) Successful in 16s
Test Action / Test Without Dependencies (pull_request) Successful in 11s
Test Action / Test Custom Server Path (pull_request) Successful in 24s
Test Action / Test Build Command (pull_request) Successful in 27s
Test Action / Test nginx (pull_request) Successful in 38s
Test Action / Test PHP (pull_request) Successful in 1m0s
Test Action / Test All Components (pull_request) Successful in 1m28s

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-02-14 16:35:27 -05:00
parent f3c24e48fb
commit 1668116eec
2 changed files with 40 additions and 84 deletions

View File

@@ -6,8 +6,8 @@ on:
branches: [ main ]
jobs:
test-node-npm:
name: Test Node.js with npm
test-node:
name: Test Node
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -16,7 +16,7 @@ jobs:
uses: ./
with:
install-node: 'true'
node-version: '20'
node-version: '24'
package-manager: 'npm'
server-path: './test-server'
@@ -31,64 +31,7 @@ jobs:
- name: Run server tests
run: |
cd ./test-server
npm test
test-node-yarn:
name: Test Node.js with yarn
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Enable Corepack
run: corepack enable
- name: Test action with Node.js (yarn)
uses: ./
with:
install-node: 'true'
node-version: '20'
package-manager: 'yarn'
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 (yarn) installation successful"
- name: Run server tests
run: |
cd ./test-server
yarn test
test-node-pnpm:
name: Test Node.js with pnpm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test action with Node.js (pnpm)
uses: ./
with:
install-node: 'true'
node-version: '20'
package-manager: 'pnpm'
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 (pnpm) installation successful"
- name: Run server tests
run: |
cd ./test-server
pnpm test
npm run test:unit
test-php:
name: Test PHP
@@ -100,7 +43,7 @@ jobs:
uses: ./
with:
install-php: 'true'
php-version: '8.2'
php-version: '8.5'
server-path: './test-server'
- name: Verify installation
@@ -115,7 +58,7 @@ jobs:
- name: Run server tests
run: |
cd ./test-server
./vendor/bin/phpunit
composer test:unit
test-nginx:
name: Test nginx
@@ -133,7 +76,8 @@ jobs:
run: |
test -d ./test-server || exit 1
nginx -v
sudo systemctl status nginx --no-pager
# 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"
@@ -150,8 +94,8 @@ jobs:
install-node: 'true'
install-php: 'true'
install-nginx: 'true'
node-version: '20'
php-version: '8.2'
node-version: '24'
php-version: '8.5'
package-manager: 'npm'
server-path: './test-server'
@@ -171,7 +115,11 @@ jobs:
- name: Run integration tests
run: |
cd ./test-server
npm run test:integration
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
@@ -194,7 +142,11 @@ jobs:
- name: Run server tests
run: |
cd ./my-custom-server
npm test
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
@@ -235,6 +187,5 @@ jobs:
- 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"
cd ./test-server
npm run dev

View File

@@ -1,4 +1,4 @@
name: 'Server Install Action'
name: 'Nodarx Server Install Action'
description: 'Clone Nodarx server repository and install Node.js, PHP, and/or nginx based on test requirements'
author: 'Nodarx'
@@ -30,7 +30,7 @@ inputs:
node-version:
description: 'Node.js version to use (if install-node is true)'
required: false
default: '20'
default: '24'
package-manager:
description: 'Package manager for Node.js (npm, yarn, pnpm)'
required: false
@@ -38,12 +38,12 @@ inputs:
php-version:
description: 'PHP version to use (if install-php is true)'
required: false
default: '8.2'
default: '8.5'
php-extensions:
description: 'Comma-separated list of PHP extensions to install'
required: false
default: 'mbstring, xml, ctype, json, curl, zip'
web-config:
nginx-config:
description: 'Path to nginx configuration file (optional)'
required: false
default: ''
@@ -140,7 +140,7 @@ runs:
coverage: none
- name: Install nginx
if: inputs.install-web-server == 'true'
if: inputs.install-nginx == 'true'
shell: bash
run: |
echo "::group::Installing nginx"
@@ -151,7 +151,7 @@ runs:
echo "::endgroup::"
- name: Configure nginx
if: inputs.install-web-server == 'true' && inputs.nginx-config != ''
if: inputs.install-nginx == 'true' && inputs.nginx-config != ''
shell: bash
run: |
echo "::group::Configuring nginx"
@@ -159,23 +159,28 @@ runs:
if [ -f "${{ inputs.nginx-config }}" ]; then
sudo cp "${{ inputs.nginx-config }}" /etc/nginx/sites-available/default
sudo nginx -t
sudo systemctl reload nginx
echo "nginx configured successfully"
else
echo "::warning::nginx config file not found: ${{ inputs.nginx-config }}"
fi
echo "::endgroup::"
echo "::endgroup:"
- name: Start nginx
if: inputs.install-web-server == 'true'
if: inputs.install-nginx == 'true'
shell: bash
run: |
echo "::group::Starting nginx"
sudo systemctl start nginx
sudo systemctl status nginx --no-pager || true
sudo nginx || echo "nginx may already be running"
# Verify nginx is working
if sudo nginx -t 2>/dev/null; then
echo "✓ nginx configuration valid"
fi
if pgrep nginx >/dev/null; then
echo "✓ nginx is running"
fi
echo "nginx started successfully"
echo "::endgroup::"
echo "::endgroup:"
- name: Install Node.js dependencies
if: inputs.install-node == 'true' && inputs.install-dependencies == 'true'
@@ -211,7 +216,7 @@ runs:
cd "${{ inputs.server-path }}"
if [ -f "composer.json" ]; then
composer install --no-dev --optimize-autoloader
composer install --optimize-autoloader
echo "PHP dependencies installed successfully"
else
echo "::warning::composer.json not found, skipping PHP dependency installation"