diff --git a/.github/workflows/x86.yml b/.github/workflows/x86.yml index bf4e9508f877303bd4e58ba0e6225c1a089c13b1..2f4a89389a0013592ed7f6a197fa1aa613a5e144 100644 --- a/.github/workflows/x86.yml +++ b/.github/workflows/x86.yml @@ -66,20 +66,22 @@ jobs: if: ${{ matrix.os == 'ubuntu-latest' }} working-directory: libhermit-rs run: cargo test --lib --target x86_64-unknown-linux-gnu - - name: Build loader - run: cargo xtask build --arch x86_64 --release - working-directory: loader + - name: Download loader + uses: dsaltares/fetch-gh-release-asset@1.0.0 + with: + repo: hermitcore/rusty-loader + file: rusty-loader-x86_64 - name: Test dev profile run: | qemu-system-x86_64 -display none -smp 1 -m 128M -serial stdio \ -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr \ -device isa-debug-exit,iobase=0xf4,iosize=0x04 \ - -kernel loader/target/x86_64/release/rusty-loader \ + -kernel rusty-loader-x86_64 \ -initrd target/x86_64-unknown-hermit/debug/rusty_demo - name: Integration tests (ubuntu) working-directory: libhermit-rs if: ${{ matrix.os == 'ubuntu-latest' }} - run: cargo test --tests --no-fail-fast -- --bootloader_path=../loader/target/x86_64/release/rusty-loader + run: cargo test --tests --no-fail-fast -- --bootloader_path=rusty-loader-x86_64 continue-on-error: true - name: Build release profile run: cargo build -Zbuild-std=core,alloc,std,panic_abort -Zbuild-std-features=compiler-builtins-mem --target x86_64-unknown-hermit --release @@ -88,7 +90,7 @@ jobs: qemu-system-x86_64 -display none -smp 1 -m 128M -serial stdio \ -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr \ -device isa-debug-exit,iobase=0xf4,iosize=0x04 \ - -kernel loader/target/x86_64/release/rusty-loader \ + -kernel rusty-loader-x86_64 \ -initrd target/x86_64-unknown-hermit/release/rusty_demo - name: Build minimal profile if: ${{ matrix.os == 'ubuntu-latest' }} @@ -103,7 +105,7 @@ jobs: -M microvm,x-option-roms=off,pit=off,pic=off,rtc=on \ -global virtio-mmio.force-legacy=on -nodefaults -no-user-config \ -display none -smp 1 -m 64M -serial stdio \ - -kernel loader/target/x86_64/release/rusty-loader \ + -kernel rusty-loader-x86_64 \ -initrd target/x86_64-unknown-hermit/release/hello_world \ -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr \ -device isa-debug-exit,iobase=0xf4,iosize=0x04 \ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dc78f78daa8a473f5fc3c31d7dfe5a8def565937..4e2eb5710076037562e61cfeba3b07ae485913fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -92,25 +92,25 @@ test:qemu: -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none -m 64M -serial stdio -enable-kvm - -kernel /usr/local/bin/rusty-loader + -kernel /usr/local/bin/rusty-loader-x86_64 -initrd rusty-hermit/target/x86_64-unknown-hermit/debug/rusty_demo - qemu-system-x86_64 -smp 2 -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none -m 64M -serial stdio -enable-kvm - -kernel /usr/local/bin/rusty-loader + -kernel /usr/local/bin/rusty-loader-x86_64 -initrd rusty-hermit/target/x86_64-unknown-hermit/debug/rusty_demo - qemu-system-x86_64 -smp 1 -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none -m 64M -serial stdio -enable-kvm - -kernel /usr/local/bin/rusty-loader + -kernel /usr/local/bin/rusty-loader-x86_64 -initrd rusty-hermit/target/x86_64-unknown-hermit/release/rusty_demo - qemu-system-x86_64 -smp 2 -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none -m 64M -serial stdio -enable-kvm - -kernel /usr/local/bin/rusty-loader + -kernel /usr/local/bin/rusty-loader-x86_64 -initrd rusty-hermit/target/x86_64-unknown-hermit/release/rusty_demo tags: - privileged diff --git a/Dockerfile b/Dockerfile index cc66f6f32b3763e3a096bb42d508f49ee572cb0d..5a7d543dface5797b259b0b1ee2e5eb4a53a22f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,18 +40,6 @@ FROM rust:bullseye as stable-deps RUN set -eux; \ cargo install uhyve; -# Build dependencies with libhermit-rs' toolchain channel -FROM hermit-toolchain as hermit-deps -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - nasm \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - git clone https://github.com/hermitcore/rusty-loader.git; \ - cd rusty-loader; \ - cargo xtask build --arch x86_64 --release; - # Install dependencies FROM hermit-toolchain as ci-runner RUN set -eux; \ @@ -63,5 +51,6 @@ RUN set -eux; \ qemu-system-x86 \ ; \ rm -rf /var/lib/apt/lists/*; +RUN set -eux; \ + wget -P /usr/local/bin "https://github.com/hermitcore/rusty-loader/releases/download/v0.3.0/rusty-loader-x86_64"; COPY --from=stable-deps $CARGO_HOME/bin/uhyve $CARGO_HOME/bin/uhyve -COPY --from=hermit-deps rusty-loader/target/x86_64/release/rusty-loader /usr/local/bin/rusty-loader