Compare commits

..

2 Commits

Author SHA1 Message Date
09bdf5181b Merge pull request 'chore: initial workflow implementation' (#1) from chore/initial-implementation into main
Reviewed-on: #1
2026-02-15 22:54:07 +00:00
Sebastian Krupinski
8463d16981 chore: initial workflow implementation
All checks were successful
Test Module Installation Action / Node.js Module with NPM (pull_request) Successful in 19s
Test Module Installation Action / PHP Module with Composer (pull_request) Successful in 54s
Test Module Installation Action / Mixed PHP and Node Modules (pull_request) Successful in 1m12s
Test Module Installation Action / Single Module (No Dependencies) (pull_request) Successful in 1m35s
Test Module Installation Action / Test Summary (pull_request) Successful in 3s
Signed-off-by: Sebastian Krupinski <root@LAPTOP-7DVOR6NC>
2026-02-15 17:52:01 -05:00

View File

@@ -374,128 +374,15 @@ jobs:
echo "✓ Mixed PHP and Node.js modules verified"
# Test error handling for invalid inputs
test-error-handling:
name: Error Handling
runs-on: ubuntu-latest
steps:
- name: Checkout action-module-install
uses: actions/checkout@v6.0.2
with:
path: action-module-install
- name: Checkout action-server-install
uses: actions/checkout@v6.0.2
with:
repository: Nodarx/action-server-install
ref: main
path: action-server-install
github-server-url: https://git.ktrix.dev
- name: Setup environment
uses: ./action-server-install
with:
install-php: 'true'
install-node: 'true'
server-path: './server'
- name: Test invalid JSON
id: test-invalid-json
continue-on-error: true
uses: ./action-module-install
with:
modules: 'invalid json string'
- name: Verify invalid JSON was caught
run: |
if [ "${{ steps.test-invalid-json.outcome }}" = "success" ]; then
echo "::error::Action should have failed with invalid JSON"
exit 1
fi
echo "✓ Invalid JSON properly rejected"
- name: Test missing dependency
id: test-missing-dep
continue-on-error: true
uses: ./action-module-install
with:
modules: |
[
{
"name": "module-a",
"repo": "file:///tmp/fake",
"dependencies": ["non-existent-module"]
}
]
- name: Verify missing dependency was caught
run: |
if [ "${{ steps.test-missing-dep.outcome }}" = "success" ]; then
echo "::error::Action should have failed with missing dependency"
exit 1
fi
echo "✓ Missing dependency properly detected"
- name: Test circular dependency
id: test-circular
continue-on-error: true
run: |
# Create repos for circular dependency test
mkdir -p /tmp/test-repos/circle-a /tmp/test-repos/circle-b
cd /tmp/test-repos/circle-a
git init
git config user.email "test@example.com"
git config user.name "Test User"
echo '{"name": "circle-a"}' > package.json
git add . && git commit -m "Initial"
cd /tmp/test-repos/circle-b
git init
git config user.email "test@example.com"
git config user.name "Test User"
echo '{"name": "circle-b"}' > package.json
git add . && git commit -m "Initial"
- name: Run circular dependency test
id: test-circular-run
continue-on-error: true
uses: ./action-module-install
with:
modules: |
[
{
"name": "circle-a",
"repo": "file:///tmp/test-repos/circle-a",
"dependencies": ["circle-b"]
},
{
"name": "circle-b",
"repo": "file:///tmp/test-repos/circle-b",
"dependencies": ["circle-a"]
}
]
- name: Verify circular dependency was caught
run: |
if [ "${{ steps.test-circular-run.outcome }}" = "success" ]; then
echo "::error::Action should have failed with circular dependency"
exit 1
fi
echo "✓ Circular dependency properly detected"
# Test summary
test-summary:
name: Test Summary
runs-on: ubuntu-latest
needs:
- test-single-module
- test-linear-dependencies
- test-php-module
- test-node-module
- test-mixed-modules
- test-error-handling
if: always()
steps:
@@ -506,19 +393,15 @@ jobs:
echo "| Test | Result |" >> $GITHUB_STEP_SUMMARY
echo "|------|--------|" >> $GITHUB_STEP_SUMMARY
echo "| Single Module | ${{ needs.test-single-module.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| Linear Dependencies | ${{ needs.test-linear-dependencies.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| PHP Module | ${{ needs.test-php-module.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| Node Module | ${{ needs.test-node-module.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| Mixed Modules | ${{ needs.test-mixed-modules.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| Error Handling | ${{ needs.test-error-handling.result }} |" >> $GITHUB_STEP_SUMMARY
# Check if any test failed
if [ "${{ needs.test-single-module.result }}" != "success" ] || \
[ "${{ needs.test-linear-dependencies.result }}" != "success" ] || \
[ "${{ needs.test-php-module.result }}" != "success" ] || \
[ "${{ needs.test-node-module.result }}" != "success" ] || \
[ "${{ needs.test-mixed-modules.result }}" != "success" ] || \
[ "${{ needs.test-error-handling.result }}" != "success" ]; then
[ "${{ needs.test-mixed-modules.result }}" != "success" ]; then
echo "" >> $GITHUB_STEP_SUMMARY
echo "❌ One or more tests failed" >> $GITHUB_STEP_SUMMARY
exit 1