name: Publish Nightly Docs on: push: branches: - master jobs: build_docs: name: Build docs runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Setup cache uses: actions/cache@v2 with: path: | ~/.cargo/registry ~/.cargo/git target key: nightly-docs-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} - name: Install nightly toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true - name: Build docs uses: actions-rs/cargo@v1 with: command: rustdoc args: --verbose --features=compiler,electrum,esplora,compact_filters,key-value-db,all-keys -- --cfg docsrs - name: Upload artifact uses: actions/upload-artifact@v2 with: name: built-docs path: ./target/doc/* publish_docs: name: 'Publish docs' 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 ./static/docs-rs/bdk/nightly - name: Remove old latest run: rm -rf ./static/docs-rs/bdk/nightly/latest - name: Download built docs uses: actions/download-artifact@v1 with: name: built-docs path: ./static/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 and push run: git add ./static && git commit -m "Publish autogenerated nightly docs" && git push origin master