Skip to content

feat: add comprehensive GitHub Actions workflow suite #1

feat: add comprehensive GitHub Actions workflow suite

feat: add comprehensive GitHub Actions workflow suite #1

Workflow file for this run

name: CI Pipeline
on:
push:
branches: [ main, develop, "copilot/**" ]
pull_request:
branches: [ main, develop ]
workflow_dispatch:
jobs:
# Quick checks that run first
pre-checks:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Check for merge conflicts
run: |
if git grep -rn "^<<<<<<< " . ; then
echo "Merge conflict markers found!"
exit 1
fi
- name: Check file permissions
run: |
if find . -name "*.el" -executable -type f | grep -q .; then
echo "Found executable .el files (should not be executable)"
find . -name "*.el" -executable -type f
exit 1
fi
- name: Check for large files
run: |
large_files=$(find . -type f -size +1M -not -path "*/\.*" -not -path "*/node_modules/*")
if [ -n "$large_files" ]; then
echo "Warning: Large files found:"
echo "$large_files"
fi
continue-on-error: true
# Elisp checks
elisp-checks:
needs: pre-checks
uses: ./.github/workflows/elisp-compile.yml
elisp-lint:
needs: pre-checks
uses: ./.github/workflows/elisp-lint.yml
elisp-tests:
needs: [elisp-checks, elisp-lint]
uses: ./.github/workflows/elisp-test.yml
# Org-mode checks
org-validation:
needs: pre-checks
uses: ./.github/workflows/org-mode-validation.yml
# JavaScript checks
javascript-checks:
needs: pre-checks
uses: ./.github/workflows/javascript-ci.yml
# Documentation
documentation:
needs: pre-checks
uses: ./.github/workflows/documentation-check.yml
# Code quality
code-quality:
needs: pre-checks
uses: ./.github/workflows/code-quality.yml
# Security (runs in parallel with others)
security:
needs: pre-checks
uses: ./.github/workflows/security-scan.yml

Check failure on line 78 in .github/workflows/ci-pipeline.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci-pipeline.yml

Invalid workflow file

error parsing called workflow ".github/workflows/ci-pipeline.yml" -> "./.github/workflows/security-scan.yml" (source branch with sha:cdb9eb6c779f43d13864e2a75bd8b0fbca442c15) : workflow is not reusable as it is missing a `on.workflow_call` trigger
permissions:
actions: read
contents: read
security-events: write
# Final summary
ci-summary:
runs-on: ubuntu-latest
needs: [elisp-checks, elisp-lint, elisp-tests, org-validation, javascript-checks, documentation, code-quality]
if: always()
steps:
- name: Check job statuses
run: |
echo "CI Pipeline Summary:"
echo "==================="
echo "Elisp Checks: ${{ needs.elisp-checks.result }}"
echo "Elisp Lint: ${{ needs.elisp-lint.result }}"
echo "Elisp Tests: ${{ needs.elisp-tests.result }}"
echo "Org Validation: ${{ needs.org-validation.result }}"
echo "JavaScript: ${{ needs.javascript-checks.result }}"
echo "Documentation: ${{ needs.documentation.result }}"
echo "Code Quality: ${{ needs.code-quality.result }}"
if [ "${{ needs.elisp-checks.result }}" == "failure" ] || \
[ "${{ needs.elisp-lint.result }}" == "failure" ] || \
[ "${{ needs.elisp-tests.result }}" == "failure" ]; then
echo ""
echo "Critical checks failed!"
exit 1
fi
- name: Report success
if: success()
run: |
echo "✓ All CI checks passed!"
echo "The code is ready for review."