path: docs/${{ matrix.lang }}/.cache
- name: Build Docs
run: python ./scripts/docs.py build-lang ${{ matrix.lang }}
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
- name: docs-site
+ name: docs-site-${{ matrix.lang }}
path: ./site/**
# https://github.com/marketplace/actions/alls-green#why
run: |
rm -rf ./site
mkdir ./site
- - name: Download Artifact Docs
- id: download
- uses: dawidd6/action-download-artifact@v3.1.4
+ - uses: actions/download-artifact@v4
with:
- if_no_artifact_found: ignore
- github_token: ${{ secrets.FASTAPI_PREVIEW_DOCS_DOWNLOAD_ARTIFACTS }}
- workflow: build-docs.yml
- run_id: ${{ github.event.workflow_run.id }}
- name: docs-site
path: ./site/
+ pattern: docs-site-*
+ merge-multiple: true
+ github-token: ${{ secrets.FASTAPI_PREVIEW_DOCS_DOWNLOAD_ARTIFACTS }}
+ run-id: ${{ github.event.workflow_run.id }}
- name: Deploy to Cloudflare Pages
- if: steps.download.outputs.found_artifact == 'true'
+ # hashFiles returns an empty string if there are no files
+ if: hashFiles('./site/*')
id: deploy
uses: cloudflare/pages-action@v1
with:
COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}
CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}
- name: Store coverage files
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
- name: coverage
+ name: coverage-${{ matrix.python-version }}-${{ matrix.pydantic-version }}
path: coverage
coverage-combine:
# cache: "pip"
# cache-dependency-path: pyproject.toml
- name: Get coverage files
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
- name: coverage
+ pattern: coverage-*
path: coverage
+ merge-multiple: true
- run: pip install coverage[toml]
- run: ls -la coverage
- run: coverage combine coverage
- run: coverage report
- run: coverage html --show-contexts --title "Coverage for ${{ github.sha }}"
- name: Store coverage HTML
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: coverage-html
path: htmlcov