diff --git a/.github/workflows/nonnative.yml b/.github/workflows/nonnative.yml index 2712d1032935..6e61483383c8 100644 --- a/.github/workflows/nonnative.yml +++ b/.github/workflows/nonnative.yml @@ -51,3 +51,28 @@ jobs: name: "Ubuntu nonnative" fail_ci_if_error: false verbose: true + cross-only-uefi-x64: + runs-on: ubuntu-latest + container: mesonbuild/eoan:latest + env: + MESON_CI_JOBNAME: ubuntu-${{ github.job }} + + steps: + - run: | + apt-get -y purge clang gcc gdc + apt-get -y autoremove + python3 -m pip install coverage + - uses: actions/checkout@v4 + - name: Run tests + run: bash -c 'source /ci/env_vars.sh; cd $GITHUB_WORKSPACE; ./tools/run_with_cov.py ./run_tests.py $CI_ARGS --cross uefi-x64.json --cross-only' + + - name: Aggregate coverage reports + run: ./ci/combine_cov.sh + + - name: Upload coverage report + uses: codecov/codecov-action@v3 + with: + files: .coverage/coverage.xml + name: "Ubuntu nonnative" + fail_ci_if_error: false + verbose: true diff --git a/cross/uefi-x64.json b/cross/uefi-x64.json new file mode 100644 index 000000000000..cc1824ccc05e --- /dev/null +++ b/cross/uefi-x64.json @@ -0,0 +1,5 @@ +{ + "file": "uefi-x64.txt", + "tests": ["common"], + "env": {} +} diff --git a/cross/uefi-x64.txt b/cross/uefi-x64.txt new file mode 100644 index 000000000000..a999be0cc818 --- /dev/null +++ b/cross/uefi-x64.txt @@ -0,0 +1,11 @@ +[binaries] +c = ['clang', '-target', 'x86_64-uefi'] +cpp = ['clang++', '-target', 'x86_64-uefi'] +ar = 'llvm-ar' +strip = 'llvm-strip' + +[host_machine] +system = 'uefi' +cpu = 'x86_64' +cpu_family = 'x86_64' +endian = 'little'