name: Publish Nightly Docs on: [push, pull_request] jobs: build_docs: name: Build docs runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Set default toolchain run: rustup default nightly-2022-12-14 - name: Set profile run: rustup set profile minimal - name: Update toolchain run: rustup update - name: Rust Cache uses: Swatinem/rust-cache@v2.2.1 - name: Build docs run: cargo doc --no-deps env: RUSTDOCFLAGS: '--cfg docsrs -Dwarnings' - name: Upload artifact uses: actions/upload-artifact@v2 with: name: built-docs path: ./target/doc/* publish_docs: name: 'Publish docs' if: github.ref == 'refs/heads/master' needs: [build_docs] runs-on: ubuntu-latest steps: - name: Checkout `bitcoindevkit.org` uses: actions/checkout@v2 with: ssh-key: ${{ secrets.DOCS_PUSH_SSH_KEY }} repository: bitcoindevkit/bitcoindevkit.org ref: master - name: Create directories run: mkdir -p ./docs/.vuepress/public/docs-rs/bdk/nightly - name: Remove old latest run: rm -rf ./docs/.vuepress/public/docs-rs/bdk/nightly/latest - name: Download built docs uses: actions/download-artifact@v1 with: name: built-docs path: ./docs/.vuepress/public/docs-rs/bdk/nightly/latest - name: Configure git run: git config user.email "github-actions@github.com" && git config user.name "github-actions" - name: Commit continue-on-error: true # If there's nothing to commit this step fails, but it's fine run: git add ./docs/.vuepress/public/docs-rs && git commit -m "Publish autogenerated nightly docs" - name: Push run: git push origin master