fix(os-windows): enumerate trees in order #33
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: # Allows push to trigger the workflow. | |
pull_request: # Allows PRs to trigger the workflow. | |
workflow_dispatch: # Allows manual triggering of the workflow. | |
env: | |
CARGO_TERM_COLOR: always # Enable colored output for cargo. | |
RUSTFLAGS: -Dwarnings # Enable all warnings for the Rust compiler. | |
XEN_SYS_USE_BINDINGS: 1 # Enable use of Xen bindings in libxen. | |
permissions: | |
contents: read | |
jobs: | |
#xen-install: | |
# name: Install Xen | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Cache Xen | |
# id: cache-xen | |
# uses: actions/cache@v4 | |
# with: | |
# path: ~/xen/dist | |
# key: ${{ runner.os }}-xen-RELEASE-4.19.0 | |
# | |
# - name: Install build dependencies | |
# if: steps.cache-xen.outputs.cache-hit != 'true' | |
# run: | | |
# # | |
# # Install build dependencies. | |
# # | |
# | |
# sudo apt-get install -y \ | |
# build-essential \ | |
# git-core \ | |
# golang \ | |
# iasl \ | |
# libbz2-dev \ | |
# libext2fs-dev \ | |
# liblzma-dev \ | |
# libncurses5-dev \ | |
# libyajl-dev \ | |
# libzstd-dev \ | |
# ninja-build \ | |
# ocaml \ | |
# ocaml-findlib \ | |
# python3-dev \ | |
# uuid-dev \ | |
# zlib1g-dev | |
# | |
# # | |
# # Clone Xen repository. | |
# # | |
# | |
# mkdir -p ~/xen | |
# cd ~/xen | |
# git clone https://github.com/xen-project/xen.git -b RELEASE-4.19.0 . | |
# | |
# # | |
# # Configure and build Xen. | |
# # | |
# | |
# ./configure \ | |
# --disable-docs \ | |
# --disable-pvshim \ | |
# --disable-stubdom \ | |
# --enable-githttp | |
# | |
# make -j$(nproc) debball | |
# | |
# - name: Install Xen | |
# run: | | |
# sudo dpkg -i ~/xen/dist/*.deb | |
# sudo apt-get install -f | |
# sudo ldconfig | |
clippy: | |
name: cargo clippy | |
runs-on: ubuntu-latest | |
# needs: xen-install | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: clippy | |
- name: Set up cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run clippy | |
run: cargo +nightly clippy | |
fmt: | |
name: cargo fmt | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: rustfmt | |
- name: Set up cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run rustfmt | |
run: cargo +nightly fmt --all -- --check | |
build: | |
name: cargo build | |
runs-on: ubuntu-latest | |
# needs: xen-install | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Set up cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run build | |
run: cargo build | |
# | |
# It would be better to run `cargo build --examples` but since the Xen | |
# is not installed in the CI environment, the examples will not compile. | |
# | |
examples: | |
name: cargo check --examples | |
runs-on: ubuntu-latest | |
# needs: xen-install | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Set up cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run check | |
run: cargo check --examples |