From 4a899d14b0245b813a62d8bc5feeb1c79bf493ff Mon Sep 17 00:00:00 2001 From: Ryan Kanno Date: Mon, 3 Jun 2024 10:52:12 -1000 Subject: [PATCH] feat: added latest docs workflow (#424) --- tests/test_cookiecutter_generation.py | 1 + .../.github/workflows/docs.yml | 64 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 {{cookiecutter.package_name}}/.github/workflows/docs.yml diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py index 4927b754..7a9802a1 100644 --- a/tests/test_cookiecutter_generation.py +++ b/tests/test_cookiecutter_generation.py @@ -69,6 +69,7 @@ '/.github/workflows/ci.yml', '/.github/workflows/codeql-analysis.yml', '/.github/workflows/commitlint.yml', + '/.github/workflows/docs.yml', '/.github/workflows/hadolint.yml', '/.github/workflows/pr-labeler.yml', '/.github/workflows/pr-size-labeler.yml', diff --git a/{{cookiecutter.package_name}}/.github/workflows/docs.yml b/{{cookiecutter.package_name}}/.github/workflows/docs.yml new file mode 100644 index 00000000..a51b0a2e --- /dev/null +++ b/{{cookiecutter.package_name}}/.github/workflows/docs.yml @@ -0,0 +1,64 @@ +name: docs + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + + # manual + workflow_dispatch: + +env: + PRE_COMMIT_CACHE: ~/.cache/pre-commit + +jobs: + tox-docs: + strategy: + fail-fast: false + matrix: + python-version: + - "3.11" + os: [ubuntu-latest] + env: + - TOXENV: "docs" + runs-on: {% raw %}${{ matrix.os }}{% endraw %} + steps: + - uses: actions/checkout@v4 + - name: Configure Python {% raw %}${{ matrix.python-version }}{% endraw %} + uses: actions/setup-python@v5 + with: + python-version: {% raw %}${{ matrix.python-version }}{% endraw %} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install poetry==1.5.1 tox==4.11.3 tox-gh + - name: Cache pre-commit + uses: actions/cache@v4 + with: + path: {% raw %}${{ env.PRE_COMMIT_CACHE }}{% endraw %} + key: {% raw %}${{ matrix.os }}-${{ matrix.python-version }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}{% endraw %} + - name: Run tox + run: | + tox + shell: bash + env: {% raw %}${{ matrix.env }}{% endraw %} + - name: Prepare docs artifact + if: always() + shell: bash + run: | + mkdir artifact + cp -a .tox/docs_out/ artifact/html_docs + - name: Upload docs artifact + if: always() + uses: actions/upload-artifact@v4 + with: + name: html_docs + path: ./artifact + - name: Deploy to gh pages + if: {% raw %}${{ github.event_name == 'push' && github.ref_name == github.event.repository.default_branch }}{% endraw %} + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + publish_dir: .tox/docs_out/ + destination_dir: ./latest