Skip to content

Update

Update #1134

Workflow file for this run

---
name: Update
on:
pull_request:
branches: [master]
types: [opened, synchronize, reopened]
push:
branches: [master]
schedule:
- cron: '0 0 * * *' # every day at midnight
workflow_dispatch:
jobs:
update:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout gh-pages
uses: actions/checkout@v4
with:
ref: gh-pages
path: gh-pages
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of the personal token
fetch-depth: 0 # otherwise, will fail to push refs to dest repo
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- name: Prepare gh-pages
run: |
# empty contents to ensure deleted igdb are removed
rm -f -r ./gh-pages/*
# copy template back to pages
cp -f -r ./gh-pages-template/* ./gh-pages/
- name: Update
working-directory: gh-pages
run: |
python -u ../update_db.py \
--twitch_client_id ${{ secrets.TWITCH_CLIENT_ID }} \
--twitch_client_secret ${{ secrets.TWITCH_CLIENT_SECRET }} \
--youtube_api_key ${{ secrets.YOUTUBE_API_KEY }}
- name: Prepare Artifacts # uploading artifacts will fail if not zipped due to very large quantity of files
shell: bash
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
run: |
7z a "./gh-pages.zip" "gh-pages"
- name: Upload Artifacts
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
uses: actions/upload-artifact@v4
with:
name: gh-pages
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
path: |
${{ github.workspace }}/gh-pages.zip
- name: Deploy to gh-pages
if: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/master') || (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }} # yamllint disable-line rule:line-length
uses: actions-js/push@v1.5
with:
github_token: ${{ secrets.GH_BOT_TOKEN }}
author_email: ${{ secrets.GH_BOT_EMAIL }}
author_name: ${{ secrets.GH_BOT_NAME }}
directory: gh-pages
branch: gh-pages
force: false
message: automatic-update-${{ steps.date.outputs.date }}