Skip to content

feat: Create Automation Workflow for importing events from Meetup #502

@khairahscorner

Description

@khairahscorner

Is your feature request related to a problem? Please describe.

Following the updates from #501 that now uses the iCal feed to import events from meetup, we need to create a GitHub Actions workflow that can be run/scheduled to run to import the events.

Describe the solution you'd like

Create GitHub Actions workflow that:

  • downloads the iCalendar feed of upcoming events
  • runs the meetup_import.py script using run_meetup_import.sh
  • copies the contents (of the new events) from _data/imported_events.yml, appends it to _data/events.yml, and clears the file (imported_events.yml)
  • commits and pushes the updates (directly to the main(?) branch)

Possible Issue to consider

  • the data will still need to be cross-checked and verified that everything was parsed correctly (and/or needs some minor manual updates)

Additional context

Example section of the workflow that'll address downloading iCal feed, and making commits/pushes:

name: Download iCal File
on:
  workflow_dispatch:
    schedule:
    - cron: '0 2 * * *' # every day at 2am UTC

jobs:
  download-ical:
  runs-on: ubuntu-latest
  steps:
    - name: Checkout repository
       uses: actions/checkout@v4

  - name: Download iCal file
    run: |
      mkdir -p tools/files
      curl -L "https://example.com/path/to/meetup.ics" -o tools/files/meetup.ics

  - name: Commit and push changes
    run: |
      git config --global user.name "github-actions[bot]"
      git config --global user.email "github-actions[bot]@users.noreply.github.com"
      git add tools/files/meetup.ics
      git commit -m "Update meetup.ics via GitHub Action" || echo "No changes to commit"
      git push
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is needed

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions