Skip to content

.github/workflows/weekly.yml #1

.github/workflows/weekly.yml

.github/workflows/weekly.yml #1

Workflow file for this run

name: Weekly

Check failure on line 1 in .github/workflows/weekly.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/weekly.yml

Invalid workflow file

(Line: 46, Col: 1): 'name' is already defined, (Line: 48, Col: 1): 'on' is already defined, (Line: 53, Col: 1): 'jobs' is already defined
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"