Create PR for RSS/Atom or json feeds #618
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |