Skip to content

Update NBA Data

Update NBA Data #921

Workflow file for this run

name: Update NBA Data
on:
schedule:
- cron: '0 7 18-31 10 *'
- cron: '0 7 * 11-12 *'
- cron: '0 7 * 1-6 *'
- cron: '0 7 1-12 7 *'
repository_dispatch:
types: [daily_nba_data]
workflow_dispatch:
inputs:
start_year:
required: false
type: string
end_year:
required: false
type: string
jobs:
update_nba_data:
runs-on: ${{ matrix.config.os }}
name: Update NBA Data ${{ inputs.start_year }}-${{ inputs.end_year }}
strategy:
fail-fast: false
matrix:
config:
- {os: 'ubuntu-latest', r: 'release'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
START_YEAR: ${{ inputs.start_year }}
END_YEAR: ${{ inputs.end_year }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Setting up R
uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- uses: r-lib/actions/setup-pandoc@v2
- name: Setting up R dependencies
uses: r-lib/actions/setup-r-dependencies@v2
with:
cache-version: 1
extra-packages: |
sportsdataverse/hoopR
sportsdataverse/sportsdataverse-data
ropensci/piggyback
- name: Check hoopR_nba_data_trigger for inputs
if: ${{ github.event.client_payload.event_name == 'daily_nba_data'}}
run: |
echo START_YEAR=$(echo "${{ github.event.client_payload.commit_message}}" | grep -o -E '[0-9]+' | head -1) >> $GITHUB_ENV
echo END_YEAR=$(echo "${{ github.event.client_payload.commit_message}}" | grep -o -E '[0-9]+' | tail -1) >> $GITHUB_ENV
- name: Check for empty inputs
if: ${{ env.START_YEAR == ''}}
run: |
echo START_YEAR=$(Rscript -e "cat(hoopR::most_recent_nba_season())") >> $GITHUB_ENV
echo END_YEAR=$(Rscript -e "cat(hoopR::most_recent_nba_season())") >> $GITHUB_ENV
- name: Update NBA Data ${{ env.START_YEAR }}-${{ env.END_YEAR }}
env:
GITHUB_PAT: ${{ secrets.SDV_GH_TOKEN }}
run: |
bash scripts/daily_nba_R_processor.sh -s ${{ env.START_YEAR }} -e ${{ env.END_YEAR }}