Skip to content

Release Guardians refresh #70

Release Guardians refresh

Release Guardians refresh #70

---
# Refresh the Release Guardians event for the current cycle. Reads
# astro/src/data/release-guardians-config.json, queries GitHub for PRs carrying
# the testing label, and rewrites the matching event file in content/events/
# plus the per-cycle snapshot under astro/src/data/release-guardians/.
# If anything changed, opens (or updates) a PR — matching the pattern used by
# update-eu-tools, update-eu-citations, sync-training-material-metadata, etc.
name: Release Guardians refresh
on:
workflow_dispatch:
schedule:
- cron: "0 */12 * * *"
concurrency:
group: release-guardians-refresh
cancel-in-progress: false
permissions:
contents: write
pull-requests: write
jobs:
refresh:
runs-on: ubuntu-latest
if: github.repository_owner == 'galaxyproject'
steps:
- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v3
with:
client-id: ${{ secrets.HUB_BOT_APP_CLIENT_ID }}
private-key: ${{ secrets.HUB_BOT_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v7
with:
token: ${{ steps.app-token.outputs.token }}
- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version: '22'
- name: Install dependencies
run: cd astro && npm ci
- name: Sync event
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
run: cd astro && npm run release-guardians:sync-event
- name: Create Pull Request
uses: peter-evans/create-pull-request@v8
with:
token: ${{ steps.app-token.outputs.token }}
commit-message: 'chore(release-guardians): refresh event (auto)'
title: 'Refresh Release Guardians event'
body: |
Auto-generated PR with refreshed Release Guardians data.
Synced from `galaxyproject/galaxy` using the labels configured in
`astro/src/data/release-guardians-config.json`.
Merging publishes the updated event page; closing without merging
simply waits for the next 12-hour refresh.
branch: release-guardians-refresh
delete-branch: true