Merge pull request #136 from paullockaby/updates #30
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: Upload GitHub Pages | |
on: | |
# allow triggering manually | |
workflow_dispatch: | |
# allow programmatic triggers | |
repository_dispatch: | |
# trigger on merges into main (in case PRs are not required) | |
push: | |
branches: | |
- main | |
# run every monday at 12am, UTC | |
schedule: | |
- cron: "0 0 * * 1" | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
ssh-key: "${{ secrets.DEPLOY_KEY }}" | |
- name: Install poetry | |
run: pipx install poetry | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12.x" | |
cache: "poetry" | |
- name: Setup GitHub Pages | |
id: pages | |
uses: actions/configure-pages@v5 | |
- name: Build site | |
run: | | |
poetry install --no-interaction | |
poetry run ghpypi --output=docs --repositories=repositories.txt --token=${{ secrets.GITHUB_TOKEN }} | |
- name: Push pages updates | |
run: | | |
git add ./docs | |
if [[ $(git status --short | egrep "^A docs/") == "" ]]; then | |
echo "No changes to commit." | |
else | |
git config --global user.email "github-actions[bot]@users.noreply.github.com" | |
git config --global user.name "github-actions[bot]" | |
git commit -m "chore: automatic index update [skip ci]" | |
git push origin main | |
fi | |
- name: Upload site | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: ./docs | |
deploy: | |
runs-on: ubuntu-latest | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
needs: [build] | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |