[PATCH 0/3] gitlab-ci: Add a job to build EDK2 firmware binaries

Philippe Mathieu-Daudé posted 3 patches 4 years, 3 months ago
Test asan failed
Test checkpatch failed
Test FreeBSD failed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu failed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200106184601.25453-1-philmd@redhat.com
Maintainers: Thomas Huth <thuth@redhat.com>, Laszlo Ersek <lersek@redhat.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>
.gitlab-ci-edk2.yml | 48 +++++++++++++++++++++++++++++++++++++++++++++
.gitlab-ci.yml      |  3 +++
MAINTAINERS         |  3 ++-
roms/edk2-funcs.sh  |  3 +++
4 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 .gitlab-ci-edk2.yml
[PATCH 0/3] gitlab-ci: Add a job to build EDK2 firmware binaries
Posted by Philippe Mathieu-Daudé 4 years, 3 months ago
We provide the EDK2 firmware binaries in pc-bios/. When we
update the roms/edk2/ submodule, we need to rebuild the
firmware binaries.
To avoid the burden on a single developer, this series add
a GitLab job to generate reproducible EDK2 firmware binaries.

The job is only on specific conditions:
- roms/edk2/ is updated
- the branch or tag start with 'edk2'
- 'edk2' appears in last commit description

Using ccache this job takes 32minutes on a GitLab free runner.

The proposed procedure to update the EDK2 submodule is:

- add a commit to update roms/edk2/ submodule
- push to gitlab
- download generated artifacts (only available if job succeed)
- unzip the firmware binaries from the artifacts archive
- test the binaries
- add a commit with the binaries, referencing the ci job url.

Example of job that built the edk2-stable201905 firmwares:
https://gitlab.com/philmd/qemu/-/jobs/395017298

The first patch is already reviewed, but is a prerequisite to
use the Ubuntu docker image to build, so I included it.

Regards,

Phil.

Philippe Mathieu-Daudé (3):
  roms/edk2-funcs: Force softfloat ARM toolchain prefix on Debian
  gitlab-ci.yml: Add a job to build EDK2 firmware binaries
  gitlab-ci-edk2.yml: Use ccache

 .gitlab-ci-edk2.yml | 48 +++++++++++++++++++++++++++++++++++++++++++++
 .gitlab-ci.yml      |  3 +++
 MAINTAINERS         |  3 ++-
 roms/edk2-funcs.sh  |  3 +++
 4 files changed, 56 insertions(+), 1 deletion(-)
 create mode 100644 .gitlab-ci-edk2.yml

-- 
2.21.1