69 lines
2.2 KiB
YAML
69 lines
2.2 KiB
YAML
name: ICS/KISA Feed Refresh
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 2 * * MON'
|
|
workflow_dispatch:
|
|
inputs:
|
|
live_fetch:
|
|
description: 'Attempt live RSS fetch (fallback to samples on failure)'
|
|
required: false
|
|
default: true
|
|
type: boolean
|
|
offline_snapshot:
|
|
description: 'Force offline samples only (no network)'
|
|
required: false
|
|
default: false
|
|
type: boolean
|
|
|
|
jobs:
|
|
refresh:
|
|
runs-on: ubuntu-22.04
|
|
permissions:
|
|
contents: read
|
|
env:
|
|
ICSCISA_FEED_URL: ${{ secrets.ICSCISA_FEED_URL }}
|
|
KISA_FEED_URL: ${{ secrets.KISA_FEED_URL }}
|
|
FEED_GATEWAY_HOST: concelier-webservice
|
|
FEED_GATEWAY_SCHEME: http
|
|
LIVE_FETCH: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.live_fetch || 'true' }}
|
|
OFFLINE_SNAPSHOT: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.offline_snapshot || 'false' }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set run metadata
|
|
id: meta
|
|
run: |
|
|
RUN_DATE=$(date -u +%Y%m%d)
|
|
RUN_ID="icscisa-kisa-$(date -u +%Y%m%dT%H%M%SZ)"
|
|
echo "run_date=$RUN_DATE" >> $GITHUB_OUTPUT
|
|
echo "run_id=$RUN_ID" >> $GITHUB_OUTPUT
|
|
echo "RUN_DATE=$RUN_DATE" >> $GITHUB_ENV
|
|
echo "RUN_ID=$RUN_ID" >> $GITHUB_ENV
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.11'
|
|
|
|
- name: Run ICS/KISA refresh
|
|
run: |
|
|
python scripts/feeds/run_icscisa_kisa_refresh.py \
|
|
--out-dir out/feeds/icscisa-kisa \
|
|
--run-date "${{ steps.meta.outputs.run_date }}" \
|
|
--run-id "${{ steps.meta.outputs.run_id }}"
|
|
|
|
- name: Show fetch log
|
|
run: cat out/feeds/icscisa-kisa/${{ steps.meta.outputs.run_date }}/fetch.log
|
|
|
|
- name: Upload refresh artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: icscisa-kisa-${{ steps.meta.outputs.run_date }}
|
|
path: out/feeds/icscisa-kisa/${{ steps.meta.outputs.run_date }}
|
|
if-no-files-found: error
|
|
retention-days: 21
|