diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3c11a8e2..6aaffaa5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,71 +11,120 @@ jobs: - name: Build linux-i386 run: | scripts/build-ubuntu-i386.sh + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: ubuntu-i386 + path: bin build-linux-amd64: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Build linux-amd64 run: | scripts/build-ubuntu-amd64.sh + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: ubuntu-amd64 + path: bin - build-android-armv7a: - runs-on: ubuntu-20.04 + build-apk-for-android: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Build android-armv7a + - name: Build Android (32 bit) run: | scripts/build-android-armv7a.sh + - name: Build Android (64 bit) + run: | + chmod +x scripts/build-android-aarch64.sh + scripts/build-android-aarch64.sh + - name: Build APK + run: | + sudo apt-get update + sudo apt-get install -f -y openjdk-8-jre zip apksigner imagemagick + chmod +x scripts/build-apk.sh + scripts/build-apk.sh + + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: base-apk + path: apk-engine/build/android/base-signed.apk build-windows-i386: - runs-on: windows-2019 + runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Build windows-i386 run: | git submodule init && git submodule update - ./waf.bat configure -T debug --32bits - ./waf.bat build + ./waf.bat configure -T release --prefix=bin --32bits + ./waf.bat install + + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: windows-i386 + path: bin build-windows-amd64: - runs-on: windows-2019 + runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Build windows-amd64 run: | git submodule init && git submodule update - ./waf.bat configure -T debug - ./waf.bat build + ./waf.bat configure -T release --prefix=bin + ./waf.bat install + + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: windows-amd64 + path: bin build-dedicated-windows-i386: - runs-on: windows-2019 + runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Build dedicated windows-i386 run: | git submodule init && git submodule update - ./waf.bat configure -T debug -d - ./waf.bat build + ./waf.bat configure -T release --prefix=bin -d + ./waf.bat install + + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: windows-dedicated-i386 + path: bin build-dedicated-windows-amd64: - runs-on: windows-2019 + runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Build dedicated windows-amd64 run: | git submodule init && git submodule update - ./waf.bat configure -T debug -d - ./waf.bat build + ./waf.bat configure -T release --prefix=bin -d + ./waf.bat install + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: windows-dedicated-amd64 + path: bin build-dedicated-linux-i386: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -83,14 +132,25 @@ jobs: run: | scripts/build-ubuntu-i386.sh -d + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: linux-dedicated-i386 + path: bin + build-dedicated-linux-amd64: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Build dedicated linux-amd64 run: | scripts/build-ubuntu-amd64.sh -d + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: linux-dedicated-amd64 + path: bin build-macos-amd64: runs-on: macos-latest @@ -100,6 +160,11 @@ jobs: - name: Build macos-amd64 run: | scripts/build-macos-amd64.sh + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: macos-amd64 + path: bin build-dedicated-macos-amd64: runs-on: macos-latest @@ -109,3 +174,9 @@ jobs: - name: Build dedicated macos-amd64 run: | scripts/build-macos-amd64.sh -d + + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: macos-dedicated-amd64 + path: bin \ No newline at end of file diff --git a/scripts/build-android-aarch64.sh b/scripts/build-android-aarch64.sh new file mode 100644 index 00000000..5df0886c --- /dev/null +++ b/scripts/build-android-aarch64.sh @@ -0,0 +1,9 @@ +#!/bin/sh +export ANDROID_NDK_HOME=$PWD/android-ndk-r10e/ +export PATH="$PWD/clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-16.04/bin:$PATH" +./waf configure -T release --build-game=episodic --prefix=srceng-mod-launcher/android --android=aarch64,host,21 --target=../aarch64 --enable-opus --togles --disable-warns && +./waf install --target=client,server --strip + +if [ -e "srceng-mod-launcher/android/lib/arm64-v8a/README.md" ]; then + rm srceng-mod-launcher/android/lib/arm64-v8a/README.md +fi diff --git a/scripts/build-android-armv7a.sh b/scripts/build-android-armv7a.sh index 4c7201ff..7d0a6045 100755 --- a/scripts/build-android-armv7a.sh +++ b/scripts/build-android-armv7a.sh @@ -1,9 +1,15 @@ #!/bin/sh - git submodule init && git submodule update wget https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip -o /dev/null unzip android-ndk-r10e-linux-x86_64.zip export ANDROID_NDK_HOME=$PWD/android-ndk-r10e/ -export NDK_HOME=$PWD/android-ndk-r10e/ -./waf configure -T debug --android=armeabi-v7a-hard,4.9,21 --togles --disable-warns && -./waf build +wget https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz -o /dev/null +tar -xf clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz +export PATH="$PWD/clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-16.04/bin:$PATH" +./waf configure -T release --build-game=tf_port --prefix=srceng-mod-launcher/android --android=armeabi-v7a-hard,host,21 --target=../armeabi-v7a --32bits --enable-opus --togles --disable-warns && +./waf install --target=client,server --strip + +if [ -e "srceng-mod-launcher/android/lib/armeabi-v7a/README.md" ]; then + rm srceng-mod-launcher/android/lib/armeabi-v7a/README.md +fi + diff --git a/scripts/build-apk.sh b/scripts/build-apk.sh new file mode 100644 index 00000000..affba562 --- /dev/null +++ b/scripts/build-apk.sh @@ -0,0 +1,12 @@ +export ICON=tf2.png +export PACKAGE=episodic +export APP_NAME="Default APP NAME" +cd srceng-mod-launcher +git clone https://gitlab.com/LostGamer/android-sdk +export ANDROID_SDK_HOME=$PWD/android-sdk +git pull +chmod +x android/script.sh +./android/scripts/script.sh +chmod +x waf +./waf configure -T release && +./waf build diff --git a/scripts/build-macos-amd64.sh b/scripts/build-macos-amd64.sh index 91f46f4f..790aee4f 100755 --- a/scripts/build-macos-amd64.sh +++ b/scripts/build-macos-amd64.sh @@ -4,5 +4,5 @@ git submodule init && git submodule update brew install sdl2 -./waf configure -T debug --disable-warns $* && -./waf build +./waf configure -T release --disable-warns --prefix=bin $* && +./waf install --strip diff --git a/scripts/build-ubuntu-amd64.sh b/scripts/build-ubuntu-amd64.sh index 97f0f413..16b9f158 100755 --- a/scripts/build-ubuntu-amd64.sh +++ b/scripts/build-ubuntu-amd64.sh @@ -4,5 +4,5 @@ git submodule init && git submodule update sudo apt-get update sudo apt-get install -f -y libopenal-dev g++-multilib gcc-multilib libpng-dev libjpeg-dev libfreetype6-dev libfontconfig1-dev libcurl4-gnutls-dev libsdl2-dev zlib1g-dev libbz2-dev libedit-dev -./waf configure -T debug --disable-warns $* && -./waf build +./waf configure -T release --build-game=episodic --prefix=bin --disable-warns $* && +./waf install --strip diff --git a/scripts/build-ubuntu-i386.sh b/scripts/build-ubuntu-i386.sh index a97851ea..3cc39228 100755 --- a/scripts/build-ubuntu-i386.sh +++ b/scripts/build-ubuntu-i386.sh @@ -6,5 +6,5 @@ sudo apt-get update sudo apt-get install -y aptitude sudo aptitude install -y libopenal-dev:i386 g++-multilib gcc-multilib libpng-dev:i386 libjpeg-dev:i386 libfreetype6-dev:i386 libfontconfig1-dev:i386 libcurl4-gnutls-dev:i386 libsdl2-dev:i386 zlib1g-dev:i386 libbz2-dev:i386 libedit-dev:i386 -PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig ./waf configure -T debug --disable-warns --32bits $* && -./waf build +PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig ./waf configure -T release --prefix=bin --build-games=episodic --disable-warns --32bits $* && +./waf install --strip