From e31379de9f4b55af61a9f407e01768330da57b71 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 5 Mar 2021 21:26:02 -0500 Subject: CI: try to update submodules Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 1 + 1 file changed, 1 insertion(+) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 2821b2f4..640c3192 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -56,6 +56,7 @@ jobs: - name: Do the build on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: build run: | + make update || : make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' -- cgit v1.2.3 From bb6dece33c39bd332f3b7e84b851dd7c306b360d Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Sat, 6 Mar 2021 10:49:33 -0500 Subject: CI: show our compilation when it fails We've been using "make -s", silent mode, which doesn't show us what commands were invoked. Silent make means we can't see what goes wrong when the wrong compiler or linker is getting invoked, or when it's being invoked wrong. This changes the CI to run it again without -s when it fails. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 4 ++-- .github/workflows/push.yml | 32 ++++++++------------------------ 2 files changed, 10 insertions(+), 26 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 640c3192..15f4e9b3 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -57,8 +57,8 @@ jobs: id: build run: | make update || : - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f # - name: Archive production artifacts diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index c2b97288..ed8f856f 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -16,15 +16,11 @@ jobs: - name: Checkout uses: actions/checkout@v2 - name: Do the build - run: | - make update || : - make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all id: build - - name: Install in /destdir run: | make update || : - make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install - id: install + make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all + make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install # - name: Archive production artifacts # uses: actions/upload-artifact@v2 # with: @@ -39,15 +35,11 @@ jobs: - name: Checkout uses: actions/checkout@v2 - name: Do the build - run: | - make update || : - make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all id: build - - name: Install in /destdir run: | make update || : - make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install - id: install + make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all + make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install # - name: Archive production artifacts # uses: actions/upload-artifact@v2 # with: @@ -62,15 +54,11 @@ jobs: - name: Checkout uses: actions/checkout@v2 - name: Do the build - run: | - make update || : - make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all id: build - - name: Install in /destdir run: | make update || : - make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install - id: install + make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all + make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install # - name: Archive production artifacts # uses: actions/upload-artifact@v2 # with: @@ -85,15 +73,11 @@ jobs: - name: Checkout uses: actions/checkout@v2 - name: Do the build - run: | - make update || : - make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all id: build - - name: Install in /destdir run: | make update || : - make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install - id: install + make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all + make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install # - name: Archive production artifacts # uses: actions/upload-artifact@v2 # with: -- cgit v1.2.3 From 46221a65e752a73ee2abf46b9ae7414a52e01b20 Mon Sep 17 00:00:00 2001 From: Dimitri John Ledkov Date: Sat, 27 Feb 2021 19:28:45 +0000 Subject: Add testsuite to the github pull request workflow. --- .github/workflows/pullrequest.yml | 1 + 1 file changed, 1 insertion(+) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 15f4e9b3..83a7caf1 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -57,6 +57,7 @@ jobs: id: build run: | make update || : + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' -- cgit v1.2.3 From 3f6ce534e7e7fdf2b2f610922b7e5167e9252426 Mon Sep 17 00:00:00 2001 From: Dimitri John Ledkov Date: Sat, 27 Feb 2021 19:41:16 +0000 Subject: Drop comments, and make push workflow use same matrix as pullrequest. --- .github/workflows/pullrequest.yml | 6 -- .github/workflows/push.yml | 113 +++++++++++++++----------------------- 2 files changed, 44 insertions(+), 75 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 83a7caf1..4f99dbb2 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -62,9 +62,3 @@ jobs: make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f -# - name: Archive production artifacts -# uses: actions/upload-artifact@v2 -# with: -# name: shim -# path: | -# /destdir diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index ed8f856f..bab120ca 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -8,79 +8,54 @@ on: - cron: '0 3 * * *' jobs: - push-f34-x64: + push-request-intel: runs-on: ubuntu-20.04 - container: vathpela/efi-ci:f34 - name: f34 build - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Do the build - id: build - run: | - make update || : - make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install -# - name: Archive production artifacts -# uses: actions/upload-artifact@v2 -# with: -# name: shim -# path: | -# /destdir - push-f33-x64: - runs-on: ubuntu-20.04 - container: vathpela/efi-ci:f33 - name: f33 build - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Do the build - id: build - run: | - make update || : - make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install -# - name: Archive production artifacts -# uses: actions/upload-artifact@v2 -# with: -# name: shim -# path: | -# /destdir - push-f32-x64: - runs-on: ubuntu-20.04 - container: vathpela/efi-ci:f32 - name: f32 build - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Do the build - id: build - run: | - make update || : - make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install -# - name: Archive production artifacts -# uses: actions/upload-artifact@v2 -# with: -# name: shim -# path: | -# /destdir - push-f31-x64: - runs-on: ubuntu-20.04 - container: vathpela/efi-ci:f31 - name: f31 build + container: vathpela/efi-ci:f34-x64 + name: ${{ matrix.distro }} ${{ matrix.efiarch }} build + + strategy: + matrix: + include: + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: efi-ci-f34 + libdir: /usr/lib64 + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: efi-ci-f33 + libdir: /usr/lib64 + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: efi-ci-f32 + libdir: /usr/lib64 + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: efi-ci-f34 + libdir: /usr/lib + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: efi-ci-f33 + libdir: /usr/lib + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: efi-ci-f32 + libdir: /usr/lib + steps: - name: Checkout uses: actions/checkout@v2 - - name: Do the build + - name: Do the build on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: build run: | make update || : - make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - make -s PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install -# - name: Archive production artifacts -# uses: actions/upload-artifact@v2 -# with: -# name: shim -# path: | -# /destdir + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install + echo 'results:' + find /destdir -type f -- cgit v1.2.3 From 5c1a3013095c9d18932fb13bf08fa1548fd79d83 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Sat, 20 Mar 2021 18:56:53 -0400 Subject: Don't set LIBDIR in CI builds any more. Setting libdir will make it try to use /usr/lib*/libefi.a and such, which is now wrong. Normally you don't *see* any problem, but when we're cross compiling, it'll fail to find libefi.a. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 12 +++--------- .github/workflows/push.yml | 12 +++--------- 2 files changed, 6 insertions(+), 18 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 4f99dbb2..df506555 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -19,32 +19,26 @@ jobs: efiarch: x64 makearch: x86_64 distro: efi-ci-f34 - libdir: /usr/lib64 - arch: amd64 efiarch: x64 makearch: x86_64 distro: efi-ci-f33 - libdir: /usr/lib64 - arch: amd64 efiarch: x64 makearch: x86_64 distro: efi-ci-f32 - libdir: /usr/lib64 - arch: amd64 efiarch: ia32 makearch: ia32 distro: efi-ci-f34 - libdir: /usr/lib - arch: amd64 efiarch: ia32 makearch: ia32 distro: efi-ci-f33 - libdir: /usr/lib - arch: amd64 efiarch: ia32 makearch: ia32 distro: efi-ci-f32 - libdir: /usr/lib steps: - name: Checkout @@ -57,8 +51,8 @@ jobs: id: build run: | make update || : - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index bab120ca..f902390d 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -20,32 +20,26 @@ jobs: efiarch: x64 makearch: x86_64 distro: efi-ci-f34 - libdir: /usr/lib64 - arch: amd64 efiarch: x64 makearch: x86_64 distro: efi-ci-f33 - libdir: /usr/lib64 - arch: amd64 efiarch: x64 makearch: x86_64 distro: efi-ci-f32 - libdir: /usr/lib64 - arch: amd64 efiarch: ia32 makearch: ia32 distro: efi-ci-f34 - libdir: /usr/lib - arch: amd64 efiarch: ia32 makearch: ia32 distro: efi-ci-f33 - libdir: /usr/lib - arch: amd64 efiarch: ia32 makearch: ia32 distro: efi-ci-f32 - libdir: /usr/lib steps: - name: Checkout @@ -54,8 +48,8 @@ jobs: id: build run: | make update || : - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr LIBDIR=${{ matrix.libdir }} DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all + make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f -- cgit v1.2.3 From 4bc72543eadd3908a8da55027c207e1c24b0d8a1 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 1 Feb 2021 15:03:33 -0500 Subject: Try multi-arch CI building using cross compilation This enables a pile of CI builds on fedora and centos, some using a cross compilers: - cross-compiler builds for f32, f33, f34, and f35 (currently rawhide): x86_64 (yes, x86_64->x86_64) i686 (x86_64->i686) arm (x86_64->arm) aarch64 (x86-64->aarch64) - non-cross builds for centos7 and centos8 x86_64 i686 - we can't cross build on centos7 or centos8 because they don't have the cross compiler packages Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 172 +++++++++++++++++++++++++++++++++++--- .github/workflows/push.yml | 55 ------------ 2 files changed, 160 insertions(+), 67 deletions(-) delete mode 100644 .github/workflows/push.yml (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index df506555..41ca282c 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -1,44 +1,102 @@ -name: pull-request-builds +name: pull-request on: + push: + branches: + - main pull_request: branches: - main - - sbat jobs: - pull-request-intel: + cross-build-pull-request: runs-on: ubuntu-20.04 - container: vathpela/efi-ci:f34-x64 - name: ${{ matrix.distro }} ${{ matrix.efiarch }} build + container: vathpela/efi-ci:${{ matrix.distro }}-x64 + name: ${{ matrix.distro }} ${{ matrix.efiarch }} cross-build strategy: matrix: include: + - arch: amd64 + efiarch: aa64 + gccarch: aarch64 + makearch: aarch64 + distro: f35 + - arch: amd64 + efiarch: aa64 + gccarch: aarch64 + makearch: aarch64 + distro: f34 + - arch: amd64 + efiarch: aa64 + gccarch: aarch64 + makearch: aarch64 + distro: f33 + - arch: amd64 + efiarch: aa64 + gccarch: aarch64 + makearch: aarch64 + distro: f32 + - arch: amd64 + efiarch: arm + gccarch: arm + makearch: arm + distro: f35 + - arch: amd64 + efiarch: arm + gccarch: arm + makearch: arm + distro: f34 + - arch: amd64 + efiarch: arm + gccarch: arm + makearch: arm + distro: f33 + - arch: amd64 + efiarch: arm + gccarch: arm + makearch: arm + distro: f32 - arch: amd64 efiarch: x64 + gccarch: x86_64 makearch: x86_64 - distro: efi-ci-f34 + distro: f35 - arch: amd64 efiarch: x64 + gccarch: x86_64 makearch: x86_64 - distro: efi-ci-f33 + distro: f34 - arch: amd64 efiarch: x64 + gccarch: x86_64 makearch: x86_64 - distro: efi-ci-f32 + distro: f33 + - arch: amd64 + efiarch: x64 + gccarch: x86_64 + makearch: x86_64 + distro: f32 + - arch: amd64 + efiarch: ia32 + gccarch: x86_64 + makearch: ia32 + distro: f35 - arch: amd64 efiarch: ia32 + gccarch: x86_64 makearch: ia32 - distro: efi-ci-f34 + distro: f34 - arch: amd64 efiarch: ia32 + gccarch: x86_64 makearch: ia32 - distro: efi-ci-f33 + distro: f33 - arch: amd64 efiarch: ia32 + gccarch: x86_64 makearch: ia32 - distro: efi-ci-f32 + distro: f32 steps: - name: Checkout @@ -47,12 +105,102 @@ jobs: # otherwise we are testing target branch instead of the PR branch (see pull_request_target trigger) ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 + submodules: recursive + - name: Update submodules on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: update-submodules + run: | + make update - name: Do the build on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: build run: | - make update || : + make -s CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all + - name: Install on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: install + run: | + make -s CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install + echo 'results:' + find /destdir -type f + + build-pull-request-intel: + runs-on: ubuntu-20.04 + container: vathpela/efi-ci:${{ matrix.distro }}-x64 + name: ${{ matrix.distro }} ${{ matrix.efiarch }} build + + strategy: + matrix: + include: + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: f35 + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: f34 + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: f33 + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: f32 + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: centos8 + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: centos7 + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: f35 + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: f34 + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: f33 + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: f32 + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: centos8 + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: centos7 + + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + # otherwise we are testing target branch instead of the PR branch (see pull_request_target trigger) + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + submodules: recursive + - name: Update submodules on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: update-submodules + run: | + make update + - name: Run tests on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: test + run: | make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test + - name: Do the build on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: build + run: | make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all + - name: Install on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: install + run: | make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml deleted file mode 100644 index f902390d..00000000 --- a/.github/workflows/push.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: push-builds - -on: - push: - branches: - - main - schedule: - - cron: '0 3 * * *' - -jobs: - push-request-intel: - runs-on: ubuntu-20.04 - container: vathpela/efi-ci:f34-x64 - name: ${{ matrix.distro }} ${{ matrix.efiarch }} build - - strategy: - matrix: - include: - - arch: amd64 - efiarch: x64 - makearch: x86_64 - distro: efi-ci-f34 - - arch: amd64 - efiarch: x64 - makearch: x86_64 - distro: efi-ci-f33 - - arch: amd64 - efiarch: x64 - makearch: x86_64 - distro: efi-ci-f32 - - arch: amd64 - efiarch: ia32 - makearch: ia32 - distro: efi-ci-f34 - - arch: amd64 - efiarch: ia32 - makearch: ia32 - distro: efi-ci-f33 - - arch: amd64 - efiarch: ia32 - makearch: ia32 - distro: efi-ci-f32 - - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Do the build on ${{ matrix.distro }} for ${{ matrix.efiarch }} - id: build - run: | - make update || : - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install - echo 'results:' - find /destdir -type f -- cgit v1.2.3 From ab40c869a2765262d9a911fe6284a606fd1fe0d6 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 24 Mar 2021 16:02:18 -0400 Subject: CI: don't use 'make -s'; it's more trouble than help. This hides more subtle failures way too well; nerf it out. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 41ca282c..6df69833 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -110,14 +110,18 @@ jobs: id: update-submodules run: | make update + - name: Do 'make clean' on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: clean + run: | + make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean - name: Do the build on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: build run: | - make -s CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all + make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - name: Install on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: install run: | - make -s CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install + make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f @@ -190,17 +194,21 @@ jobs: id: update-submodules run: | make update + - name: Do 'make clean' on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: clean + run: | + make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean - name: Run tests on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: test run: | - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test + make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true test - name: Do the build on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: build run: | - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean all + make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - name: Install on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: install run: | - make -s ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install || make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install + make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f -- cgit v1.2.3 From 8578b75f9c18fd267c8a0746192ab3f051561df2 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 24 Mar 2021 17:51:48 -0400 Subject: Make building outside of the top directory work. This also makes the cross-build targets (and not the others) /use/ this functionality, so we'll catch it if we break it again. This fixes issue #340. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 16 ++++++++++----- Make.defaults | 1 + Makefile | 43 +++++++++++++++++++++++++-------------- gnu-efi | 2 +- lib/Makefile | 2 +- 5 files changed, 42 insertions(+), 22 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 6df69833..5329496c 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -110,18 +110,24 @@ jobs: id: update-submodules run: | make update - - name: Do 'make clean' on ${{ matrix.distro }} for ${{ matrix.efiarch }} - id: clean + - name: Make a build directory for ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: builddir run: | - make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean + rm -rf build-${{ matrix.distro }}-${{ matrix.efiarch }} + mkdir build-${{ matrix.distro }}-${{ matrix.efiarch }} + cd build-${{ matrix.distro }}-${{ matrix.efiarch }} - name: Do the build on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: build run: | - make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all + pwd + cd build-${{ matrix.distro }}-${{ matrix.efiarch }} + make TOPDIR=.. -f ../Makefile CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true all - name: Install on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: install run: | - make CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install + pwd + cd build-${{ matrix.distro }}-${{ matrix.efiarch }} + make TOPDIR=.. -f ../Makefile CROSS_COMPILE=${{ matrix.gccarch }}-linux-gnu- ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f diff --git a/Make.defaults b/Make.defaults index b7721547..a775083e 100644 --- a/Make.defaults +++ b/Make.defaults @@ -1,6 +1,7 @@ # load the local configuration if it exists -include Make.local +-include $(TOPDIR)/Make.local COMPILER ?= gcc CC = $(CROSS_COMPILE)$(COMPILER) diff --git a/Makefile b/Makefile index e349c6f9..8e2a463d 100644 --- a/Makefile +++ b/Makefile @@ -45,7 +45,7 @@ MOK_OBJS = MokManager.o PasswordCrypt.o crypt_blowfish.o errlog.o sbat_data.o ORIG_MOK_SOURCES = MokManager.c PasswordCrypt.c crypt_blowfish.c shim.h $(wildcard include/*.h) FALLBACK_OBJS = fallback.o tpm.o errlog.o sbat_data.o ORIG_FALLBACK_SRCS = fallback.c -SBATPATH = data/sbat.csv +SBATPATH = $(TOPDIR)/data/sbat.csv ifeq ($(SOURCE_DATE_EPOCH),) UNAME=$(shell uname -s -m -p -i -o) @@ -146,21 +146,23 @@ $(MMSONAME): $(MOK_OBJS) $(LIBS) gnu-efi/$(ARCH_GNUEFI)/gnuefi/libgnuefi.a gnu-efi/$(ARCH_GNUEFI)/lib/libefi.a: CFLAGS+=-DGNU_EFI_USE_EXTERNAL_STDARG gnu-efi/$(ARCH_GNUEFI)/gnuefi/libgnuefi.a gnu-efi/$(ARCH_GNUEFI)/lib/libefi.a: + mkdir -p gnu-efi/lib gnu-efi/gnuefi $(MAKE) -C gnu-efi \ ARCH=$(ARCH_GNUEFI) TOPDIR=$(TOPDIR)/gnu-efi \ + -f $(TOPDIR)/gnu-efi/Makefile \ lib gnuefi inc Cryptlib/libcryptlib.a: for i in Hash Hmac Cipher Rand Pk Pem SysCall; do mkdir -p Cryptlib/$$i; done - $(MAKE) VPATH=$(TOPDIR)/Cryptlib -C Cryptlib -f $(TOPDIR)/Cryptlib/Makefile + $(MAKE) TOPDIR=$(TOPDIR) VPATH=$(TOPDIR)/Cryptlib -C Cryptlib -f $(TOPDIR)/Cryptlib/Makefile Cryptlib/OpenSSL/libopenssl.a: for i in x509v3 x509 txt_db stack sha rsa rc4 rand pkcs7 pkcs12 pem ocsp objects modes md5 lhash kdf hmac evp err dso dh conf comp cmac buffer bn bio async/arch asn1 aes; do mkdir -p Cryptlib/OpenSSL/crypto/$$i; done - $(MAKE) VPATH=$(TOPDIR)/Cryptlib/OpenSSL -C Cryptlib/OpenSSL -f $(TOPDIR)/Cryptlib/OpenSSL/Makefile + $(MAKE) TOPDIR=$(TOPDIR) VPATH=$(TOPDIR)/Cryptlib/OpenSSL -C Cryptlib/OpenSSL -f $(TOPDIR)/Cryptlib/OpenSSL/Makefile lib/lib.a: | $(TOPDIR)/lib/Makefile $(wildcard $(TOPDIR)/include/*.[ch]) - if [ ! -d lib ]; then mkdir lib ; fi - $(MAKE) VPATH=$(TOPDIR)/lib -C lib -f $(TOPDIR)/lib/Makefile lib.a + mkdir -p lib + $(MAKE) VPATH=$(TOPDIR)/lib TOPDIR=$(TOPDIR) -C lib -f $(TOPDIR)/lib/Makefile buildid : $(TOPDIR)/buildid.c $(HOSTCC) -I/usr/include -Og -g3 -Wall -Werror -Wextra -o $@ $< -lelf @@ -275,35 +277,46 @@ else endif test : - @make -f include/test.mk EFI_INCLUDES="$(EFI_INCLUDES)" ARCH_DEFINES="$(ARCH_DEFINES)" all + @make -f $(TOPDIR)/include/test.mk EFI_INCLUDES="$(EFI_INCLUDES)" ARCH_DEFINES="$(ARCH_DEFINES)" all $(patsubst %.c,%,$(wildcard test-*.c)) : - @make -f include/test.mk EFI_INCLUDES="$(EFI_INCLUDES)" ARCH_DEFINES="$(ARCH_DEFINES)" $@ + @make -f $(TOPDIR)/include/test.mk EFI_INCLUDES="$(EFI_INCLUDES)" ARCH_DEFINES="$(ARCH_DEFINES)" $@ .PHONY : $(patsubst %.c,%,$(wildcard test-*.c)) test clean-test-objs: - @make -f include/test.mk EFI_INCLUDES="$(EFI_INCLUDES)" ARCH_DEFINES="$(ARCH_DEFINES)" clean + @make -f $(TOPDIR)/include/test.mk EFI_INCLUDES="$(EFI_INCLUDES)" ARCH_DEFINES="$(ARCH_DEFINES)" clean clean-gnu-efi: - $(MAKE) -C gnu-efi \ - ARCH=$(ARCH_GNUEFI) TOPDIR=$(TOPDIR)/gnu-efi \ - clean + @if [ -d gnu-efi ] ; then \ + $(MAKE) -C gnu-efi \ + ARCH=$(ARCH_GNUEFI) TOPDIR=$(TOPDIR)/gnu-efi \ + -f $(TOPDIR)/gnu-efi/Makefile \ + clean ; \ + fi + +clean-lib-objs: + @if [ -d lib ] ; then \ + $(MAKE) -C lib TOPDIR=$(TOPDIR) -f $(TOPDIR)/lib/Makefile clean ; \ + fi clean-shim-objs: - $(MAKE) -C lib -f $(TOPDIR)/lib/Makefile clean @rm -rvf $(TARGET) *.o $(SHIM_OBJS) $(MOK_OBJS) $(FALLBACK_OBJS) $(KEYS) certdb $(BOOTCSVNAME) @rm -vf *.debug *.so *.efi *.efi.* *.tar.* version.c buildid @rm -vf Cryptlib/*.[oa] Cryptlib/*/*.[oa] @if [ -d .git ] ; then git clean -f -d -e 'Cryptlib/OpenSSL/*'; fi clean-openssl-objs: - $(MAKE) -C Cryptlib/OpenSSL -f $(TOPDIR)/Cryptlib/OpenSSL/Makefile clean + @if [ -d Cryptlib/Openssl ] ; then \ + $(MAKE) -C Cryptlib/OpenSSL -f $(TOPDIR)/Cryptlib/OpenSSL/Makefile clean ; \ + fi clean-cryptlib-objs: - $(MAKE) -C Cryptlib -f $(TOPDIR)/Cryptlib/Makefile clean + @if [ -d Cryptlib ] ; then \ + $(MAKE) -C Cryptlib -f $(TOPDIR)/Cryptlib/Makefile clean ; \ + fi -clean: clean-shim-objs clean-test-objs clean-gnu-efi clean-openssl-objs clean-cryptlib-objs +clean: clean-shim-objs clean-test-objs clean-gnu-efi clean-openssl-objs clean-cryptlib-objs clean-lib-objs GITTAG = $(VERSION) diff --git a/gnu-efi b/gnu-efi index 193ae1ae..65ecce23 160000 --- a/gnu-efi +++ b/gnu-efi @@ -1 +1 @@ -Subproject commit 193ae1aeacd940ec3b48cc52f135f0695648a5f4 +Subproject commit 65ecce23f005c4d611f48996112d4592164594cf diff --git a/lib/Makefile b/lib/Makefile index 6d83f789..a4a4855b 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,6 +1,6 @@ TARGET = lib.a -LIBFILES_UNSORTED := $(foreach x,$(wildcard *.c),$(patsubst %.c,%.o,$(x))) +LIBFILES_UNSORTED := $(patsubst %.c,%.o,$(subst $(TOPDIR)/lib/,,$(wildcard $(TOPDIR)/lib/*.c))) LIBFILES := $(sort $(LIBFILES_UNSORTED)) CRYPTDIR = $(TOPDIR)/Cryptlib -- cgit v1.2.3 From af188108313c8a6aa071a2185a923a9bb2e49fef Mon Sep 17 00:00:00 2001 From: Robbie Harwood Date: Tue, 3 May 2022 17:43:17 -0400 Subject: CI: don't cancel testing when one fails Set fail-fast to false to get a more useful picture of results. Signed-off-by: Robbie Harwood --- .github/workflows/pullrequest.yml | 1 + 1 file changed, 1 insertion(+) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 5329496c..0e85ce36 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -15,6 +15,7 @@ jobs: name: ${{ matrix.distro }} ${{ matrix.efiarch }} cross-build strategy: + fail-fast: false matrix: include: - arch: amd64 -- cgit v1.2.3 From ba580f949285223c477fa0ec3a36dcee7ff9672e Mon Sep 17 00:00:00 2001 From: Robbie Harwood Date: Tue, 3 May 2022 17:44:58 -0400 Subject: CI: remove EOL Fedoras from github actions Signed-off-by: Robbie Harwood --- .github/workflows/pullrequest.yml | 56 --------------------------------------- 1 file changed, 56 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 0e85ce36..614b5774 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -28,16 +28,6 @@ jobs: gccarch: aarch64 makearch: aarch64 distro: f34 - - arch: amd64 - efiarch: aa64 - gccarch: aarch64 - makearch: aarch64 - distro: f33 - - arch: amd64 - efiarch: aa64 - gccarch: aarch64 - makearch: aarch64 - distro: f32 - arch: amd64 efiarch: arm gccarch: arm @@ -48,16 +38,6 @@ jobs: gccarch: arm makearch: arm distro: f34 - - arch: amd64 - efiarch: arm - gccarch: arm - makearch: arm - distro: f33 - - arch: amd64 - efiarch: arm - gccarch: arm - makearch: arm - distro: f32 - arch: amd64 efiarch: x64 gccarch: x86_64 @@ -68,16 +48,6 @@ jobs: gccarch: x86_64 makearch: x86_64 distro: f34 - - arch: amd64 - efiarch: x64 - gccarch: x86_64 - makearch: x86_64 - distro: f33 - - arch: amd64 - efiarch: x64 - gccarch: x86_64 - makearch: x86_64 - distro: f32 - arch: amd64 efiarch: ia32 gccarch: x86_64 @@ -88,16 +58,6 @@ jobs: gccarch: x86_64 makearch: ia32 distro: f34 - - arch: amd64 - efiarch: ia32 - gccarch: x86_64 - makearch: ia32 - distro: f33 - - arch: amd64 - efiarch: ia32 - gccarch: x86_64 - makearch: ia32 - distro: f32 steps: - name: Checkout @@ -148,14 +108,6 @@ jobs: efiarch: x64 makearch: x86_64 distro: f34 - - arch: amd64 - efiarch: x64 - makearch: x86_64 - distro: f33 - - arch: amd64 - efiarch: x64 - makearch: x86_64 - distro: f32 - arch: amd64 efiarch: x64 makearch: x86_64 @@ -172,14 +124,6 @@ jobs: efiarch: ia32 makearch: ia32 distro: f34 - - arch: amd64 - efiarch: ia32 - makearch: ia32 - distro: f33 - - arch: amd64 - efiarch: ia32 - makearch: ia32 - distro: f32 - arch: amd64 efiarch: ia32 makearch: ia32 -- cgit v1.2.3 From bfeb4b37e56e9650242b54fbdee9906338b1dfdc Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 4 May 2022 10:18:30 -0400 Subject: Remove aarch64 build tests before f35 Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 5 ----- 1 file changed, 5 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 614b5774..87664548 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -23,11 +23,6 @@ jobs: gccarch: aarch64 makearch: aarch64 distro: f35 - - arch: amd64 - efiarch: aa64 - gccarch: aarch64 - makearch: aarch64 - distro: f34 - arch: amd64 efiarch: arm gccarch: arm -- cgit v1.2.3 From 38cc646b099f995a59390cf27e1411c8da9839ad Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 4 May 2022 11:22:49 -0400 Subject: CI: Add f36 and centos9 CI build tests. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 87664548..18fe5645 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -18,11 +18,21 @@ jobs: fail-fast: false matrix: include: + - arch: amd64 + efiarch: aa64 + gccarch: aarch64 + makearch: aarch64 + distro: f36 - arch: amd64 efiarch: aa64 gccarch: aarch64 makearch: aarch64 distro: f35 + - arch: amd64 + efiarch: arm + gccarch: arm + makearch: arm + distro: f36 - arch: amd64 efiarch: arm gccarch: arm @@ -33,6 +43,11 @@ jobs: gccarch: arm makearch: arm distro: f34 + - arch: amd64 + efiarch: x64 + gccarch: x86_64 + makearch: x86_64 + distro: f36 - arch: amd64 efiarch: x64 gccarch: x86_64 @@ -43,6 +58,11 @@ jobs: gccarch: x86_64 makearch: x86_64 distro: f34 + - arch: amd64 + efiarch: ia32 + gccarch: x86_64 + makearch: ia32 + distro: f36 - arch: amd64 efiarch: ia32 gccarch: x86_64 @@ -95,6 +115,10 @@ jobs: strategy: matrix: include: + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: f36 - arch: amd64 efiarch: x64 makearch: x86_64 @@ -103,6 +127,10 @@ jobs: efiarch: x64 makearch: x86_64 distro: f34 + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: centos9 - arch: amd64 efiarch: x64 makearch: x86_64 @@ -111,6 +139,10 @@ jobs: efiarch: x64 makearch: x86_64 distro: centos7 + - arch: amd64 + efiarch: ia32 + makearch: ia32 + distro: f36 - arch: amd64 efiarch: ia32 makearch: ia32 -- cgit v1.2.3 From be00279537f004afc89b206bd57baf75ee9569a0 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 23 Jun 2023 14:36:03 -0400 Subject: Remove CentOS 7 test builds. CentOS 7 and RHEL 7 are EOL, and their ancient compiler is EOL along with them. Removing them from our test environments means we'll have to do some minor backports if they come back from the dead, but lets us use __builtin_add_overflow() and friends without gross hacks today. This change removes those builds from our PR tests. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 8 -------- 1 file changed, 8 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 18fe5645..7a807384 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -135,10 +135,6 @@ jobs: efiarch: x64 makearch: x86_64 distro: centos8 - - arch: amd64 - efiarch: x64 - makearch: x86_64 - distro: centos7 - arch: amd64 efiarch: ia32 makearch: ia32 @@ -155,10 +151,6 @@ jobs: efiarch: ia32 makearch: ia32 distro: centos8 - - arch: amd64 - efiarch: ia32 - makearch: ia32 - distro: centos7 steps: - name: Checkout -- cgit v1.2.3 From b5d359a1811eaed631f0cf5b97b55ab0154c88b9 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 2 Aug 2024 16:44:05 -0400 Subject: CI: use checkout@v4 Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 7a807384..4c27c127 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -76,7 +76,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: # otherwise we are testing target branch instead of the PR branch (see pull_request_target trigger) ref: ${{ github.event.pull_request.head.sha }} @@ -154,7 +154,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: # otherwise we are testing target branch instead of the PR branch (see pull_request_target trigger) ref: ${{ github.event.pull_request.head.sha }} -- cgit v1.2.3 From 1d8365f44e551d65e5483a66b0edf2070ce639fb Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 2 Aug 2024 17:02:26 -0400 Subject: CI: work around ownership issue on github "make update" with newer distros is giving us: fatal: detected dubious ownership in repository at '/__w/shim/shim' To add an exception for this directory, call: git config --global --add safe.directory /__w/shim/shim So that's exactly what I'm trying. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 4c27c127..6c41f046 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -82,6 +82,10 @@ jobs: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 submodules: recursive + - name: Work around directory ownership issue + id: ignore-ownership + run: | + git config --global --add safe.directory /__w/shim/shim - name: Update submodules on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: update-submodules run: | @@ -160,6 +164,10 @@ jobs: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 submodules: recursive + - name: Work around directory ownership issue + id: ignore-ownership + run: | + git config --global --add safe.directory /__w/shim/shim - name: Update submodules on ${{ matrix.distro }} for ${{ matrix.efiarch }} id: update-submodules run: | -- cgit v1.2.3 From 20094caa2655c301dd3a78489aca36edd43e89ef Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 12 Dec 2024 14:04:03 -0500 Subject: Update fedora CI targets This updates CI targets for Fedora distros to newer releases. It also disables IA32 builds on f40 and f41. Something is broken in the include files for the ia32-on-x64 buildroot, and I don't think anyone is actually doing ia32-on-x64 builds in the wild anyway. At the same time, ia32 is pretty much dead to begin with. This takes the test out. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 6c41f046..dfae6506 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -22,57 +22,57 @@ jobs: efiarch: aa64 gccarch: aarch64 makearch: aarch64 - distro: f36 + distro: f41 - arch: amd64 efiarch: aa64 gccarch: aarch64 makearch: aarch64 - distro: f35 + distro: f40 - arch: amd64 efiarch: arm gccarch: arm makearch: arm - distro: f36 + distro: f41 - arch: amd64 efiarch: arm gccarch: arm makearch: arm - distro: f35 + distro: f40 - arch: amd64 efiarch: arm gccarch: arm makearch: arm - distro: f34 + distro: f39 - arch: amd64 efiarch: x64 gccarch: x86_64 makearch: x86_64 - distro: f36 + distro: f41 - arch: amd64 efiarch: x64 gccarch: x86_64 makearch: x86_64 - distro: f35 + distro: f40 - arch: amd64 efiarch: x64 gccarch: x86_64 makearch: x86_64 - distro: f34 + distro: f39 - arch: amd64 efiarch: ia32 gccarch: x86_64 makearch: ia32 - distro: f36 + distro: f41 - arch: amd64 efiarch: ia32 gccarch: x86_64 makearch: ia32 - distro: f35 + distro: f40 - arch: amd64 efiarch: ia32 gccarch: x86_64 makearch: ia32 - distro: f34 + distro: f39 steps: - name: Checkout @@ -122,15 +122,15 @@ jobs: - arch: amd64 efiarch: x64 makearch: x86_64 - distro: f36 + distro: f41 - arch: amd64 efiarch: x64 makearch: x86_64 - distro: f35 + distro: f40 - arch: amd64 efiarch: x64 makearch: x86_64 - distro: f34 + distro: f39 - arch: amd64 efiarch: x64 makearch: x86_64 @@ -142,15 +142,7 @@ jobs: - arch: amd64 efiarch: ia32 makearch: ia32 - distro: f36 - - arch: amd64 - efiarch: ia32 - makearch: ia32 - distro: f35 - - arch: amd64 - efiarch: ia32 - makearch: ia32 - distro: f34 + distro: f39 - arch: amd64 efiarch: ia32 makearch: ia32 -- cgit v1.2.3 From fd7e16f7d0f7edf3f79db7323ed449e9ed053e36 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 17 Dec 2024 11:14:32 -0500 Subject: Add building compile_commands.json to CI I use compile_commands.json with vim all the time, so it's better if it doesn't break. This adds it to CI builds to try to ensure that better. Signed-off-by: Peter Jones --- .github/workflows/pullrequest.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to '.github/workflows/pullrequest.yml') diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index dfae6506..6027d4d0 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -182,3 +182,41 @@ jobs: make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true install echo 'results:' find /destdir -type f + + build-pull-request-intel-compile-commands-json: + runs-on: ubuntu-20.04 + container: vathpela/efi-ci:${{ matrix.distro }}-x64 + name: ${{ matrix.distro }} ${{ matrix.efiarch }} build compile_commands.json + + strategy: + matrix: + include: + - arch: amd64 + efiarch: x64 + makearch: x86_64 + distro: f41 + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + # otherwise we are testing target branch instead of the PR branch (see pull_request_target trigger) + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + submodules: recursive + - name: Work around directory ownership issue + id: ignore-ownership + run: | + git config --global --add safe.directory /__w/shim/shim + - name: Update submodules on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: update-submodules + run: | + make update + - name: Do 'make clean' on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: clean + run: | + make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true clean + - name: Build compile_commands.json on ${{ matrix.distro }} for ${{ matrix.efiarch }} + id: compile_commands + run: | + make ARCH=${{ matrix.makearch }} PREFIX=/usr DESTDIR=/destdir EFIDIR=test ENABLE_SHIM_HASH=true compile_commands.json -- cgit v1.2.3