Skip to content

fix: Decouple arch-specific constants from PagingConstsTrait trait definitions, fix specifications, and prove axioms. #938

fix: Decouple arch-specific constants from PagingConstsTrait trait definitions, fix specifications, and prove axioms.

fix: Decouple arch-specific constants from PagingConstsTrait trait definitions, fix specifications, and prove axioms. #938

Workflow file for this run

name: Deploy Rust docs to GitHub Pages
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt update -qq
sudo apt install -y build-essential unzip pkg-config libssl-dev llvm
- name: Get Rust toolchain version
id: rust-toolchain
run: |
RUST_VERSION=$(grep 'channel' rust-toolchain.toml | sed -E 's/.*= *"(.*)"/\1/')
if [ -z "$RUST_VERSION" ]; then
echo "Failed to extract Rust version from rust-toolchain.toml"
exit 1
fi
echo "RUST_VERSION=$RUST_VERSION" >> "$GITHUB_ENV"
echo "Rust version: $RUST_VERSION"
- name: Cache Rust toolchain
uses: actions/cache@v5
with:
path: |
~/.rustup/toolchains
~/.rustup/update-hashes
~/.rustup/tmp
key: ${{ runner.os }}-rust-toolchain-${{ env.RUST_VERSION }}
- name: Cache Cargo dependencies
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Get Verus commit
id: verus
run: |
VERUS_COMMIT=$(git ls-remote https://github.com/asterinas/verus HEAD | cut -f1)
echo "VERUS_COMMIT=$VERUS_COMMIT" >> "$GITHUB_ENV"
echo "Using Verus commit: $VERUS_COMMIT"
DV_COMMIT=$(git rev-parse HEAD:dv)
echo "DV_COMMIT=$DV_COMMIT" >> "$GITHUB_ENV"
echo "Using dv commit: $DV_COMMIT"
- name: Cache dv build artifacts
uses: actions/cache@v5
with:
path: dv/target
key: ${{ runner.os }}-dv-${{ env.DV_COMMIT }}
- name: Cache Verus
id: cache-verus
uses: actions/cache@v5
with:
path: tools/verus
key: ${{ runner.os }}-verus-${{ env.VERUS_COMMIT }}
- name: Cache verusfmt
id: cache-verusfmt
uses: actions/cache@v5
with:
path: ~/.cargo/bin/verusfmt
key: ${{ runner.os }}-verusfmt-${{ env.VERUS_COMMIT }}
- name: Bootstrap Verus (if needed)
run: |
if [ "${{ steps.cache-verus.outputs.cache-hit }}" = "true" ]; then
echo "Using cached Verus"
else
echo "Cache miss, bootstrapping Verus..."
rm -rf tools/verus
cargo dv bootstrap
fi
if ! command -v verusfmt >/dev/null 2>&1; then
echo "verusfmt not found, installing via cargo dv bootstrap..."
cargo dv bootstrap
fi
verusfmt --version
- name: Build docs
run: make doc
- name: Upload artifact
if: github.event_name != 'pull_request' && github.repository == 'asterinas/vostd'
uses: actions/upload-pages-artifact@v5
with:
path: doc
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: build
if: github.event_name != 'pull_request' && github.repository == 'asterinas/vostd'
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5