mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 09:37:55 -05:00
cleanup: remove unused workflow — Actions disabled, CI runs on Gitea
This commit is contained in:
192
.github/workflows/pr-checks.yml
vendored
192
.github/workflows/pr-checks.yml
vendored
@@ -1,192 +0,0 @@
|
|||||||
# ============================================================================
|
|
||||||
# BlackRoad OS - Pull Request Checks
|
|
||||||
# Copyright (c) 2025 BlackRoad OS, Inc. / Alexa Louise Amundson
|
|
||||||
# All Rights Reserved.
|
|
||||||
# ============================================================================
|
|
||||||
#
|
|
||||||
# Additional checks for pull requests.
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
name: PR Checks
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
types: [opened, edited, synchronize, reopened]
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
# Validate PR Title (Conventional Commits)
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
pr-title:
|
|
||||||
name: Validate PR Title
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Check PR title format
|
|
||||||
uses: amannn/action-semantic-pull-request@v5
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
types: |
|
|
||||||
feat
|
|
||||||
fix
|
|
||||||
docs
|
|
||||||
style
|
|
||||||
refactor
|
|
||||||
perf
|
|
||||||
test
|
|
||||||
build
|
|
||||||
ci
|
|
||||||
chore
|
|
||||||
revert
|
|
||||||
scopes: |
|
|
||||||
operator
|
|
||||||
quantum
|
|
||||||
teacher
|
|
||||||
cli
|
|
||||||
web
|
|
||||||
agents
|
|
||||||
infra
|
|
||||||
deps
|
|
||||||
requireScope: false
|
|
||||||
subjectPattern: ^[A-Z].+$
|
|
||||||
subjectPatternError: |
|
|
||||||
The PR title "{subject}" must start with an uppercase letter.
|
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
# Check for Breaking Changes
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
breaking-changes:
|
|
||||||
name: Breaking Change Check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Check for breaking changes
|
|
||||||
run: |
|
|
||||||
# Check if PR title or body mentions breaking changes
|
|
||||||
TITLE="${{ github.event.pull_request.title }}"
|
|
||||||
BODY="${{ github.event.pull_request.body }}"
|
|
||||||
|
|
||||||
if echo "$TITLE" | grep -qi "breaking\|BREAKING"; then
|
|
||||||
echo "::warning::This PR indicates breaking changes in the title"
|
|
||||||
echo "## Breaking Change Detected" >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo "The PR title mentions breaking changes. Ensure:" >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo "- [ ] CHANGELOG is updated" >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo "- [ ] Migration guide is provided" >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo "- [ ] Version bump is major" >> $GITHUB_STEP_SUMMARY
|
|
||||||
fi
|
|
||||||
|
|
||||||
if echo "$BODY" | grep -qi "breaking change"; then
|
|
||||||
echo "::warning::This PR body mentions breaking changes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
# Check File Sizes
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
file-size:
|
|
||||||
name: Check File Sizes
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Check for large files
|
|
||||||
run: |
|
|
||||||
echo "## Large Files Check" >> $GITHUB_STEP_SUMMARY
|
|
||||||
|
|
||||||
# Find files larger than 1MB
|
|
||||||
LARGE_FILES=$(find . -type f -size +1M -not -path './.git/*' 2>/dev/null || true)
|
|
||||||
|
|
||||||
if [ -n "$LARGE_FILES" ]; then
|
|
||||||
echo "::warning::Large files detected (>1MB)"
|
|
||||||
echo "### Large files found:" >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo '```' >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo "$LARGE_FILES" | while read f; do
|
|
||||||
SIZE=$(du -h "$f" | cut -f1)
|
|
||||||
echo "$f ($SIZE)"
|
|
||||||
done >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo '```' >> $GITHUB_STEP_SUMMARY
|
|
||||||
else
|
|
||||||
echo "No large files detected" >> $GITHUB_STEP_SUMMARY
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
# License Header Check
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
license-check:
|
|
||||||
name: License Header Check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Check for license headers
|
|
||||||
run: |
|
|
||||||
echo "## License Header Check" >> $GITHUB_STEP_SUMMARY
|
|
||||||
|
|
||||||
MISSING=0
|
|
||||||
|
|
||||||
# Check Python files
|
|
||||||
for f in $(find . -name "*.py" -type f -not -path './.git/*' | head -50); do
|
|
||||||
if ! head -10 "$f" | grep -q "Copyright"; then
|
|
||||||
echo "Missing header: $f"
|
|
||||||
MISSING=$((MISSING + 1))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Check Shell scripts
|
|
||||||
for f in $(find . -name "*.sh" -type f -not -path './.git/*' | head -50); do
|
|
||||||
if ! head -10 "$f" | grep -q "Copyright"; then
|
|
||||||
echo "Missing header: $f"
|
|
||||||
MISSING=$((MISSING + 1))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ $MISSING -gt 0 ]; then
|
|
||||||
echo "::notice::$MISSING files missing copyright headers"
|
|
||||||
echo "$MISSING files missing copyright headers" >> $GITHUB_STEP_SUMMARY
|
|
||||||
else
|
|
||||||
echo "All checked files have copyright headers" >> $GITHUB_STEP_SUMMARY
|
|
||||||
fi
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
# Commit Message Check
|
|
||||||
# ─────────────────────────────────────────────────────────────────────────
|
|
||||||
commit-check:
|
|
||||||
name: Commit Message Check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Check commit messages
|
|
||||||
run: |
|
|
||||||
echo "## Commit Message Analysis" >> $GITHUB_STEP_SUMMARY
|
|
||||||
|
|
||||||
# Get commits in this PR
|
|
||||||
BASE="${{ github.event.pull_request.base.sha }}"
|
|
||||||
HEAD="${{ github.event.pull_request.head.sha }}"
|
|
||||||
|
|
||||||
COMMITS=$(git log --oneline $BASE..$HEAD 2>/dev/null || git log --oneline -10)
|
|
||||||
|
|
||||||
echo "### Commits in this PR:" >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo '```' >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo "$COMMITS" >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo '```' >> $GITHUB_STEP_SUMMARY
|
|
||||||
|
|
||||||
# Check for WIP commits
|
|
||||||
if echo "$COMMITS" | grep -qi "wip\|work in progress\|fixup\|squash"; then
|
|
||||||
echo "::warning::PR contains WIP/fixup commits - consider squashing before merge"
|
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo "**Warning:** Contains WIP/fixup commits" >> $GITHUB_STEP_SUMMARY
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user