62 lines
2.1 KiB
YAML
62 lines
2.1 KiB
YAML
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: Setup cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
target
|
|
key: nightly-docs-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
|
|
- name: Set default toolchain
|
|
run: rustup default nightly-2022-01-25
|
|
- name: Set profile
|
|
run: rustup set profile minimal
|
|
- name: Update toolchain
|
|
run: rustup update
|
|
- name: Build docs
|
|
run: cargo rustdoc --verbose --features=compiler,electrum,esplora,ureq,compact_filters,key-value-db,all-keys,sqlite -- --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
|