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