[1.8 backport] ci/gha: simplify poetry setup and caching #1650
Workflow file for this run
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: "Documentation Preview" | |
on: | |
pull_request: | |
# allow repository maintainers to modify and test workflow | |
paths-ignore: | |
- "**" | |
- "!.github/workflows/docs.yml" | |
pull_request_target: | |
# enable runs for this workflow when labeled as documentation only | |
# prevent execution when the workflow itself is modified from a fork | |
types: | |
- labeled | |
- synchronize | |
paths-ignore: | |
- "**" | |
- "!docs/**" | |
permissions: | |
contents: read | |
pull-requests: write | |
jobs: | |
deploy: | |
name: Build & Deploy | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'pull_request_target' && contains(github.event.pull_request.labels.*.name, 'impact/docs')) | |
|| (github.event_name != 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) | |
steps: | |
- name: Checkout Website Source | |
uses: actions/checkout@v4 | |
with: | |
repository: python-poetry/website | |
- name: Checkout Poetry Source | |
uses: actions/checkout@v4 | |
with: | |
path: poetry | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
cache: poetry | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "18" | |
- name: Build Assets | |
run: npm ci && npm run prod | |
- name: Fetch Documentation | |
run: | | |
pipx install poetry | |
poetry install --no-root --only main | |
poetry run python bin/website build --local ./poetry | |
- name: Install Hugo | |
uses: peaceiris/actions-hugo@v2 | |
with: | |
hugo-version: '0.83.1' | |
- name: Build | |
run: hugo -v --minify | |
- name: Deploy | |
uses: amondnet/vercel-action@v25 | |
id: vercel-action | |
with: | |
vercel-token: ${{ secrets.VERCEL_TOKEN }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} | |
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} | |
scope: python-poetry | |
github-comment: true | |
working-directory: public |