This repository contains the automated workflow for generating calendar feeds from cinema data for the Clusterflick project.
The calendar workflow processes transformed cinema data and generates ICS (iCalendar) format files for each venue. These calendar feeds allow users to subscribe to cinema schedules and receive automatic updates about upcoming screenings.
The workflow downloads the latest transformed data and executes a calendar generation script:
npm run generate-calendarThis script:
- Reads the transformed cinema data for each venue
- Extracts screening information (title, time, location, description)
- Determines event duration (defaults to 90 minutes, or 6 hours for marathons)
- Includes movie metadata when available (cast, director, classification)
- Generates ICS calendar files with proper formatting
- Outputs calendar files for each venue
Each calendar event includes:
- Movie title and screening time
- Venue name, screen number, and address
- Film classification and duration
- Cast and director information
- Booking URL and additional notes
- Movie Database link when available
The calendar feeds are published as ICS files in each GitHub release. You can subscribe to any venue's calendar using its direct download URL:
https://github.com/clusterflick/data-calendar/releases/latest/download/<venue-id>
Replace <venue-id> with the filename of the venue you want to follow (e.g.
princecharlescinema.com, just the domain no extension).
- Copy the URL for the venue calendar you want to subscribe to
- Open Google Calendar
- Go to Settings > Add calendar > From URL (direct link)
- Paste the URL and click Add calendar
The calendar will appear in your sidebar under Other calendars. Google Calendar will periodically fetch the latest version, so new screenings will appear automatically. You can toggle the calendar on or off, and copy individual events to your personal calendar if you'd like to keep them permanently.
- In Apple Calendar, go to File > New Calendar Subscription…
- Paste the venue calendar URL and click Subscribe
- Choose your preferred auto-refresh interval and click OK
- Go to Calendar > Add calendar > Subscribe from web
- Paste the venue calendar URL and give it a name
- Click Import
Most calendar applications support subscribing to ICS feeds via URL. Look for an option like "Add calendar by URL", "Subscribe to calendar", or "Import from URL", and paste the venue calendar URL.
There are currently 251 supported venues. The calendar filename for each venue is listed below and can be used with the download URL pattern above.
The workflow is automatically triggered when the data transformation workflow completes successfully. It can also be triggered manually via workflow dispatch if needed.
The workflow requires a GitHub secret:
PAT- Personal Access Token for downloading releases from other repositories