Skip to content

Feature: add GitHub workflows to build docker containers#13

Merged
reinauer merged 3 commits intoopenbios:masterfrom
mcayland:feature/github-workflow
Feb 15, 2022
Merged

Feature: add GitHub workflows to build docker containers#13
reinauer merged 3 commits intoopenbios:masterfrom
mcayland:feature/github-workflow

Conversation

@mcayland
Copy link
Copy Markdown
Collaborator

@mcayland mcayland commented Feb 7, 2022

This PR is a pre-requisite for an upcoming set of changes to introduce GitHub workflows for building OpenBIOS. It essentially creates 2 separate images and makes them publically available in the Packages tab for the openbios organisation:

  • ghcr.io/openbios/fcode-utils-builder:master: a builder image based upon Debian 11.2 containing all of the tools required to build the fcode-utils repository

  • ghcr.io/openbios/fcode-utils:master: a standard Debian 11.2 image containing the fcode-utils binaries installed in /usr/bin

The workflows are defined so that they can be manually triggered from the Actions tab by an administrator, and also in the case of a push or merge the existing fcode-utils-builder image is used to generate updated binaries in both the public fcode-utils image and a separate zip artifact.

For examples of how this looks please see my repository at https://github.com/mcayland. Note that last build fails because I changed the workflows to use the images hosted by the openbios organisation rather than myself.

This introduces a new Dockerfile.builder file that can be used by docker
build to generate a container that can build fcode-utils based upon Debian
11.2.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This is a GitHub manual action that generates a container image from
docker/Dockerfile.builder and pushes the result to
ghcr.io/openbios/fcode-utils-builder:master for public use.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This is a GitHub push action that generates a container image from
docker/Dockerfile using the fcode-utils-builder image and pushes the result
to ghcr.io/openbios/fcode-utils:master for public use. It is essentially
a standard Debian 11.2 image with the binaries copied into /usr/bin.

Note that this action also creates a zip artifact containing the binaries and
localvariables directories to allow simple build testing and verification
upon merge.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
@mcayland
Copy link
Copy Markdown
Collaborator Author

@reinauer @pgeorgi @vivier any thoughts on this at all? The reason I'm keen to get this merged is because the docker images generated above are used as base images for a follow-up patchset that uses workflows to build openbios.

@reinauer
Copy link
Copy Markdown
Member

Great work! There is also a test suite in fcode-utils, but last I tried to get it working on my x86-64 Linux box it was not a pretty sight.

@reinauer reinauer merged commit 2e143e9 into openbios:master Feb 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants