Skip to content

parallelize independent checks #243

parallelize independent checks

parallelize independent checks #243

Workflow file for this run

name: Documentation
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
on:
push:
env:
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
RUSTUP_MAX_RETRIES: 10
CARGO_TERM_COLOR: always
CARGO_NET_GIT_FETCH_WITH_CLI: true
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
jobs:
rustdoc:
name: Rust
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1 # this implicitly caches Rust tools and build artifacts
with:
rustflags: ''
- name: Build Rust documentation
run: cargo doc --all --no-deps
- uses: actions/upload-artifact@v4.5.0
with:
name: rustdoc
path: target/doc
retention-days: 1
overwrite: true
include-hidden-files: true
tsdoc:
name: Typescript
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1 # this implicitly caches Rust tools and build artifacts
with:
rustflags: ''
target: |
wasm32-unknown-unknown
x86_64-unknown-linux-gnu
- name: Setup cargo-make
uses: davidB/rust-cargo-make@v1
- name: Install wasm-pack
uses: taiki-e/install-action@v2
with:
tool: wasm-pack
- name: Setup bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Make TS Docs
run: |
cd crypto-ffi
cargo make docs-ts
- uses: actions/upload-artifact@v4.5.0
with:
name: tsdoc
path: target/doc
retention-days: 1
overwrite: true
include-hidden-files: true
ktdoc:
name: Kotlin
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1 # this implicitly caches Rust tools and build artifacts
with:
rustflags: ''
target: |
x86_64-unknown-linux-gnu
- name: Setup cargo-make
uses: davidB/rust-cargo-make@v1
- name: Make Kotlin Docs
run: |
mkdir -p target/doc/core_crypto_ffi/bindings/kotlin
cd crypto-ffi
cargo make docs-kotlin
- uses: actions/upload-artifact@v4.5.0
with:
name: ktdoc
path: target/doc
retention-days: 1
overwrite: true
include-hidden-files: true
deploy:
name: Deploy
runs-on: ubuntu-latest
if: github.repository == 'wireapp/core-crypto' && github.ref_name == 'main'
needs:
- rustdoc
- tsdoc
- ktdoc
steps:
- uses: actions/download-artifact@v4.1.8
with:
path: target/doc
merge-multiple: true
- name: Deploy Docs
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
publish_dir: ./target/doc
force_orphan: true