Skip to content

Generate ICS

Generate ICS #2781

Workflow file for this run

name: Generate ICS
on:
schedule:
- cron: '*/20 * * * *' # Runs every 20 minutes
workflow_dispatch: # Allows manual triggering
jobs:
build:
runs-on: ubuntu-latest # Use the latest Ubuntu environment
steps:
- name: Checkout code
uses: actions/checkout@v4 # Use the latest version
- name: Set up Python
uses: actions/setup-python@v5 # Use the latest version
with:
python-version: '3.12' # Specify Python 3.12
- name: Install dependencies
run: |
python -m pip install --upgrade pip # Upgrade pip to the latest
pip uninstall -y ics # Clean up the old package if exists
pip install -r requirements.txt # Install required libraries
- name: Run script
run: python main.py # Run the Python script to generate the .ics file
- name: Commit and push ICS file to gh-pages branch
run: |
git config --global user.email "[email protected]" # Set a generic email for commits
git config --global user.name "GitHub Actions" # Set a generic name for commits
git checkout gh-pages || git checkout -b gh-pages # Switch to gh-pages branch (create it if it doesn't exist)
git add soccer_schedule.ics # Stage the .ics file for commit
git commit -m "Update soccer_schedule.ics" || echo "No changes to commit" # Avoid failure if no changes
git push --force origin gh-pages # Force push changes to the gh-pages branch