attempt to isolate gitlab logic to mainline mkstack

This commit is contained in:
Chad Curtis 2025-07-25 23:51:13 +00:00
parent 1de668785f
commit 36237fd5b6

View File

@ -12,32 +12,51 @@ test:
stage: test stage: test
script: script:
- | - |
# Run npm test and capture output and exit code # Check if this is a non-forked execution on soapbox-pub/mkstack
set +e if [ "$CI_PROJECT_NAMESPACE" = "soapbox-pub" ] && [ "$CI_PROJECT_NAME" = "mkstack" ] && [ "$CI_PROJECT_PATH" = "soapbox-pub/mkstack" ]; then
test_output=$(npm run test 2>&1) echo "Running on soapbox-pub/mkstack - applying template-specific test logic"
test_exit_code=$?
set -e
echo "$test_output" # Run npm test and capture output and exit code
set +e
test_output=$(npm run test 2>&1)
test_exit_code=$?
set -e
# Check if the output contains exactly 6 linting problems echo "$test_output"
if echo "$test_output" | grep -q "✖ 6 problems (6 errors, 0 warnings)"; then
echo "✅ Expected 6 linting errors found - template is correctly configured" # Check if the output contains exactly 6 linting problems
exit 0 if echo "$test_output" | grep -q "✖ 6 problems (6 errors, 0 warnings)"; then
elif [ $test_exit_code -eq 0 ]; then echo "✅ Expected 6 linting errors found - template is correctly configured"
echo "✅ Tests passed with no linting errors" exit 0
exit 0 elif [ $test_exit_code -eq 0 ]; then
echo "✅ Tests passed with no linting errors"
exit 0
else
echo "❌ Unexpected test failure or wrong number of linting errors"
exit 1
fi
else else
echo "❌ Unexpected test failure or wrong number of linting errors" echo "Running on fork or different project - using standard test behavior"
exit 1 npm run test
fi fi
pages: pages:
stage: deploy stage: deploy
script: script:
- npm run build - |
- rm -rf public # Check if this is a non-forked execution on soapbox-pub/mkstack
- mv dist public if [ "$CI_PROJECT_NAMESPACE" = "soapbox-pub" ] && [ "$CI_PROJECT_NAME" = "mkstack" ] && [ "$CI_PROJECT_PATH" = "soapbox-pub/mkstack" ]; then
echo "Running on soapbox-pub/mkstack - proceeding with deployment"
npm run build
rm -rf public
mv dist public
else
echo "Running on fork or different project - skipping deployment"
echo "This is expected behavior for forks"
# Create a minimal public directory to avoid job failure
mkdir -p public
echo "<html><body><h1>Deployment skipped for fork</h1><p>This deployment is only active on soapbox-pub/mkstack</p></body></html>" > public/index.html
fi
artifacts: artifacts:
paths: paths:
- public - public