Skip to content

gameoftrees/got-build-containers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GAMEOFTREES (GoT) BUILD CONTAINERS

This repository holds the definition of the Dockerfiles responsible for setting up the environment used to compile GoT changes in GitHub's CI pipeline.

For how this is used, see the following files in the got-portable.git repo:

  • .github/workflows/ci.yml

Dockerfiles

got-portable compiles against two different environments.

One is a libc-based environment, based off Debian Trixie, which also installs both clang and gcc so that changes are compiled against those two different compilers.

The other is a musl-based environment, based off Alpine Linux (edge).

Libc (Debian Trixie)

See: ./got-libc.Dockerfile

This Dockerfile holds the package definitions needed to setup the compilation environment. Note that we compress as many commands into a single RUN statement so as to avoid having too many squashfs layers in the image, as this can increase its size.

Musl (Alpine)

See: ./got-alpine.Dockerfile

Similar to the Libc image, this holds apk definitions for setting up the compilation environment.

Building the Images

There is a wrapper script, ./build.sh which accepts the following arguments:

  • libc -- which will compile the libc environment
  • musl -- which will compile the musl environment

Failure to provide one of those will result in the script doing nothing.

The resultant image will be:

  • thomasadam/got-libc:latest -- if the build is libc
  • thomasadam/got-alpine:latest -- if the build is musl

Hence, these images are always tagged with latest.

To test these images locally, it's advisable to change the Dockerfile in fvwm3's git repository, such that its FROM line points to one of the above images, depending on what needs testing.

The images themselves are hosted on Docker Hub, under the user thomasadam, hence the prefix to the image names.

Pushing the Images

Once enough testing has happened, the images can be pushed with:

docker push thomasadam/$XXX

Where, $XXX is the Docker image name in question. Note that write access will be needed to the Docker Hub account. Contact @thomasadam for this.

About

Holds Dockerfile definitions used in CI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published