Files
ReSSPublica/.github/workflows/build-feeds.yml
T
2026-06-16 22:30:17 +02:00

95 lines
3.0 KiB
YAML

name: Build RSS feeds
on:
schedule:
- cron: "0 6 * * *" # daily at 06:00 UTC
workflow_dispatch:
inputs:
verbose:
description: "Enable verbose logging"
required: false
default: "false"
type: boolean
forceGenerationBernAsianHornetSightings:
description: "Generate even when it's not monday"
required: false
default: "false"
type: boolean
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Install package
run: |
python -m pip install --upgrade pip
pip install .
- name: Configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Preparing ENV variables
run: |
echo "RESSPUBLICA_CACHE=$GITHUB_WORKSPACE/.cache" >> $GITHUB_ENV
echo "RESSPUBLICA_ASSETS=$GITHUB_WORKSPACE/assets" >> $GITHUB_ENV
mkdir -p "$RESSPUBLICA_CACHE"
mkdir -p "$RESSPUBLICA_ASSETS"
- name: Generate feeds for federal popular initiatives
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ "${{ inputs.verbose }}" = "true" ]; then
echo "Running in VERBOSE mode"
resspublica --verbose --gen_federalInitiatives
else
resspublica --gen_federalInitiatives
fi
git add feed/ .cache/
if git diff --cached --quiet; then
echo "No changes to commit"
exit 0
fi
git commit -m "feeds: federal popular initiatives update $(date -u +%Y-%m-%d)"
- name: Generate feeds for asian hornets sighting in Bern
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ "${{ inputs.verbose }}" = "true" ]; then
echo "Running in VERBOSE mode"
if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ "${{ inputs.forceGenerationBernAsianHornetSightings }}" = "true" ]; then
resspublica --force_gen_bernAsianHornets --verbose
else
resspublica --gen_bernAsianHornets --verbose
fi
else
if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ "${{ inputs.forceGenerationBernAsianHornetSightings }}" = "true" ]; then
resspublica --force_gen_bernAsianHornets
else
resspublica --gen_bernAsianHornets
fi
fi
git add feed/ .cache/ assets/
if git diff --cached --quiet; then
echo "No changes to commit"
exit 0
fi
git commit -m "feeds: asian hornets sighting in Bern update $(date -u +%Y-%m-%d)"
- name: Push changes
run: |
git push origin main