Update #1123
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
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 }} |