feat(fs/mem): tarfs implementation #7998
Workflow file for this run
This file contains hidden or 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: | |
| pull_request: | |
| merge_group: | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| RUSTFLAGS: -Dwarnings | |
| RUSTDOCFLAGS: -Dwarnings | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| cargo-deny: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| checks: | |
| - advisories | |
| - bans licenses sources | |
| # Prevent sudden announcement of a new advisory from failing ci: | |
| continue-on-error: ${{ matrix.checks == 'advisories' }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: EmbarkStudios/cargo-deny-action@v2 | |
| with: | |
| command: check ${{ matrix.checks }} | |
| check: | |
| name: Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-hack | |
| - uses: mkroening/rust-toolchain-toml@main | |
| - run: rustup target add x86_64-unknown-none aarch64-unknown-none-softfloat riscv64gc-unknown-none-elf | |
| - name: cargo hack check (x86_64) | |
| run: | | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target x86_64-unknown-none --exclude-features dhcpv4,dns,gem-net,net,rtl8139,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target x86_64-unknown-none --exclude-features dhcpv4,dns,gem-net,net,rtl8139,virtio-net --features pci | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target x86_64-unknown-none --exclude-features gem-net,rtl8139 --features tcp,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target x86_64-unknown-none --exclude-features gem-net,rtl8139 --features pci,tcp,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target x86_64-unknown-none --exclude-features gem-net,virtio-net --features tcp,rtl8139 | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target x86_64-unknown-none --exclude-features gem-net,virtio-net --features pci,tcp,rtl8139 | |
| - name: cargo hack check (aarch64) | |
| run: | | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64-unknown-none-softfloat --exclude-features dhcpv4,dns,gem-net,net,rtl8139,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64-unknown-none-softfloat --exclude-features dhcpv4,dns,gem-net,net,rtl8139,virtio-net --features pci | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64-unknown-none-softfloat --exclude-features gem-net,rtl8139 --features tcp,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64-unknown-none-softfloat --exclude-features gem-net,rtl8139 --features pci,tcp,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64-unknown-none-softfloat --exclude-features gem-net,virtio-net --features tcp,rtl8139 | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64-unknown-none-softfloat --exclude-features gem-net,virtio-net --features pci,tcp,rtl8139 | |
| - name: cargo hack check (aarch64_be) | |
| run: | | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64_be-unknown-none-softfloat -Zbuild-std=core,alloc --exclude-features dhcpv4,dns,gem-net,net,rtl8139,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64_be-unknown-none-softfloat -Zbuild-std=core,alloc --exclude-features dhcpv4,dns,gem-net,net,rtl8139,virtio-net --features pci | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64_be-unknown-none-softfloat -Zbuild-std=core,alloc --exclude-features gem-net,rtl8139 --features tcp,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64_be-unknown-none-softfloat -Zbuild-std=core,alloc --exclude-features gem-net,rtl8139 --features pci,tcp,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64_be-unknown-none-softfloat -Zbuild-std=core,alloc --exclude-features gem-net,virtio-net --features tcp,rtl8139 | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target aarch64_be-unknown-none-softfloat -Zbuild-std=core,alloc --exclude-features gem-net,virtio-net --features pci,tcp,rtl8139 | |
| - name: cargo hack check (riscv64) | |
| run: | | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target riscv64gc-unknown-none-elf --exclude-features dhcpv4,dns,gem-net,net,rtl8139,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target riscv64gc-unknown-none-elf --exclude-features dhcpv4,dns,gem-net,net,rtl8139,virtio-net --features pci | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target riscv64gc-unknown-none-elf --exclude-features gem-net,rtl8139 --features tcp,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target riscv64gc-unknown-none-elf --exclude-features gem-net,rtl8139 --features pci,tcp,virtio-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target riscv64gc-unknown-none-elf --exclude-features rtl8139,virtio-net --features tcp,gem-net | |
| cargo hack check --package hermit-kernel --each-feature --no-dev-deps --target riscv64gc-unknown-none-elf --exclude-features rtl8139,virtio-net --features pci,tcp,gem-net | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: mkroening/rust-toolchain-toml@main | |
| - run: rustup component add clippy | |
| - run: cargo xtask clippy | |
| format: | |
| name: Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: mkroening/rust-toolchain-toml@main | |
| - run: rustup component add rustfmt | |
| - run: | | |
| cargo fmt --all --check | |
| cargo fmt --all --check --manifest-path hermit-builtins/Cargo.toml | |
| typos: | |
| name: Typos | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: crate-ci/typos@master | |
| doc: | |
| name: Doc | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: mkroening/rust-toolchain-toml@main | |
| - run: cargo xtask doc | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: mkroening/rust-toolchain-toml@main | |
| - name: Build minimal kernel | |
| run: | | |
| cargo xtask build --arch x86_64 --no-default-features | |
| cargo xtask build --arch aarch64 --no-default-features | |
| cargo xtask build --arch aarch64_be --no-default-features | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install QEMU | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install --no-install-recommends qemu-system-x86 | |
| - uses: mkroening/rust-toolchain-toml@main | |
| - name: Unit tests | |
| run: cargo test --lib | |
| env: | |
| RUSTFLAGS: -Awarnings | |
| - name: Macro unit tests | |
| run: cargo test --package hermit-macro | |
| - name: Download loader | |
| run: gh release download --repo hermit-os/loader --pattern hermit-loader-x86_64 | |
| - run: rustup target add x86_64-unknown-none | |
| - name: Integration tests | |
| run: cargo test --tests --no-fail-fast --target x86_64-unknown-none -- --bootloader_path=hermit-loader-x86_64 | |
| env: | |
| RUSTFLAGS: | |
| run-hermit: | |
| name: Run | |
| runs-on: ${{ (matrix.arch == 'aarch64' || matrix.arch == 'aarch64_be') && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} | |
| env: | |
| HERMIT_CAREFUL: ${{ matrix.hermit-careful }} | |
| defaults: | |
| run: | |
| working-directory: kernel | |
| strategy: | |
| matrix: | |
| arch: [x86_64, aarch64, aarch64_be, riscv64] | |
| profile: [dev, release] | |
| include: | |
| - profile: dev | |
| hermit-careful: 1 | |
| - arch: x86_64 | |
| packages: qemu-system-x86 libcap-ng-dev libseccomp-dev uftrace | |
| flags: --accel --sudo | |
| - arch: aarch64 | |
| packages: qemu-system-aarch64 ipxe-qemu | |
| - arch: aarch64_be | |
| packages: qemu-system-aarch64 ipxe-qemu | |
| - arch: riscv64 | |
| packages: qemu-system-misc | |
| steps: | |
| - name: Checkout hermit-rs | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: hermit-os/hermit-rs | |
| - name: Checkout hermit-kernel | |
| uses: actions/checkout@v6 | |
| with: | |
| path: kernel | |
| - name: Install QEMU | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install --no-install-recommends ${{ matrix.packages }} | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: mkroening/rust-toolchain-toml@main | |
| - run: rustup component add llvm-tools | |
| working-directory: . | |
| - run: rustup target add wasm32-wasip1 | |
| working-directory: . | |
| - uses: mkroening/rust-toolchain-toml@main | |
| with: | |
| toolchain-file: "kernel/rust-toolchain.toml" | |
| - name: Download loader | |
| run: gh release download --repo hermit-os/loader --pattern 'hermit-loader-${{ matrix.arch }}*' | |
| - name: Dowload OpenSBI | |
| if: matrix.arch == 'riscv64' | |
| run: | | |
| gh release download v1.7 --repo riscv-software-src/opensbi --pattern 'opensbi-*-rv-bin.tar.xz' | |
| tar -xvf opensbi-*-rv-bin.tar.xz opensbi-1.7-rv-bin/share/opensbi/lp64/generic/firmware/fw_jump.bin | |
| - name: Install Firecracker | |
| run: | | |
| # https://github.com/firecracker-microvm/firecracker/blob/v1.5.1/docs/getting-started.md#getting-a-firecracker-binary | |
| ARCH="$(uname -m)" | |
| release_url="https://github.com/firecracker-microvm/firecracker/releases" | |
| latest=$(basename $(curl -fsSLI -o /dev/null -w %{url_effective} ${release_url}/latest)) | |
| curl -L ${release_url}/download/${latest}/firecracker-${latest}-${ARCH}.tgz \ | |
| | tar -xz | |
| mkdir -p $HOME/.local/bin | |
| mv release-${latest}-$(uname -m)/firecracker-${latest}-${ARCH} $HOME/.local/bin/firecracker | |
| echo $HOME/.local/bin >> $GITHUB_PATH | |
| $HOME/.local/bin/firecracker --version | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo +stable install --locked uhyve --git https://github.com/hermit-os/uhyve.git --rev 155482e3c8c1c6dd3c066379aed70f61ae27352c | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo +stable install --locked virtiofsd | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo +stable install cargo-careful | |
| if: matrix.profile == 'dev' | |
| - run: FIRECRACKER=$HOME/.local/bin/firecracker cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --no-default-features firecracker --sudo | |
| if: matrix.arch == 'x86_64' | |
| - run: FIRECRACKER=$HOME/.local/bin/firecracker cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --no-default-features --smp 4 firecracker --sudo | |
| if: matrix.arch == 'x86_64' | |
| - run: UHYVE=$CARGO_HOME/bin/uhyve cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo uhyve --sudo | |
| if: matrix.arch == 'x86_64' | |
| - run: UHYVE=$CARGO_HOME/bin/uhyve cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --smp 4 uhyve --sudo | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo clean | |
| working-directory: . | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package hello_world qemu ${{ matrix.flags }} | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package hello_world qemu ${{ matrix.flags }} --uefi | |
| if: matrix.arch == 'x86_64' | |
| - run: | | |
| cd .. | |
| cargo build --target wasm32-wasip1 --profile release --package hello_world | |
| mkdir kernel/shared | |
| cp target/wasm32-wasip1/release/hello_world.wasm kernel/shared | |
| cd kernel | |
| cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package hermit-wasm --features fs qemu ${{ matrix.flags }} --devices virtio-fs-pci | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package hello_world --no-default-features qemu ${{ matrix.flags }} --microvm | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package stdin qemu | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package stdin --features hermit/console qemu --devices virtio-console-pci | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package stdin --features hermit/console --no-default-features qemu --devices virtio-console-mmio | |
| if: matrix.arch != 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package thread_test --smp 4 qemu ${{ matrix.flags }} | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --features fs qemu ${{ matrix.flags }} --devices virtio-fs-pci | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --features fs --smp 4 qemu ${{ matrix.flags }} --devices virtio-fs-pci | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --features fs qemu ${{ matrix.flags }} --devices virtio-fs-pci --no-default-virtio-features | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --features fs --smp 4 qemu ${{ matrix.flags }} --devices virtio-fs-pci --no-default-virtio-features | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo qemu ${{ matrix.flags }} | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --smp 4 qemu ${{ matrix.flags }} | |
| # https://github.com/hermit-os/kernel/issues/1286 | |
| continue-on-error: ${{ matrix.arch == 'riscv64' }} | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rusty_demo --smp 4 qemu ${{ matrix.flags }} --uefi | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package rftrace-example qemu ${{ matrix.flags }} --devices virtio-fs-pci | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo clean | |
| working-directory: . | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --features ci,hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci | |
| if: matrix.arch != 'riscv64' | |
| # FIXME: this is broken on QEMU 8.2.2 | |
| # Enable this once CI reaches QEMU 8.2.3 or QEMU 9.0.0 | |
| # - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --features ci,hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci | |
| # if: matrix.arch != 'riscv64' | |
| # env: | |
| # # The buffer is sized to be smaller than the packets received during DHCPv4 address acquisition and thus exercise the buffer merging code path. | |
| # HERMIT_MRG_RXBUF_SIZE: 200 | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --features ci,hermit/virtio-net qemu --sudo --devices virtio-net-pci --tap | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --features ci,hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci --no-default-virtio-features | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --features ci,hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci --pci-e | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --features ci,hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci --uefi | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --features ci,hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci --uefi --pci-e | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --no-default-features --features ci,hermit/dhcpv4,hermit/tcp,hermit/virtio-net qemu ${{ matrix.flags }} --microvm --devices virtio-net-mmio | |
| if: matrix.arch == 'x86_64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --no-default-features --features ci,hermit/dhcpv4,hermit/tcp,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-mmio | |
| if: matrix.arch == 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --features ci,hermit/dhcpv4,hermit/rtl8139 qemu ${{ matrix.flags }} --devices rtl8139 | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package httpd --no-default-features --features ci,hermit/dhcpv4,hermit/tcp,hermit/gem-net qemu ${{ matrix.flags }} --devices cadence-gem | |
| if: matrix.arch == 'riscv64' | |
| - run: cargo clean | |
| working-directory: . | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package testudp --features hermit/udp,hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package testudp --features hermit/udp,hermit/dhcpv4,hermit/rtl8139 qemu ${{ matrix.flags }} --devices rtl8139 | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package testudp --no-default-features --features hermit/udp,hermit/dhcpv4,hermit/gem-net qemu ${{ matrix.flags }} --devices cadence-gem | |
| if: matrix.arch == 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package miotcp --features hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package miotcp --features hermit/dhcpv4,hermit/rtl8139 qemu ${{ matrix.flags }} --devices rtl8139 | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package miotcp --no-default-features --features hermit/dhcpv4,hermit/tcp,hermit/gem-net qemu ${{ matrix.flags }} --devices cadence-gem | |
| if: matrix.arch == 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package poll --features hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package poll --features hermit/dhcpv4,hermit/rtl8139 qemu ${{ matrix.flags }} --devices rtl8139 | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package mioudp --features hermit/udp,hermit/dhcpv4,hermit/virtio-net qemu ${{ matrix.flags }} --devices virtio-net-pci | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package mioudp --features hermit/udp,hermit/dhcpv4,hermit/rtl8139 qemu ${{ matrix.flags }} --devices rtl8139 | |
| if: matrix.arch != 'riscv64' | |
| - run: cargo xtask ci rs --arch ${{ matrix.arch }} --profile ${{ matrix.profile }} --package loopback qemu ${{ matrix.flags }} | |
| env: | |
| HERMIT_IP: 127.0.0.1 |