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
script:
- |
# 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 this is a non-forked execution on soapbox-pub/mkstack
if [ "$CI_PROJECT_NAMESPACE" = "soapbox-pub" ] && [ "$CI_PROJECT_NAME" = "mkstack" ] && [ "$CI_PROJECT_PATH" = "soapbox-pub/mkstack" ]; then
echo "Running on soapbox-pub/mkstack - applying template-specific test logic"
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
if echo "$test_output" | grep -q "✖ 6 problems (6 errors, 0 warnings)"; then
echo "✅ Expected 6 linting errors found - template is correctly configured"
exit 0
elif [ $test_exit_code -eq 0 ]; then
echo "✅ Tests passed with no linting errors"
exit 0
echo "$test_output"
# Check if the output contains exactly 6 linting problems
if echo "$test_output" | grep -q "✖ 6 problems (6 errors, 0 warnings)"; then
echo "✅ Expected 6 linting errors found - template is correctly configured"
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
echo "❌ Unexpected test failure or wrong number of linting errors"
exit 1
echo "Running on fork or different project - using standard test behavior"
npm run test
fi
pages:
stage: deploy
script:
- npm run build
- rm -rf public
- mv dist public
- |
# Check if this is a non-forked execution on soapbox-pub/mkstack
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:
paths:
- public