All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] gitlab-ci: Add jobs to build the EDK2 firmware binaries
@ 2020-01-07 15:31 Philippe Mathieu-Daudé
  2020-01-07 15:31 ` [PATCH v2 1/3] roms/edk2-funcs: Force softfloat ARM toolchain prefix on Debian Philippe Mathieu-Daudé
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-07 15:31 UTC (permalink / raw)
  To: Laszlo Ersek, qemu-devel
  Cc: Philippe Mathieu-Daudé, Thomas Huth, Alex Bennée

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
- or the branch or tag start with 'edk2'
- or 'edk2' appears in last commit description

We won't use ccache to build the EDK2 firmwares, but the patch
was ready/tested so I'm including it.

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 pipeline that built the edk2-stable201905 firmwares:
https://gitlab.com/philmd/qemu/pipelines/107553178
(the job is https://gitlab.com/philmd/qemu/-/jobs/395823729)

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

Since v1 [*]
- split in 2 jobs: build docker image, build firmwares
  (this way we build the docker image once for all the
   subsequent jobs)
- addressed Laszlo comment (minor the 'git-submodule-update)

Regards,

Phil.

[*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg668432.html

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

 .gitlab-ci-edk2.yml          | 58 ++++++++++++++++++++++++++++++++++++
 .gitlab-ci.d/edk2/Dockerfile | 30 +++++++++++++++++++
 .gitlab-ci.yml               |  3 ++
 MAINTAINERS                  |  4 ++-
 roms/edk2-funcs.sh           |  3 ++
 5 files changed, 97 insertions(+), 1 deletion(-)
 create mode 100644 .gitlab-ci-edk2.yml
 create mode 100644 .gitlab-ci.d/edk2/Dockerfile

-- 
2.21.1



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-01-13 16:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-07 15:31 [PATCH v2 0/3] gitlab-ci: Add jobs to build the EDK2 firmware binaries Philippe Mathieu-Daudé
2020-01-07 15:31 ` [PATCH v2 1/3] roms/edk2-funcs: Force softfloat ARM toolchain prefix on Debian Philippe Mathieu-Daudé
2020-01-07 15:31 ` [PATCH v2 2/3] gitlab-ci.yml: Add jobs to build the EDK2 firmware binaries Philippe Mathieu-Daudé
2020-01-07 19:16   ` Laszlo Ersek
2020-01-13 16:17   ` Thomas Huth
2020-01-07 15:31 ` [NOTFORMERGE PATCH v2 3/3] gitlab-ci-edk2.yml: Use ccache Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.