From 9a785e4cfd4e5604a5151dbf24b1e7a96368d077 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 13 Aug 2022 15:59:55 -0700 Subject: [PATCH] update docs pipeline to use poe task runner --- .github/workflows/docs.yaml | 19 ++----------------- pyproject.toml | 31 ++++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 395ba66f..a92702d4 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -66,22 +66,7 @@ jobs: echo "node_modules/.bin" >> $GITHUB_PATH - name: Start docs server - run: poetry run poe docs & - - - name: Generate sitemap - env: - site_url: http://127.0.0.1:8000 - run: | - filename='sitemap.xml' - select="{urls: [\"${site_url}/\", \"${site_url}/search.html?q=jrnl\", .urlset.url[].loc]}" - - curl -s "${site_url}/${filename}" > $filename - - echo "::group::${filename}" - cat $filename - echo '::endgroup::' - - poetry run xq "$select" $filename > list.json + run: poetry run poe docs-run & - name: Accessibility testing (Pa11y) - run: pa11y-ci -c list.json + run: poetry run poe docs-check-ci diff --git a/pyproject.toml b/pyproject.toml index 5d57af1e..2ebcb700 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,6 +61,14 @@ yq = "*" jrnl = 'jrnl.cli:cli' [tool.poe.tasks] +script-clean-docs.shell = "rm -fv sitemap.xml list.json" +script-generate-sitemap.shell = 'curl -s "127.0.0.1:8000/sitemap.xml" > sitemap.xml' +script-generate-page-list-from-sitemap.shell = ''' + select='{urls: ["http://127.0.0.1:8000/", "http://127.0.0.1:8000/search.html?q=jrnl", .urlset.url[].loc]}' + poetry run xq "$select" sitemap.xml > list.json +''' +script-run-pa11y.cmd = "pa11y-ci -c list.json" + format-run = [ {cmd = "black ."}, ] @@ -79,7 +87,28 @@ sort-check = [ {cmd = "isort --version"}, {cmd = "isort --check ."}, ] -# docs-check = ? +docs-check = [ + "script-clean-docs", + "script-generate-sitemap", + "script-generate-page-list-from-sitemap", + "script-run-pa11y", + "script-clean-docs", +] +docs-check-ci = [ + "script-generate-sitemap", + {shell = ''' + echo "::group::sitemap.xml" + cat sitemap.xml + echo '::endgroup::' + '''}, + "script-generate-page-list-from-sitemap", + {shell = ''' + echo "::group::list.json" + cat list.json + echo '::endgroup::' + '''}, + "script-run-pa11y", +] docs-run = [ {cmd = "mkdocs serve"}, ]