{"id":13567576,"url":"https://github.com/godotengine/build-containers","last_synced_at":"2025-05-16T12:06:49.369Z","repository":{"id":34251049,"uuid":"164493052","full_name":"godotengine/build-containers","owner":"godotengine","description":"Godot engine build containers","archived":false,"fork":false,"pushed_at":"2024-12-16T22:02:49.000Z","size":81023,"stargazers_count":234,"open_issues_count":17,"forks_count":70,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-04-02T06:32:39.283Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/godotengine.png","metadata":{"funding":{"custom":"https://fund.godotengine.org/"},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-07T20:47:11.000Z","updated_at":"2025-03-26T13:21:41.000Z","dependencies_parsed_at":"2023-01-15T05:40:27.814Z","dependency_job_id":"b593acb8-f380-422b-af65-a61bdadceef4","html_url":"https://github.com/godotengine/build-containers","commit_stats":{"total_commits":141,"total_committers":16,"mean_commits":8.8125,"dds":0.2907801418439716,"last_synced_commit":"610584dd29f5259290c9b759cce89ad49ba82e7e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godotengine%2Fbuild-containers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godotengine%2Fbuild-containers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godotengine%2Fbuild-containers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godotengine%2Fbuild-containers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/godotengine","download_url":"https://codeload.github.com/godotengine/build-containers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999859,"owners_count":21031046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:02:35.194Z","updated_at":"2025-04-09T08:02:54.839Z","avatar_url":"https://github.com/godotengine.png","language":"Shell","funding_links":["https://fund.godotengine.org/"],"categories":["Shell"],"sub_categories":[],"readme":"# Godot engine build containers\n\nThis repository contains the Dockerfiles for the official Godot engine builds.\nThese containers should help you build Godot for all platforms supported on\nany machine that can run Docker containers.\n\nThe in-container build scripts are in a separate repository:\nhttps://github.com/godotengine/godot-build-scripts\n\n\n## Introduction\n\nThese scripts build a number of containers which are then used to build final\nGodot tools, templates and server packages for several platforms.\n\nOnce these containers are built, they can be used to compile different Godot\nversions without the need of recreating them.\n\nThe `upload.sh` file is meant to be used by Godot Release Team and is not\ndocumented here.\n\n\n## Requirements\n\nThese containers have been tested under Fedora 36 (other distros/releases may work too).\n\nThe tool used to build and manage the containers is `podman` (install it with `dnf -y podman`).\n\nWe currently use `podman` as root to build and use these containers. Documenting a workflow to\nconfigure the host OS to be able to do all this without root would be welcome (but back when we\ntried we ran into performance issues).\n\n\n## Usage\n\nThe `build.sh` script included is used to build the containers themselves.\n\nThe two arguments can take any value and are meant to convey what Godot branch\nyou are building for (e.g. `4.3`) and what Linux distribution the `Dockerfile.base`\nis based on (e.g. `f40` for Fedora 40).\n\nRun the command using:\n\n    ./build.sh 4.3 f40\n\nThe above will generate images using the tag '4.3-f40'.\nYou can then specify it in the `build.sh` of\n[godot-build-scripts](https://github.com/godotengine/godot-build-scripts).\n\n\n### Selecting which images to build\n\nIf you don't need to build all versions or you want to try with a single target OS first,\nyou can comment out the corresponding lines from the script:\n\n    podman_build linux\n    podman_build windows\n    podman_build web\n    podman_build android\n    ...\n\n\n## Image sizes\n\nThese are the expected container image sizes, so you can plan your disk usage in advance:\n\n    REPOSITORY                         TAG                SIZE\n    localhost/godot-fedora             4.3-f40            1.01 GB\n    localhost/godot-linux              4.3-f40            2.80 GB\n    localhost/godot-windows            4.3-f40            2.46 GB\n    localhost/godot-web                4.3-f40            2.41 GB\n    localhost/godot-android            4.3-f40            4.29 GB\n    localhost/godot-osx                4.3-f40            4.78 GB\n    localhost/godot-ios                4.3-f40            5.49 GB\n\nIn addition to this, generating containers will also require some host disk space\n(up to 10 GB) for the dependencies (Xcode).\n\n\n## Toolchains\n\nThese are the toolchains currently in use for Godot 4.3 and later:\n\n- Base image: Fedora 41\n- SCons: 4.8.1\n- Linux: GCC 13.2.0 built against glibc 2.28, binutils 2.40, from our own [Linux SDK](https://github.com/godotengine/buildroot)\n- Windows:\n  * x86_64/x86_32: MinGW 12.0.0, GCC 14.2.1, binutils 2.42\n  * arm64: llvm-mingw 20241203, LLVM 19.1.5\n- Web: Emscripten 3.1.64\n- Android: Android NDK 23.2.8568313, build-tools 34.0.0, platform android-34, CMake 3.22.1, JDK 17\n- macOS: Xcode 16.2 with Apple Clang (LLVM 17.0.6), MacOSX SDK 15.2\n- iOS: Xcode 16.2 with Apple Clang (LLVM 17.0.6), iPhoneOS SDK 18.2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodotengine%2Fbuild-containers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgodotengine%2Fbuild-containers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodotengine%2Fbuild-containers/lists"}