build: make podman_build a function (#121)
This commit is contained in:
parent
51dcd8bc6b
commit
5f596e34f2
55
build.sh
55
build.sh
|
@ -1,12 +1,6 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
podman=`which podman || true`
|
||||
|
||||
if [ -z $podman ]; then
|
||||
echo "podman needs to be in PATH for this script to work."
|
||||
exit 1
|
||||
fi
|
||||
source $(dirname "$0")/setup.sh
|
||||
|
||||
if [ -z "$1" -o -z "$2" ]; then
|
||||
echo "Usage: $0 <godot branch> <base distro>"
|
||||
|
@ -45,36 +39,51 @@ fi
|
|||
|
||||
mkdir -p logs
|
||||
|
||||
# You can add --no-cache as an option to podman_build below to rebuild all containers from scratch
|
||||
export podman_build="$podman build --build-arg img_version=${img_version} -v ${files_root}:/root/files:z"
|
||||
"$podman" build -t godot-fedora:${img_version} -f Dockerfile.base . 2>&1 | tee logs/base.log
|
||||
|
||||
$podman build -t godot-fedora:${img_version} -f Dockerfile.base . 2>&1 | tee logs/base.log
|
||||
$podman_build -t godot-export:${img_version} -f Dockerfile.export . 2>&1 | tee logs/export.log
|
||||
podman_build() {
|
||||
# You can add --no-cache as an option to podman_build below to rebuild all containers from scratch.
|
||||
"$podman" build \
|
||||
--build-arg img_version=${img_version} \
|
||||
-v "${files_root}":/root/files:z \
|
||||
-t godot-"$1:${img_version}" \
|
||||
-f Dockerfile."$1" . \
|
||||
2>&1 | tee logs/"$1".log
|
||||
}
|
||||
|
||||
$podman_build -t godot-linux:${img_version} -f Dockerfile.linux . 2>&1 | tee logs/linux.log
|
||||
$podman_build -t godot-windows:${img_version} -f Dockerfile.windows . 2>&1 | tee logs/windows.log
|
||||
$podman_build -t godot-web:${img_version} -f Dockerfile.web . 2>&1 | tee logs/web.log
|
||||
$podman_build -t godot-android:${img_version} -f Dockerfile.android . 2>&1 | tee logs/android.log
|
||||
podman_build export
|
||||
|
||||
podman_build linux
|
||||
podman_build windows
|
||||
|
||||
podman_build web
|
||||
podman_build android
|
||||
|
||||
XCODE_SDK=14.1
|
||||
OSX_SDK=13.0
|
||||
IOS_SDK=16.1
|
||||
if [ ! -e ${files_root}/MacOSX${OSX_SDK}.sdk.tar.xz ] || [ ! -e ${files_root}/iPhoneOS${IOS_SDK}.sdk.tar.xz ] || [ ! -e ${files_root}/iPhoneSimulator${IOS_SDK}.sdk.tar.xz ]; then
|
||||
if [ ! -e ${files_root}/Xcode_${XCODE_SDK}.xip ]; then
|
||||
if [ ! -e "${files_root}"/MacOSX${OSX_SDK}.sdk.tar.xz ] || [ ! -e "${files_root}"/iPhoneOS${IOS_SDK}.sdk.tar.xz ] || [ ! -e "${files_root}"/iPhoneSimulator${IOS_SDK}.sdk.tar.xz ]; then
|
||||
if [ ! -e "${files_root}"/Xcode_${XCODE_SDK}.xip ]; then
|
||||
echo "files/Xcode_${XCODE_SDK}.xip is required. It can be downloaded from https://developer.apple.com/download/more/ with a valid apple ID."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Building OSX and iOS SDK packages. This will take a while"
|
||||
$podman_build -t godot-xcode-packer:${img_version} -f Dockerfile.xcode . 2>&1 | tee logs/xcode.log
|
||||
$podman run -it --rm -v ${files_root}:/root/files:z -e XCODE_SDKV="${XCODE_SDK}" -e OSX_SDKV="${OSX_SDK}" -e IOS_SDKV="${IOS_SDK}" godot-xcode-packer:${img_version} 2>&1 | tee logs/xcode_packer.log
|
||||
podman_build xcode
|
||||
"$podman" run -it --rm \
|
||||
-v "${files_root}":/root/files:z \
|
||||
-e XCODE_SDKV="${XCODE_SDK}" \
|
||||
-e OSX_SDKV="${OSX_SDK}" \
|
||||
-e IOS_SDKV="${IOS_SDK}" \
|
||||
godot-xcode:${img_version} \
|
||||
2>&1 | tee logs/xcode_packer.log
|
||||
fi
|
||||
|
||||
$podman_build -t godot-osx:${img_version} -f Dockerfile.osx . 2>&1 | tee logs/osx.log
|
||||
$podman_build -t godot-ios:${img_version} -f Dockerfile.ios . 2>&1 | tee logs/ios.log
|
||||
podman_build osx
|
||||
podman_build ios
|
||||
|
||||
if [ "${build_msvc}" != "0" ]; then
|
||||
if [ ! -e ${files_root}/msvc2017.tar ]; then
|
||||
if [ ! -e "${files_root}"/msvc2017.tar ]; then
|
||||
echo
|
||||
echo "files/msvc2017.tar is missing. This file can be created on a Windows 7 or 10 machine by downloading the 'Visual Studio Tools' installer."
|
||||
echo "here: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017"
|
||||
|
@ -86,5 +95,5 @@ if [ "${build_msvc}" != "0" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
$podman_build -t godot-msvc:${img_version} -f Dockerfile.msvc . 2>&1 | tee logs/msvc.log
|
||||
podman_build msvc
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
podman=`which podman || true`
|
||||
|
||||
if [ -z "$podman" ]; then
|
||||
echo "podman needs to be in PATH for this script to work."
|
||||
exit 1
|
||||
fi
|
25
upload.sh
25
upload.sh
|
@ -1,11 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
podman=podman
|
||||
if ! which $podman; then
|
||||
podman=docker
|
||||
fi
|
||||
source $(dirname "$0")/setup.sh
|
||||
|
||||
img_version=$1
|
||||
registry=$2
|
||||
|
@ -19,13 +14,13 @@ if [ -z "${registry}" ]; then
|
|||
registry=registry.prehensile-tales.com
|
||||
fi
|
||||
|
||||
$podman push godot-export:${img_version} ${registry}/godot/export
|
||||
$podman push godot-linux:${img_version} ${registry}/godot/linux
|
||||
$podman push godot-windows:${img_version} ${registry}/godot/windows
|
||||
$podman push godot-web:${img_version} ${registry}/godot/web
|
||||
$podman push godot-xcode-packer:${img_version} ${registry}/godot/xcode-packer
|
||||
"$podman" push godot-export:${img_version} ${registry}/godot/export
|
||||
"$podman" push godot-linux:${img_version} ${registry}/godot/linux
|
||||
"$podman" push godot-windows:${img_version} ${registry}/godot/windows
|
||||
"$podman" push godot-web:${img_version} ${registry}/godot/web
|
||||
"$podman" push godot-xcode:${img_version} ${registry}/godot/xcode
|
||||
|
||||
$podman push godot-android:${img_version} ${registry}/godot-private/android
|
||||
$podman push godot-ios:${img_version} ${registry}/godot-private/ios
|
||||
$podman push godot-osx:${img_version} ${registry}/godot-private/macosx
|
||||
$podman push godot-msvc:${img_version} ${registry}/godot-private/uwp
|
||||
"$podman" push godot-android:${img_version} ${registry}/godot-private/android
|
||||
"$podman" push godot-ios:${img_version} ${registry}/godot-private/ios
|
||||
"$podman" push godot-osx:${img_version} ${registry}/godot-private/macosx
|
||||
"$podman" push godot-msvc:${img_version} ${registry}/godot-private/uwp
|
||||
|
|
Loading…
Reference in New Issue