Skip to content

Daily TIF Update

Daily TIF Update #2

Workflow file for this run

name: Daily TIF Update
on:
schedule:
# Every day at 02:17 UTC
- cron: '17 02 * * *'
workflow_dispatch: # allow manual trigger from Actions tab
permissions:
contents: write
jobs:
update-feeds:
name: Check status & update README
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: pip install -r requirements.txt
# Step 1: validate CSV before doing anything
- name: Validate CSV
working-directory: scripts
run: python3 tif-validator.py
# Step 2: check live HTTP status of every feed URL
# writes/updates FeedStatus column in threat-intelligence-feeds.csv
- name: Check feed statuses
working-directory: scripts
run: python3 tif-status-checker.py
continue-on-error: true
# Step 3: rebuild README-STATISTICS.md and inject tables into README.md
# reads FeedStatus from CSV β†’ shows 🟒/πŸ”΄/πŸ”’/βž–/βšͺ in the feeds table
- name: Update README statistics and feeds table
working-directory: scripts
run: python3 tif-update-readme.py
# Step 4: commit if anything changed (CSV statuses, README, StatisticsTable)
- name: Commit and push changes
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add threat-intelligence-feeds.csv README-STATISTICS.md README.md
git diff --cached --quiet \
&& echo "No changes to commit." \
|| git commit -m "Daily TI-feed status update [$(date -u '+%d-%m-%Y')]"
git push