From 686cb122a3f6b6b9f725ee79ac264f697af02936 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Fri, 27 Nov 2020 10:13:53 -0500 Subject: [PATCH] add step to verify docs on area/documentation PRs (#1528) * add step to verify docs on area/documentation PRs * use GH actions to run the verification * add check if label is set to area/documentation * fix broken links in docs with WIP files * add generating API docs before verifying Signed-off-by: Sebastian Malton --- .github/workflows/check-docs.yml | 47 +++++++++++++++++++ .github/workflows/main.yml | 9 ++-- .gitignore | 1 + docs/extensions/README.md | 2 +- docs/extensions/guides/anatomy.md | 3 ++ docs/extensions/guides/components.md | 3 ++ .../guides/kube-object-list-layout.md | 3 ++ docs/extensions/guides/stores.md | 3 ++ package.json | 1 + 9 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/check-docs.yml create mode 100644 docs/extensions/guides/anatomy.md create mode 100644 docs/extensions/guides/components.md create mode 100644 docs/extensions/guides/kube-object-list-layout.md create mode 100644 docs/extensions/guides/stores.md diff --git a/.github/workflows/check-docs.yml b/.github/workflows/check-docs.yml new file mode 100644 index 0000000000..69b3b7e6d5 --- /dev/null +++ b/.github/workflows/check-docs.yml @@ -0,0 +1,47 @@ +name: Publish docs via GitHub Pages +on: + - pull_request +jobs: + build: + name: Check Docs + runs-on: ubuntu-latest + if: github.event.label.name != 'area/documentation' + strategy: + matrix: + node-version: [12.x] + steps: + - name: Set up Python 3.7 + uses: actions/setup-python@v2 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install git+https://${{ secrets.GH_TOKEN }}@github.com/lensapp/mkdocs-material-insiders.git + pip install mike + + + - name: Checkout Release from lens + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: git config + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + + - name: Using Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Generate Extensions API Reference using typedocs + run: | + yarn install + yarn typedocs-extensions-api + + - name: Verify that the markdown is valid + run: | + yarn run verify-docs diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d70f5f10dd..25e259be6f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,7 +4,7 @@ on: branches: - master release: - types: + types: - published jobs: build: @@ -46,6 +46,10 @@ jobs: yarn install yarn typedocs-extensions-api + - name: Verify that the markdown is valid + run: | + yarn run verify-docs + - name: mkdocs deploy master if: contains(github.ref, 'refs/heads/master') run: | @@ -55,10 +59,9 @@ jobs: if: contains(github.ref, 'refs/tags/v') # && !github.event.release.prerelease (generate pre-release docs until Lens 4.0.0 is GA, see #1408) id: get_version run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} - + - name: mkdocs deploy new release if: contains(github.ref, 'refs/tags/v') # && !github.event.release.prerelease (generate pre-release docs until Lens 4.0.0 is GA, see #1408) run: | mike deploy --push --update-aliases ${{ steps.get_version.outputs.VERSION }} latest mike set-default --push ${{ steps.get_version.outputs.VERSION }} - diff --git a/.gitignore b/.gitignore index 93a56f1243..d018f3b251 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ types/extension-api.d.ts types/extension-renderer-api.d.ts extensions/*/dist docs/extensions/api +site/ diff --git a/docs/extensions/README.md b/docs/extensions/README.md index afece3a12a..7866b65497 100644 --- a/docs/extensions/README.md +++ b/docs/extensions/README.md @@ -14,7 +14,7 @@ Here are some examples of what you can achieve with the Extension API: * Add custom components & views in the UI - Extending the Lens Workbench -For an overview of the Lens Extension API, refer to the [Common Capabilities](capabilities/common-capabilities.md) page. [Extension Guides Overview](guides/overview.md) also includes a list of code samples and guides that illustrate various ways of using the Lens Extension API. +For an overview of the Lens Extension API, refer to the [Common Capabilities](capabilities/common-capabilities.md) page. [Extension Guides Overview](guides/README.md) also includes a list of code samples and guides that illustrate various ways of using the Lens Extension API. ## How to Build Extensions diff --git a/docs/extensions/guides/anatomy.md b/docs/extensions/guides/anatomy.md new file mode 100644 index 0000000000..cc7b84e256 --- /dev/null +++ b/docs/extensions/guides/anatomy.md @@ -0,0 +1,3 @@ +--- +WIP +--- diff --git a/docs/extensions/guides/components.md b/docs/extensions/guides/components.md new file mode 100644 index 0000000000..cc7b84e256 --- /dev/null +++ b/docs/extensions/guides/components.md @@ -0,0 +1,3 @@ +--- +WIP +--- diff --git a/docs/extensions/guides/kube-object-list-layout.md b/docs/extensions/guides/kube-object-list-layout.md new file mode 100644 index 0000000000..cc7b84e256 --- /dev/null +++ b/docs/extensions/guides/kube-object-list-layout.md @@ -0,0 +1,3 @@ +--- +WIP +--- diff --git a/docs/extensions/guides/stores.md b/docs/extensions/guides/stores.md new file mode 100644 index 0000000000..cc7b84e256 --- /dev/null +++ b/docs/extensions/guides/stores.md @@ -0,0 +1,3 @@ +--- +WIP +--- diff --git a/package.json b/package.json index d0245d52d2..83fad792e4 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "lint": "yarn run eslint $@ --ext js,ts,tsx --max-warnings=0 src/ integration/ __mocks__/ build/ extensions/", "lint:fix": "yarn run lint --fix", "mkdocs-serve-local": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest", + "verify-docs": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict", "typedocs-extensions-api": "yarn run typedoc --ignoreCompilerErrors --readme docs/extensions/typedoc-readme.md.tpl --name @k8slens/extensions --out docs/extensions/api --mode library --excludePrivate --hideBreadcrumbs --includes src/ src/extensions/extension-api.ts" }, "config": {