From 6bd7155598989fb9af581c7bc4466ee89c21a04d Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 29 Feb 2024 17:09:42 -0500 Subject: [PATCH] wip switch to mdbook --- .github/workflows/docs.yml | 70 ++++++++++++++++++-------------------- docs/Gemfile | 14 -------- 2 files changed, 34 insertions(+), 50 deletions(-) delete mode 100644 docs/Gemfile diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2492534c..dec1eb81 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,43 +1,41 @@ -name: Docs - +# This is a copy of https://github.com/rust-lang/mdBook/wiki/Automated-Deployment%3A-GitHub-Actions#raw-example +# as of 2024-02-29 +name: Deploy docs on: push: - branches: ["main"] - workflow_dispatch: - -permissions: - contents: read - pages: write - id-token: write - -concurrency: - group: "pages" - cancel-in-progress: true + branches: + - main jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Pages - uses: actions/configure-pages@v4 - - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1 - with: - source: ./docs - destination: ./_site - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - - # Deployment job deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest - needs: build + permissions: + contents: write # To push a branch + pull-requests: write # To create a PR from that branch steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Install latest mdbook + run: | + tag=$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name') + url="https://github.com/rust-lang/mdbook/releases/download/${tag}/mdbook-${tag}-x86_64-unknown-linux-gnu.tar.gz" + mkdir mdbook + curl -sSL $url | tar -xz --directory=./mdbook + echo `pwd`/mdbook >> $GITHUB_PATH + - name: Deploy GitHub Pages + run: | + # This assumes your book is in the root of your repository. + # Just add a `cd` here if you need to change to another directory. + cd docs && mdbook build + git worktree add gh-pages + git config user.name "Deploy from CI" + git config user.email "" + cd gh-pages + # Delete the ref to avoid keeping history. + git update-ref -d refs/heads/gh-pages + rm -rf * + mv ../book/* . + git add . + git commit -m "Deploy $GITHUB_SHA to gh-pages" + git push --force --set-upstream origin gh-pages diff --git a/docs/Gemfile b/docs/Gemfile deleted file mode 100644 index 1ffd2a02..00000000 --- a/docs/Gemfile +++ /dev/null @@ -1,14 +0,0 @@ -# Bundler setup for jekyll to be deployed on github pages. - -source "https://rubygems.org" - -# Note that we're using the github-pages gem to mimic the GitHub pages -# automated setup. That installs jekyll, a default set of jekyll -# plugins, and a modified jekyll configuration. -group :jekyll_plugins do - gem "github-pages" - gem "jekyll-remote-theme" -end - -# Prefer the GitHub flavored markdown version of kramdown. -gem "kramdown-parser-gfm"