Skip to content

Create PR for RSS/Atom or json feeds #618

Create PR for RSS/Atom or json feeds

Create PR for RSS/Atom or json feeds #618

Workflow file for this run

name: Create PR for RSS/Atom or json feeds
on:
schedule:
- cron: "0 0,8,16 * * *"
workflow_dispatch:
inputs:
days:
description: "Number of days before today to check for new feeds"
required: false
default: "14"
update:
description: "Update the open PRs with new json formats"
required: false
type: boolean
jobs:
feed-bot:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
owner: "usegalaxy-eu"
repositories: "galaxy-social"
- name: Run python script for RSS/Atom feeds
env:
GALAXY_SOCIAL_BOT_TOKEN: ${{ steps.generate-token.outputs.token }}
REPO: "usegalaxy-eu/galaxy-social"
DAYS: ${{ github.event.inputs.days || '14' }}
run: python -u app/feed_bot.py
- name: Run python script for json feeds
env:
GALAXY_SOCIAL_BOT_TOKEN: ${{ steps.generate-token.outputs.token }}
REPO: "usegalaxy-eu/galaxy-social"
UPDATE: ${{ github.event.inputs.update || 'false' }}
run: python -u app/json_bot.py
keepalive-job:
name: Keepalive Workflow
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Keep the repository alive
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
if git ls-remote --exit-code --heads origin keepalive; then
git fetch origin keepalive
git checkout keepalive
else
git switch --orphan keepalive
git rm -rf . || true
fi
echo "Keep-alive job executed at $(date)" > keepalive.log
git add -f keepalive.log
git commit -m "Update keepalive log"
git push origin keepalive