chore: update name
All checks were successful
Test Action / Test Node (pull_request) Successful in 18s
Test Action / Test Without Dependencies (pull_request) Successful in 9s
Test Action / Test nginx (pull_request) Successful in 21s
Test Action / Test Custom Server Path (pull_request) Successful in 28s
Test Action / Test Build Command (pull_request) Successful in 26s
Test Action / Test PHP (pull_request) Successful in 1m8s
Test Action / Test All Components (pull_request) Successful in 1m25s

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

View File

@@ -6,8 +6,8 @@ on:
branches: [ main ] branches: [ main ]
jobs: jobs:
test-node-npm: test-node:
name: Test Node.js with npm name: Test Node
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -16,7 +16,7 @@ jobs:
uses: ./ uses: ./
with: with:
install-node: 'true' install-node: 'true'
node-version: '20' node-version: '24'
package-manager: 'npm' package-manager: 'npm'
server-path: './test-server' server-path: './test-server'
@@ -31,64 +31,7 @@ jobs:
- name: Run server tests - name: Run server tests
run: | run: |
cd ./test-server cd ./test-server
npm test npm run test:unit
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
test-php: test-php:
name: Test PHP name: Test PHP
@@ -100,7 +43,7 @@ jobs:
uses: ./ uses: ./
with: with:
install-php: 'true' install-php: 'true'
php-version: '8.2' php-version: '8.5'
server-path: './test-server' server-path: './test-server'
- name: Verify installation - name: Verify installation
@@ -115,7 +58,7 @@ jobs:
- name: Run server tests - name: Run server tests
run: | run: |
cd ./test-server cd ./test-server
./vendor/bin/phpunit composer test:unit
test-nginx: test-nginx:
name: Test nginx name: Test nginx
@@ -133,7 +76,8 @@ jobs:
run: | run: |
test -d ./test-server || exit 1 test -d ./test-server || exit 1
nginx -v nginx -v
sudo systemctl status nginx --no-pager # Verify nginx is running
pgrep nginx || exit 1
chmod +x ./scripts/health-check.sh chmod +x ./scripts/health-check.sh
./scripts/health-check.sh ./test-server false false true ./scripts/health-check.sh ./test-server false false true
echo "✓ nginx installation successful" echo "✓ nginx installation successful"
@@ -150,8 +94,8 @@ jobs:
install-node: 'true' install-node: 'true'
install-php: 'true' install-php: 'true'
install-nginx: 'true' install-nginx: 'true'
node-version: '20' node-version: '24'
php-version: '8.2' php-version: '8.5'
package-manager: 'npm' package-manager: 'npm'
server-path: './test-server' server-path: './test-server'
@@ -171,7 +115,11 @@ jobs:
- name: Run integration tests - name: Run integration tests
run: | run: |
cd ./test-server 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: test-custom-paths:
name: Test Custom Server Path name: Test Custom Server Path
@@ -194,7 +142,11 @@ jobs:
- name: Run server tests - name: Run server tests
run: | run: |
cd ./my-custom-server 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: test-without-dependencies:
name: Test Without Dependencies name: Test Without Dependencies

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