Skip to content

Update

Update #842

Workflow file for this run

---
name: Update
on:
pull_request:
branches: [master]
types: [opened, synchronize, reopened]
push:
branches: [master]
schedule:
- cron: '0 * * * *' # every hour
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
update_pages:
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: Setup python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install -r requirements.txt
- name: Install npm dependencies
run: |
npm install
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Prepare gh-pages
run: |
# empty contents
rm -f -r ./gh-pages/*
# no jekyll
touch ./gh-pages/.nojekyll
# copy dependencies
cp -f ./node_modules/plotly.js/dist/plotly.min.js ./gh-pages/plotly.js
- name: Convert notebook
env:
DASHBOARD_AUR_REPOS: sunshine,sunshine-bin,sunshine-git
CODECOV_TOKEN: ${{ secrets.CODECOV_API_TOKEN }}
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }}
DISCORD_INVITE: ${{ secrets.DISCORD_INVITE }}
FACEBOOK_GROUP_ID: ${{ secrets.FACEBOOK_GROUP_ID }}
FACEBOOK_PAGE_ID: ${{ secrets.FACEBOOK_PAGE_ID }}
FACEBOOK_TOKEN: ${{ secrets.FACEBOOK_ACCESS_TOKEN }}
GITHUB_REPOSITORY_OWNER: ${{ secrets.GH_ORG_NAME }}
GITHUB_TOKEN: ${{ secrets.GH_BOT_TOKEN || secrets.GITHUB_TOKEN }}
PATREON_CAMPAIGN_ID: 6131567
READTHEDOCS_TOKEN: ${{ secrets.READTHEDOCS_TOKEN }}
run: |
jupyter nbconvert \
--debug \
--config=./jupyter_nbconvert_config.py \
--execute \
--no-input \
--to=html \
--output-dir=./gh-pages \
--output=index \
./notebook/dashboard.ipynb
- name: Archive gh-pages
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
shell: bash
run: |
7z \
"-xr!*.git*" \
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')
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 }}