name: Deploy on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest permissions: contents: write # To push a branch pull-requests: write # To create a PR from that branch steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Update rustup run: rustup self update - name: Install Rust run: | rustup set profile minimal rustup toolchain install nightly -c rust-docs rustup override set nightly - uses: Swatinem/rust-cache@v2 with: cache-all-crates: "true" cache-targets: "false" - run: cargo install --locked --path . # - 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: Install plugins # run: | # cargo install mdbook-bib # cargo install mdbook-mermaid - 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. 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