Skip to content

Port of 3038 to testnet (#3066) #1738

Port of 3038 to testnet (#3066)

Port of 3038 to testnet (#3066) #1738

Workflow file for this run

name: Documentation
on:
push:
branches: [ main, 'devnet_*', 'testnet_*' ]
paths-ignore:
- '*.md'
- 'docker/**'
- 'docker_scylla/**'
- 'configuration/**'
- 'kubernetes/**'
- 'scripts/**'
workflow_dispatch:
# This allows a subsequently queued workflow run to interrupt previous runs on pull-requests
concurrency:
group: '${{ github.workflow }} ${{ github.ref }}'
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
RUST_BACKTRACE: short
RUSTFLAGS: "-D warnings"
RUSTUP_MAX_RETRIES: 10
LINERA_PACKAGES: "packages.txt"
permissions:
contents: read
jobs:
publish-docs:
runs-on: ubuntu-latest
# We only publish docs for the main branch.
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v3
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Compute docs
run: |
cargo doc --all-features
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
publish_branch: gh-pages
publish_dir: ./target/doc
force_orphan: true
test-crates-and-docrs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install cargo tools
run: |
cargo install --locked cargo-index
# TODO(#2338): Remove the pinned Git URL and revision
cargo install --locked cargo-local-registry --git https://github.com/dhovart/cargo-local-registry --rev 2b20904a
- name: Setup git committer information
run: |
git config --global user.email "[email protected]"
git config --global user.name "CI"
- name: Generate packages
run: |
scripts/test_publish.sh "$LINERA_PACKAGES" ${{ runner.temp }}/registry
# TODO(#2593): fix docs.rs CI test
# - name: Extract packaged crates
# run: |
# cd "${{ runner.temp }}/registry"
# grep -v '^#' "$LINERA_PACKAGES" | while read LINE; do
# CRATE="${LINE%% *}"
# tar -xzvf "${CRATE}-*.crate"
# done
# - name: Checkout docs.rs tool repository
# run: |
# cd ${{ runner.temp }}
# git clone https://github.com/rust-lang/docs.rs docsrs
# cd docsrs
# git submodule update --init
# - name: Build documentation using docs.rs
# run: |
# cd ${{ runner.temp }}/docsrs
# cp .env.sample .env
# mkdir -p ignored/cratesfyi-prefix/crates.io-index
# . .env
# SQLX_OFFLINE=1 cargo build
# docker compose up -d db s3
# cargo run -- database migrate
# grep -v ^# "$LINERA_PACKAGES" | while read LINE; do
# CRATE="${LINE%% *}"
# cargo run -- build crate --local "${{ runner.temp }}/registry/${CRATE}-*/"
# done