chore: update CI workflow to allow manual triggering #19
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: 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: 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: Run build | |
run: cargo build |