Skip to content

Commit 2405e29

Browse files
committed
ci: sync Meetup events through weekly pull requests
1 parent bde55a6 commit 2405e29

2 files changed

Lines changed: 60 additions & 0 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Sync Meetup events
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
# Mondays at 12:17 UTC (09:17 in São Paulo outside daylight saving time).
7+
- cron: '17 12 * * 1'
8+
9+
# Required by peter-evans/create-pull-request to commit the generated JSON and
10+
# create or update its pull request.
11+
permissions:
12+
contents: write
13+
pull-requests: write
14+
15+
concurrency:
16+
group: meetup-events-sync
17+
cancel-in-progress: false
18+
19+
jobs:
20+
sync:
21+
name: Fetch public Meetup events
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
- name: Check out the default branch
26+
uses: actions/checkout@v6
27+
with:
28+
ref: ${{ github.event.repository.default_branch }}
29+
30+
- name: Set up Python
31+
uses: actions/setup-python@v6
32+
with:
33+
python-version: '3.13'
34+
35+
- name: Export upcoming events
36+
run: python scripts/sync_meetup_events.py --output data/events.json
37+
38+
- name: Create or update event-sync pull request
39+
uses: peter-evans/create-pull-request@v8
40+
with:
41+
token: ${{ secrets.GITHUB_TOKEN }}
42+
branch: automation/meetup-events
43+
delete-branch: true
44+
commit-message: 'chore: sync Meetup events'
45+
title: 'chore: sync Meetup events'
46+
body: |
47+
Atualização automática da agenda pública do grupo Python-MG no Meetup.
48+
49+
Revise as mudanças em `data/events.json` antes de fazer o merge.

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,14 @@ python3 scripts/sync_meetup_events.py --output data/events.json
9292

9393
Por padrão, a POC exporta somente eventos a partir da data atual. Use
9494
`--include-past` apenas para uma exportação histórica pontual.
95+
96+
### Sincronização no GitHub Actions
97+
98+
O workflow `.github/workflows/sync-meetup-events.yml` executa toda segunda-feira
99+
às 12:17 UTC e também pode ser disparado em **Actions → Sync Meetup events → Run
100+
workflow**. Ele atualiza `data/events.json` no ambiente de execução e abre — ou
101+
atualiza — o PR `automation/meetup-events` somente quando houver diferença.
102+
103+
Antes do primeiro uso, habilite em **Settings → Actions → General → Workflow
104+
permissions** a opção de leitura e escrita e permita que o GitHub Actions crie
105+
pull requests. Não há segredo ou credencial do Meetup no workflow.

0 commit comments

Comments
 (0)