|
14 | 14 | env: |
15 | 15 | RUSTFLAGS: -D warnings |
16 | 16 | jobs: |
17 | | - test_aarch64: |
18 | | - name: Integration Test (AArch64) |
19 | | - runs-on: ubuntu-22.04 |
20 | | - steps: |
21 | | - - name: Checkout sources |
22 | | - uses: actions/checkout@v4 |
23 | | - - uses: Swatinem/rust-cache@v2 |
24 | | - - name: Install qemu |
25 | | - run: | |
26 | | - sudo apt-get update |
27 | | - sudo apt-get install qemu-system-arm -y |
28 | | - - name: Run VM tests |
29 | | - run: cargo xtask run --target aarch64 --headless --ci |
30 | | - timeout-minutes: 4 |
31 | | - test_x86_64: |
32 | | - name: Integration Test (x86_64) |
33 | | - runs-on: ubuntu-latest |
34 | | - steps: |
35 | | - - name: Checkout sources |
36 | | - uses: actions/checkout@v4 |
37 | | - - uses: Swatinem/rust-cache@v2 |
38 | | - - name: Install qemu |
39 | | - run: | |
40 | | - sudo apt-get update |
41 | | - sudo apt-get install qemu-system-x86 swtpm -y |
42 | | - - name: Run VM tests |
43 | | - run: cargo xtask run --target x86_64 --headless --ci --tpm=v1 |
44 | | - timeout-minutes: 4 |
45 | | - test_ia32: |
46 | | - name: Integration Test (IA-32) |
47 | | - runs-on: ubuntu-22.04 |
48 | | - steps: |
49 | | - - name: Checkout sources |
50 | | - uses: actions/checkout@v4 |
51 | | - - uses: Swatinem/rust-cache@v2 |
52 | | - - name: Install qemu |
53 | | - run: | |
54 | | - sudo apt-get update |
55 | | - sudo apt-get install qemu-system-x86 swtpm -y |
56 | | - - name: Run VM tests |
57 | | - run: cargo xtask run --target ia32 --headless --ci --tpm=v2 |
58 | | - timeout-minutes: 4 |
59 | | - # Ensure that developers can build and use this crate on Windows. |
60 | | - test_x86_64_windows: |
61 | | - name: Integration Test (x86_64 Windows) |
62 | | - runs-on: windows-latest |
63 | | - steps: |
64 | | - - name: Install QEMU |
65 | | - run: choco install qemu --version 2023.4.24 |
66 | | - - name: Checkout sources |
67 | | - uses: actions/checkout@v4 |
68 | | - - uses: Swatinem/rust-cache@v2 |
69 | | - - name: Run VM tests |
70 | | - run: cargo xtask run --target x86_64 --ci |
71 | | - timeout-minutes: 10 |
72 | 17 | test: |
73 | 18 | name: Unit + Doc Tests |
74 | 19 | runs-on: ubuntu-latest |
75 | 20 | steps: |
76 | 21 | - name: Checkout sources |
77 | 22 | uses: actions/checkout@v4 |
78 | 23 | - uses: Swatinem/rust-cache@v2 |
79 | | - - name: Run cargo test (without unstable) |
80 | | - run: cargo xtask test |
81 | | - lints: |
82 | | - name: Lints |
83 | | - runs-on: ubuntu-latest |
84 | | - steps: |
85 | | - - name: Checkout sources |
86 | | - uses: actions/checkout@v4 |
87 | | - - uses: Swatinem/rust-cache@v2 |
88 | | - - name: Run cargo fmt |
89 | | - run: | |
90 | | - rustup component add rustfmt |
91 | | - cargo fmt --all -- --check |
92 | | - - name: Run clippy |
93 | | - run: | |
94 | | - rustup component add clippy |
95 | | - cargo xtask clippy --warnings-as-errors |
96 | | - - name: Run cargo doc (without unstable) |
97 | | - run: cargo xtask doc --warnings-as-errors --document-private-items |
98 | | - - name: Verify generated code is up-to-date |
99 | | - run: cargo xtask gen-code --check |
100 | | - - name: Run additional checks on the uefi-raw package |
101 | | - run: cargo xtask check-raw |
102 | | - # Run the build with our current stable MSRV (specified in |
103 | | - # ./msrv_toolchain.toml). This serves to check that we don't |
104 | | - # accidentally start relying on a new feature without intending |
105 | | - # to. Having a test for this makes it easier for us to be intentional |
106 | | - # about making changes that require a newer version. |
107 | | - build_msrv: |
108 | | - name: Build (stable MSRV) |
109 | | - runs-on: ubuntu-latest |
110 | | - steps: |
111 | | - - name: Checkout sources |
112 | | - uses: actions/checkout@v4 |
113 | | - - name: Set toolchain |
114 | | - run: cp .github/workflows/msrv_toolchain.toml rust-toolchain.toml |
115 | | - - uses: Swatinem/rust-cache@v2 |
116 | | - - name: Build |
117 | | - # Build uefi-test-runner since its dependency tree includes all the |
118 | | - # library packages. Note that xtask isn't used or built here; since it's |
119 | | - # just a dev tool we don't care about the MSRV for that package. |
120 | | - run: cargo build --target x86_64-unknown-uefi -p uefi-test-runner |
121 | | - # This job requires the nightly channel, but keep it as a separate job from |
122 | | - # `nightly_channel` because it takes a while to run. |
123 | | - build_feature_permutations: |
124 | | - name: Build (feature permutations) |
125 | | - runs-on: ubuntu-latest |
126 | | - steps: |
127 | | - - name: Checkout sources |
128 | | - uses: actions/checkout@v4 |
129 | | - - name: Set nightly toolchain so that `unstable` can be included |
130 | | - run: cp .github/workflows/nightly_toolchain.toml rust-toolchain.toml |
131 | | - - uses: Swatinem/rust-cache@v2 |
132 | | - - name: Build |
133 | | - run: cargo xtask build --feature-permutations |
134 | | - nightly_channel: |
135 | | - name: Build (nightly + unstable feature) |
136 | | - runs-on: ubuntu-latest |
137 | | - steps: |
138 | | - - name: Checkout sources |
139 | | - uses: actions/checkout@v4 |
140 | | - - name: Install qemu |
141 | | - run: | |
142 | | - sudo apt-get update |
143 | | - sudo apt-get install qemu-system-x86 -y |
144 | | - - name: Enable nightly toolchain |
145 | | - run: cp .github/workflows/nightly_toolchain.toml rust-toolchain.toml |
146 | | - - uses: Swatinem/rust-cache@v2 |
147 | | - - name: Run VM tests with the `unstable` feature |
148 | | - run: cargo xtask run --target x86_64 --headless --ci --unstable |
149 | | - timeout-minutes: 4 |
150 | | - - name: Run cargo doc with the `unstable` feature |
151 | | - run: cargo xtask doc --warnings-as-errors --document-private-items --unstable |
152 | | - - name: Run test with the `unstable` feature |
153 | | - # Skip testing uefi-macros on nightly because the tests that check the |
154 | | - # compiler error output produce different output on stable vs nightly. |
155 | | - run: cargo xtask test --unstable --skip-macro-tests |
156 | | - - name: Run unit tests and doctests under Miri |
157 | | - run: | |
158 | | - rustup component add miri |
159 | | - cargo xtask miri |
| 24 | + - run: cargo test -p uefi-macros --verbose |
| 25 | + env: |
| 26 | + RUSTFLAGS: |
| 27 | + - run: cargo test -p uefi-macros --verbose |
0 commit comments