From 48b1e5a4f7d0ea4aec2f888ea972a311bf567276 Mon Sep 17 00:00:00 2001 From: Airah Yusuff Date: Sat, 20 Sep 2025 14:28:02 +0100 Subject: [PATCH 1/4] add workflow for importing meetup events --- .github/workflows/import_meetup_events.yml | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/import_meetup_events.yml diff --git a/.github/workflows/import_meetup_events.yml b/.github/workflows/import_meetup_events.yml new file mode 100644 index 00000000..2b9560b2 --- /dev/null +++ b/.github/workflows/import_meetup_events.yml @@ -0,0 +1,57 @@ +name: Import Meetup Events + +on: + workflow_dispatch: + schedule: + - cron: '0 6 * * 1' # every Monday at 6am GMT + +jobs: + import-meetup: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v5 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Download iCal file + run: | + mkdir -p tools/files + curl -L "https://www.meetup.com/women-coding-community/events/ical/" -o tools/files/meetup.ics + + - name: Run Meetup import script + run: sh tools/run_meetup_import.sh + + - name: Merge imported events into events.yml + run: | + if [ -s _data/imported_events.yml ]; then + cat _data/imported_events.yml >> _data/events.yml + echo "" > _data/imported_events.yml + echo "New events have been added to events.yml and imported_events.yml has been reset." + else + echo "No new events to import." + fi + + - name: Create or Update Pull Request + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.MEETUP_IMPORT_ACTIONS_TOKEN }} + commit-message: "Automated import of Meetup events" + branch: "automation/import-meetup-events" + team-reviewers: "Women-Coding-Community/leaders" + title: "Automated import of Meetup events" + body: | + This PR was created automatically by a GitHub Action to import upcoming Meetup events. + + Please review the changes in: + - `_data/events.yml` + - `_data/imported_events.yml` + + Ensure that everything is parsed correctly before merging. + labels: | + automation + From dc9827469db68d7f9ae5b843f272a180e9e6913d Mon Sep 17 00:00:00 2001 From: Airah Yusuff Date: Sat, 20 Sep 2025 14:43:53 +0100 Subject: [PATCH 2/4] fix workflow #1 --- .github/workflows/import_meetup_events.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/import_meetup_events.yml b/.github/workflows/import_meetup_events.yml index 2b9560b2..3d99d4e8 100644 --- a/.github/workflows/import_meetup_events.yml +++ b/.github/workflows/import_meetup_events.yml @@ -24,7 +24,9 @@ jobs: curl -L "https://www.meetup.com/women-coding-community/events/ical/" -o tools/files/meetup.ics - name: Run Meetup import script - run: sh tools/run_meetup_import.sh + run: | + cd tools + sh run_meetup_import.sh - name: Merge imported events into events.yml run: | From b0e708a1a5d7e29af3a2af566cdc330100bac234 Mon Sep 17 00:00:00 2001 From: Airah Yusuff Date: Sat, 20 Sep 2025 15:23:48 +0100 Subject: [PATCH 3/4] update workflow to use cache + script directly --- .github/workflows/import_meetup_events.yml | 24 +++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/.github/workflows/import_meetup_events.yml b/.github/workflows/import_meetup_events.yml index 3d99d4e8..6fc0c587 100644 --- a/.github/workflows/import_meetup_events.yml +++ b/.github/workflows/import_meetup_events.yml @@ -22,17 +22,30 @@ jobs: run: | mkdir -p tools/files curl -L "https://www.meetup.com/women-coding-community/events/ical/" -o tools/files/meetup.ics + + - name: Cache pip + uses: actions/cache@v4 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('tools/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r tools/requirements.txt - name: Run Meetup import script run: | cd tools - sh run_meetup_import.sh + python meetup_import.py - name: Merge imported events into events.yml run: | if [ -s _data/imported_events.yml ]; then cat _data/imported_events.yml >> _data/events.yml - echo "" > _data/imported_events.yml + : > _data/imported_events.yml echo "New events have been added to events.yml and imported_events.yml has been reset." else echo "No new events to import." @@ -48,12 +61,9 @@ jobs: title: "Automated import of Meetup events" body: | This PR was created automatically by a GitHub Action to import upcoming Meetup events. + Only `_data/events.yml` should be updated. - Please review the changes in: - - `_data/events.yml` - - `_data/imported_events.yml` - - Ensure that everything is parsed correctly before merging. + Please review the changes `_data/events.yml` and ensure that everything is parsed correctly before merging. labels: | automation From 0c7a64ac95fe0b50ad41f6bb98155670b40095e4 Mon Sep 17 00:00:00 2001 From: Airah Yusuff Date: Sat, 20 Sep 2025 15:40:12 +0100 Subject: [PATCH 4/4] update workflow to run daily --- .github/workflows/import_meetup_events.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/import_meetup_events.yml b/.github/workflows/import_meetup_events.yml index 6fc0c587..11a8710a 100644 --- a/.github/workflows/import_meetup_events.yml +++ b/.github/workflows/import_meetup_events.yml @@ -3,7 +3,7 @@ name: Import Meetup Events on: workflow_dispatch: schedule: - - cron: '0 6 * * 1' # every Monday at 6am GMT + - cron: '0 6 * * *' # every day at 6am GMT jobs: import-meetup: