Skip to content

fetch

fetch #119

Workflow file for this run

name: fetch
on:
schedule:
- cron: '0 14 * * *'
workflow_dispatch:
jobs:
fetch:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v2
- uses: eifinger/setup-rye@v4
with:
enable-cache: true
- run: rye sync
- run: |
LOG_CONTEXT=$(echo "{\"run_id\": \"${{ github.run_id }}-${{ github.run_number }}\"}")
echo "LOG_CONTEXT=$LOG_CONTEXT" >> $GITHUB_ENV
# NOTE: `latest` Release must already exist. Create manually if needed
- uses: robinraju/release-downloader@v1
with:
latest: true
fileName: 'out.json'
out-file-path: 'release-artifacts'
- run: python src/roxie_theater/scrape.py -o step_1.json --prior-output-file release-artifacts/out.json -l "$LOG_CONTEXT"
- run: python src/roxie_theater/llm_extract.py -f step_1.json -o step_2.json -l "$LOG_CONTEXT"
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
- run: python src/roxie_theater/id_movies.py -f step_2.json -o out.json -l "$LOG_CONTEXT"
env:
TMDB_TOKEN: ${{ secrets.TMDB_TOKEN }}
- run: python src/roxie_theater/prepare_import.py -f out.json -o out.csv -l "$LOG_CONTEXT"
- run: echo "DATE=$(date +'%Y_%m_%d')" >> $GITHUB_ENV
- uses: actions/upload-artifact@v4
with:
name: "${{ env.DATE }}.json"
path: out.json
retention-days: 7
- uses: actions/upload-artifact@v4
with:
name: "${{ env.DATE }}.csv"
path: out.csv
retention-days: 7
- env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --local user.email "ci@users.noreply.github.com"
git config --local user.name "GitHub Action"
git tag latest
git push -f origin latest
- uses: ncipollo/release-action@v1
with:
tag: latest
artifacts: out.json,out.csv
allowUpdates: true
replacesArtifacts: true
makeLatest: true
artifactContentType: json
name: Latest Output JSON
body: Last updated from ${{ env.DATE }} run. See `out.json`.