Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Dockerfile to build Ubuntu builds in containers. #690

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

fpiesche
Copy link

I set this up so I could build RBDOOM3BFG for myself without having to install a pile of dev libraries and dependencies to my daily use system and figured I'll contribute that back.

As it stands, on Linux systems with Docker installed this greatly simplifies the process of creating a build:

docker build . --output type=local,dest=./build

Additionally with docker buildx this will make it possible to create builds for other architectures - say, arm64.

Further plans:

  • Make base image a parameter so builds can be easily compiled on multiple Ubuntu/Debian versions
  • Investigate using Microsoft's Windows Docker images to simplify creating Windows builds too
  • Add GitHub workflows to run CI builds on pull requests and build and store binary builds whenever a release is published - thus basically having "official" builds. These could then also be further used to provide e.g. Flatpak builds which will work independent of the end user's distribution.

@Calinou
Copy link

Calinou commented Aug 28, 2022

The README should be modified to mention the presence of the Docker setup and how to use it.

Investigate using Microsoft's Windows Docker images to simplify creating Windows builds too

Adding MinGW cross-compilation support may be easier to do, and will be far easier to do from Linux/macOS. Windows isn't known to be the easiest OS to work with in Docker 🙂

I know there may be some opposition to MinGW, but it's made a lot of progress in the last 10 years. Using llvm-mingw is also an option if you want to use Clang but target MinGW.

@fpiesche
Copy link
Author

I haven't looked at mingw in about 20 years so honestly I have no idea where one would even start with that :D obviously there is also the part where GitHub does offer Windows and macOS runners for its CI system, so automated builds could be implemented on those as well (and in the case of macOS, probably would want to be? I haven't looked at the docs for how to build this on macOS at all...)

I'll edit the README to document building via Docker though, ta!

@fpiesche fpiesche force-pushed the containerise-linux-builds branch from 57fe4a3 to 45a7f9e Compare October 31, 2022 08:08
@coldtobi
Copy link

Make base image a parameter so builds can be easily compiled on multiple Ubuntu/Debian versions

@fpiesche Just to avoid that you've missed that: There's a Debian package for rbdoom3bfg that I'm maintaining for Debian. Possibly this something that might help you building on different versions in a more Debian way. The repository for the packaging is here https://salsa.debian.org/games-team/rbdoom3bfg.

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.

3 participants