Skip to content

Commit d36bf6f

Browse files
nicholasbishopGabrielMajeri
authored andcommitted
ci: add ia32 job
1 parent 5c2d6cc commit d36bf6f

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

.github/workflows/rust.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,46 @@ jobs:
6666
run: cargo xtask run --target x86_64 --headless --ci
6767
timeout-minutes: 2
6868

69+
test_ia32:
70+
name: Build and run tests on IA32
71+
runs-on: ubuntu-latest
72+
steps:
73+
- name: Checkout sources
74+
uses: actions/checkout@v2
75+
76+
- name: Install qemu
77+
run: |
78+
sudo apt-get update
79+
sudo apt-get install qemu-system-x86 -y
80+
81+
# Starting in ubuntu 21.04 there's an `ovmf-ia32` package, but the
82+
# github runners are on ubuntu 20.04. For now, install the OVMF
83+
# files from a repo that provides unofficial nightly builds:
84+
# https://github.com/retrage/edk2-nightly
85+
- name: Install OVMF
86+
env:
87+
# Pin to a specific commit in the retrage/edk2-nightly repo to
88+
# guard against external changes breaking the CI.
89+
EDK2_NIGHTLY_COMMIT: 'ebb83e5475d49418afc32857f66111949928bcdc'
90+
run: |
91+
curl -o uefi-test-runner/OVMF32_CODE.fd https://raw.githubusercontent.com/retrage/edk2-nightly/${EDK2_NIGHTLY_COMMIT}/bin/RELEASEIa32_OVMF_CODE.fd
92+
curl -o uefi-test-runner/OVMF32_VARS.fd https://raw.githubusercontent.com/retrage/edk2-nightly/${EDK2_NIGHTLY_COMMIT}/bin/RELEASEIa32_OVMF_VARS.fd
93+
94+
- name: Install latest nightly
95+
uses: actions-rs/toolchain@v1
96+
with:
97+
toolchain: nightly
98+
override: true
99+
components: rust-src
100+
# TODO: cache Rust binaries
101+
102+
- name: Build
103+
run: cargo xtask build --target ia32
104+
105+
- name: Run VM tests
106+
run: cargo xtask run --target ia32 --headless --ci
107+
timeout-minutes: 2
108+
69109
test:
70110
name: Run tests and documentation tests
71111
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)