name: Publish
permissions:
contents: read
on:
release:
types: [published]
env:
CARGO_TERM_COLOR: always
CLICOLOR: 1
jobs:
publish:
name: cargo publish
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Install rust
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: cargo publish
shell: bash
run: cargo publish --token ${{ secrets.CRATES_TOKEN }}
doc-deploy:
name: cargo +nightly doc
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Install rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-docs
- uses: Swatinem/rust-cache@v2
- name: cargo +nightly doc --no-deps --all-features
run: cargo +nightly doc --no-deps --all-features
env:
RUSTDOCFLAGS: --cfg docsrs -D warnings
- name: Move files
shell: bash
run: |
mkdir -p ./docs/${{ github.ref_name }}
mv ./target/doc/* ./docs/${{ github.ref_name }}/
touch index.html
echo '<!DOCTYPE html>' >> index.html
echo '<html>' >> index.html
echo ' <head>' >> index.html
echo ' <meta http-equiv="refresh" content="0; url = rman/index.html"/>' >> index.html
echo ' </head>' >> index.html
echo ' <body></body>' >> index.html
echo '</html>' >> index.html
mv index.html ./docs/${{ github.ref_name }}
- name: Deploy docs
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
publish_dir: ./docs
allow_empty_commit: false
keep_files: true