From 918a89ac220cbd9d95422aba00c45d0d73f94677 Mon Sep 17 00:00:00 2001 From: Steven Normore Date: Wed, 24 Apr 2024 09:16:55 -0400 Subject: [PATCH] ci: build and deploy docs --- .github/workflows/docs.yml | 64 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 .github/workflows/docs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..061ee9b --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,64 @@ +name: Docs + +on: + push: + branches: + - main + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "github-pages" + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Setup Pages + uses: actions/configure-pages@v2 + - uses: actions/setup-python@v2 + + - name: Install rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + + - name: Run tests + run: | + cargo test + id: test + + - name: Build cargo doc + run: | + rm -rf ./_site + cargo doc --lib --no-deps + rm -f target/doc/.lock + cp -r target/doc _site + chmod -R +rX _site + + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v3