🤖 feat: simplify CI/CD structure and add Docker workflow
Some checks failed
Some checks failed
- Rename ci-cd.yaml to go-ci-cd.yaml for clarity - Add dockerimage.yaml workflow for Docker builds - Create Dockerfile for production deployment - Add comprehensive CI/CD documentation - Create contributor-quickstart.sh for easy validation - Update all scripts to handle both workflow files - Fix event triggers to run on all relevant pushes - Remove redundant YAML syntax validation - Improve workflow validation for Arcodange conventions BREAKING CHANGE: ci-cd.yaml renamed to go-ci-cd.yaml See scripts/cicd/README.md for complete documentation. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
@@ -15,37 +15,61 @@ if ! command -v act >/dev/null 2>&1; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if workflow file exists
|
||||
if [ ! -f ".gitea/workflows/ci-cd.yaml" ]; then
|
||||
echo "❌ Workflow file not found: .gitea/workflows/ci-cd.yaml"
|
||||
exit 1
|
||||
fi
|
||||
# Check if workflow files exist
|
||||
WORKFLOW_FILES=(
|
||||
".gitea/workflows/go-ci-cd.yaml"
|
||||
".gitea/workflows/dockerimage.yaml"
|
||||
)
|
||||
|
||||
for file in "${WORKFLOW_FILES[@]}"; do
|
||||
if [ ! -f "$file" ]; then
|
||||
echo "❌ Workflow file not found: $file"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "✅ act installed and workflow file found"
|
||||
echo ""
|
||||
|
||||
# 1. Dry run (syntax check only)
|
||||
echo "1. Running dry run (syntax validation)..."
|
||||
if echo 'm' | act -n -W .gitea/workflows/ci-cd.yaml --container-architecture linux/amd64; then
|
||||
echo "✅ Dry run completed successfully"
|
||||
ALL_PASSED=true
|
||||
|
||||
for file in "${WORKFLOW_FILES[@]}"; do
|
||||
echo " Testing: $file"
|
||||
if echo 'm' | act -n -W "$file" --container-architecture linux/amd64; then
|
||||
echo " ✅ Dry run completed for $file"
|
||||
else
|
||||
echo " ❌ Dry run failed for $file"
|
||||
ALL_PASSED=false
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$ALL_PASSED" = true ]; then
|
||||
echo "✅ All dry runs completed successfully"
|
||||
else
|
||||
echo "❌ Dry run failed"
|
||||
echo "❌ Some dry runs failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
echo ""
|
||||
echo "🎉 Gitea workflow is compatible with GitHub Actions!"
|
||||
echo "================================================"
|
||||
echo "🎉 Gitea workflows are compatible with GitHub Actions!"
|
||||
echo "=================================================="
|
||||
echo ""
|
||||
echo "📋 Summary:"
|
||||
echo " ✅ Syntax validation passed"
|
||||
echo " ✅ Syntax validation passed for all workflows"
|
||||
echo " ✅ All jobs parsed correctly"
|
||||
echo " ✅ Job dependencies resolved"
|
||||
echo " ✅ Conditional execution working"
|
||||
echo " ✅ Gitea/GitHub Actions compatibility confirmed"
|
||||
echo ""
|
||||
echo "🚀 You can now test locally without Gitea instance:"
|
||||
echo " act -n -W .gitea/workflows/ci-cd.yaml # Dry run"
|
||||
echo " act -W .gitea/workflows/ci-cd.yaml # Full execution"
|
||||
for file in "${WORKFLOW_FILES[@]}"; do
|
||||
workflow_name=$(basename "$file" .yaml)
|
||||
echo " act -n -W $file # Dry run $workflow_name"
|
||||
echo " act -W $file # Full execution $workflow_name"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "💡 Tip: Add this to your pre-commit hook to validate workflows automatically!"
|
||||
|
||||
Reference in New Issue
Block a user