Skip to content

Playlists

Playlists #128

# Update playlists
name: "Playlists"
on:
push:
branches:
- main
schedule:
# run each day at 06:00 AEST, which is 20:00 UTC the day before
- cron: '0 20 * * *'
jobs:
update:
name: Update Playlists
runs-on: ubuntu-latest
environment: 'Update playlists'
strategy:
fail-fast: true
matrix:
python-version:
- "3.13"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: '${{ matrix.python-version }}'
cache: 'pip'
- name: Install dependencies and app
run: |
python -m pip install --upgrade pip setuptools wheel build
python -m pip install --upgrade -r requirements.txt
python -m pip install --upgrade .
- name: Cache playlist requests
uses: actions/cache@v4
with:
path: http_cache.sqlite
key: httpcache-${{ runner.os }}-${{ hashFiles('**/http_cache.sqlite') }}
restore-keys: |
${{ runner.os }}-httpcache
httpcache-${{ runner.os }}
httpcache
- name: Update playlists
env:
LASTFM_AUTH_API_KEY: ${{ secrets.LASTFM_AUTH_API_KEY }}
MUSIC_PLAYLISTS_BASE_PATH: ${{ secrets.MUSIC_PLAYLISTS_BASE_PATH }}
MUSIC_PLAYLISTS_TIME_ZONE: ${{ secrets.MUSIC_PLAYLISTS_TIME_ZONE }}
SPOTIFY_AUTH_CLIENT_ID: ${{ secrets.SPOTIFY_AUTH_CLIENT_ID }}
SPOTIFY_AUTH_CLIENT_SECRET: ${{ secrets.SPOTIFY_AUTH_CLIENT_SECRET }}
SPOTIFY_AUTH_REDIRECT_URI: ${{ secrets.SPOTIFY_AUTH_REDIRECT_URI }}
SPOTIFY_AUTH_REFRESH_TOKEN: ${{ secrets.SPOTIFY_AUTH_REFRESH_TOKEN }}
SPOTIFY_PLAYLIST_ID_DOUBLEJ_MOST_PLAYED: ${{ secrets.SPOTIFY_PLAYLIST_ID_DOUBLEJ_MOST_PLAYED }}
SPOTIFY_PLAYLIST_ID_LASTFM_MOST_POPULAR_AUS: ${{ secrets.SPOTIFY_PLAYLIST_ID_LASTFM_MOST_POPULAR_AUS }}
SPOTIFY_PLAYLIST_ID_RADIO_4ZZZ_MOST_PLAYED: ${{ secrets.SPOTIFY_PLAYLIST_ID_RADIO_4ZZZ_MOST_PLAYED }}
SPOTIFY_PLAYLIST_ID_TRIPLEJ_MOST_PLAYED: ${{ secrets.SPOTIFY_PLAYLIST_ID_TRIPLEJ_MOST_PLAYED }}
SPOTIFY_PLAYLIST_ID_TRIPLEJ_UNEARTHED: ${{ secrets.SPOTIFY_PLAYLIST_ID_TRIPLEJ_UNEARTHED }}
YOUTUBE_MUSIC_AUTH_CONFIG: ${{ secrets.YOUTUBE_MUSIC_AUTH_CONFIG }}
YOUTUBE_MUSIC_PLAYLIST_ID_DOUBLEJ_MOST_PLAYED: ${{ secrets.YOUTUBE_MUSIC_PLAYLIST_ID_DOUBLEJ_MOST_PLAYED }}
YOUTUBE_MUSIC_PLAYLIST_ID_LASTFM_MOST_POPULAR_AUS: ${{ secrets.YOUTUBE_MUSIC_PLAYLIST_ID_LASTFM_MOST_POPULAR_AUS }}
YOUTUBE_MUSIC_PLAYLIST_ID_RADIO_4ZZZ_MOST_PLAYED: ${{ secrets.YOUTUBE_MUSIC_PLAYLIST_ID_RADIO_4ZZZ_MOST_PLAYED }}
YOUTUBE_MUSIC_PLAYLIST_ID_TRIPLEJ_MOST_PLAYED: ${{ secrets.YOUTUBE_MUSIC_PLAYLIST_ID_TRIPLEJ_MOST_PLAYED }}
YOUTUBE_MUSIC_PLAYLIST_ID_TRIPLEJ_UNEARTHED: ${{ secrets.YOUTUBE_MUSIC_PLAYLIST_ID_TRIPLEJ_UNEARTHED }}
run: music-playlists