diff --git a/.github/workflows/rtd-pr-preview.yml b/.github/workflows/rtd-pr-preview.yml new file mode 100644 index 00000000..b1be1f5f --- /dev/null +++ b/.github/workflows/rtd-pr-preview.yml @@ -0,0 +1,22 @@ +# .github/workflows/rtd-pr-preview.yml +name: readthedocs/actions +on: + pull_request_target: + types: + - opened + # Execute this action only on PRs that touch + # documentation files. + # paths: + # - "docs/**" + +permissions: + pull-requests: write + +jobs: + documentation-links: + runs-on: ubuntu-latest + steps: + - uses: readthedocs/actions/preview@v1 + with: + project-slug: "ploneapi" + single-version: "true" diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..38273c59 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,27 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the OS, Python version and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + commands: + # Cancel building pull requests when there aren't changes in the docs directory or YAML file. + # You can add any other files or directories that you'd like here as well, + # like your docs requirements file, or other files that will change your docs build. + # + # If there are no changes (git diff exits with 0) we force the command to return with 183. + # This is a special exit code on Read the Docs that will cancel the build immediately. + - | + if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- docs/ .readthedocs.yaml requirements-docs.txt requirements.txt; + then + exit 183; + fi + - pip install -r requirements.txt +# - pip install -r requirements-docs.txt + - tox -e rtd-preview diff --git a/MANIFEST.in b/MANIFEST.in index 162a5ec9..c89b5bdb 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -14,6 +14,7 @@ include pyproject.toml recursive-exclude news * exclude news recursive-exclude .vscode * +exclude .readthedocs.yaml # added by check-manifest recursive-include src *.py diff --git a/news/545.documentation b/news/545.documentation new file mode 100644 index 00000000..ac078ab0 --- /dev/null +++ b/news/545.documentation @@ -0,0 +1 @@ +Preview docs on Read the Docs instead of Netlify. @stevepiercy diff --git a/tox.ini b/tox.ini index cc85d042..eb6b27ae 100644 --- a/tox.ini +++ b/tox.ini @@ -271,6 +271,22 @@ commands = mkdir -p {toxinidir}/_build/plone6docs sphinx-build -b html -d _build/plone6docs/doctrees docs _build/plone6docs/html +[testenv:rtd-preview] +# New docs with sphinx-book-theme +# See [testenv:docs] for classic documentation +basepython = python3.11 +skip_install = False +package = editable +allowlist_externals = + mkdir +extras = + tests +deps = + -r requirements-docs.txt +commands = + python -VV + sphinx-build -b html -d "{env:READTHEDOCS_OUTPUT}"/doctrees/ docs "{env:READTHEDOCS_OUTPUT}"/html/ + [testenv:docs] basepython = python3.9 skip_install = False