+++ /dev/null
-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@v4
- with:
- persist-credentials: false
- - name: Set default toolchain
- run: rustup default nightly
- - name: Set profile
- run: rustup set profile minimal
- - name: Update toolchain
- run: rustup update
- - name: Rust Cache
- uses: Swatinem/rust-cache@v2.7.7
- - name: Build docs
- run: cargo doc --no-deps
- env:
- RUSTDOCFLAGS: '--cfg docsrs -Dwarnings'
- - name: Upload artifact
- uses: actions/upload-artifact@v4
- 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
- permissions:
- contents: write
- steps:
- - name: Checkout `bitcoindevkit.org`
- uses: actions/checkout@v4
- with:
- persist-credentials: false
- 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@v4
- 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