.github/workflows/weekly.yml #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Weekly | ||
| on: | ||
| schedule: | ||
| - cron: "0 6 * * 1" | ||
| workflow_dispatch: | ||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: false | ||
| jobs: | ||
| validate: | ||
| name: Validate Site | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Check HTML | ||
| run: | | ||
| find . -name "*.html" -type f | head -20 | ||
| echo "HTML files found: $(find . -name '*.html' -type f | wc -l)" | ||
| - name: Check links | ||
| run: | | ||
| grep -roh 'href="[^"]*"' *.html docs/*.html 2>/dev/null | sort -u | head -50 | ||
| echo "Links checked" | ||
| - name: Verify CNAME | ||
| run: | | ||
| if [ -f CNAME ]; then | ||
| echo "CNAME: $(cat CNAME)" | ||
| else | ||
| echo "No CNAME file" | ||
| fi | ||
| report: | ||
| name: Weekly Report | ||
| runs-on: ubuntu-latest | ||
| needs: [validate] | ||
| if: always() | ||
| steps: | ||
| - name: Summary | ||
| run: | | ||
| echo "## Weekly Report — Website" | ||
| echo "| Job | Status |" | ||
| echo "|---|---|" | ||
| echo "| Site validation | ${{ needs.validate.result }} |" | ||
| name: Website Weekly | ||
| on: | ||
| schedule: | ||
| - cron: '0 6 * * 1' | ||
| workflow_dispatch: | ||
| jobs: | ||
| weekly: | ||
| name: Weekly (${{ matrix.os }}) | ||
| runs-on: ${{ matrix.os }} | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| os: [ubuntu-latest, windows-latest, macos-latest] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Validate HTML | ||
| if: runner.os == 'Linux' | ||
| run: | | ||
| sudo apt-get update && sudo apt-get install -y tidy || true | ||
| find . -name "*.html" -not -path "./.git/*" | while read f; do | ||
| echo "Checking: $f" | ||
| tidy -q -e "$f" 2>&1 || true | ||
| done | ||
| echo "HTML validation complete" | ||
| - name: Check links | ||
| if: runner.os == 'Linux' | ||
| run: | | ||
| find . -name "*.html" -not -path "./.git/*" | while read f; do | ||
| echo "Scanning: $f" | ||
| grep -oP 'href="\K[^"]+' "$f" 2>/dev/null || true | ||
| done | ||
| echo "Link scan complete" | ||