Skip to content

android64 build attempt #244

android64 build attempt

android64 build attempt #244

Workflow file for this run

name: Core Builds
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-win64:
if: false
name: Windows 64-bit
runs-on: windows-latest
steps:
- name: Checkout Files
uses: actions/checkout@v4
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
install: git make mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake
- name: Build SDL2 and zlib
shell: msys2 {0}
run: |
make -f makefile.zlib
make -f makefile.sdl
- name: Build hatariB
shell: msys2 {0}
run: make
- name: Prepare Artifact
shell: pwsh
run: |
mkdir artifact
cp README.md artifact
mkdir artifact/cores
copy build/*.dll artifact/cores
mkdir artifact/info
copy info/*.* artifact/info
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $env:GITHUB_ENV
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: hatarib-win64--${{ env.BUILD_TAG }}
path: artifact/
build-win32:
if: false
name: Windows 32-bit
runs-on: windows-latest
steps:
- name: Checkout Files
uses: actions/checkout@v4
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW32
install: git make mingw-w64-i686-gcc mingw-w64-i686-cmake
- name: Build SDL2 and zlib
shell: msys2 {0}
run: |
make -f makefile.zlib
make -f makefile.sdl
- name: Build hatariB
shell: msys2 {0}
run: make
- name: Prepare Artifact
shell: pwsh
run: |
mkdir artifact
cp README.md artifact
mkdir artifact/cores
copy build/*.dll artifact/cores
mkdir artifact/info
copy info/*.* artifact/info
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $env:GITHUB_ENV
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: hatarib-win32--${{ env.BUILD_TAG }}
path: artifact/
build-ubuntu:
if: false
name: Ubuntu Linux
runs-on: ubuntu-latest
steps:
- name: Checkout Files
uses: actions/checkout@v4
- name: Setup Ubuntu
run: |
sudo apt-get update
sudo apt-get install make gcc cmake
- name: Build SDL2 and zlib
run: |
make -f makefile.zlib
make -f makefile.sdl
- name: Build hatariB
run: make
- name: Prepare Artifact
run: |
mkdir artifact
cp README.md artifact
mkdir artifact/cores
cp build/*.so artifact/cores
mkdir artifact/info
cp info/*.* artifact/info
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $GITHUB_ENV
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: hatarib-ubuntu--${{ env.BUILD_TAG }}
path: artifact/
build-macos:
if: false
name: MacOS 10.13
runs-on: macos-latest
steps:
- name: Checkout Files
uses: actions/checkout@v4
- name: Setup MacOS
run: brew install make gcc@13 cmake
# brew's gcc has to be a specific version, make sure to update 13 above and below if upgrading
- name: Build SDL2 and zlib
run: |
export CC=/usr/local/bin/gcc-13
export CFLAGS=-mmacosx-version-min=10.13
make -f makefile.zlib
export CC=$(PWD)/SDL/build-scripts/clang-fat.sh
make -f makefile.sdl
- name: Build hatariB
run: |
export OS=MacOS
export CC=/usr/local/bin/gcc-13
export CFLAGS=-mmacosx-version-min=10.13
export CMAKEFLAGS="-DCMAKE_C_COMPILER=/usr/local/bin/gcc-13 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13"
gmake
- name: Prepare Artifact
run: |
mkdir artifact
cp README.md artifact
mkdir artifact/cores
cp build/*.dylib artifact/cores
mkdir artifact/info
cp info/*.* artifact/info
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $GITHUB_ENV
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: hatarib-macos--${{ env.BUILD_TAG }}
path: artifact/
build-rpi32:
if: false
name: Raspberry Pi OS 32-bit
runs-on: ubuntu-20.04
# ubuntu-latest was building with a newer GLIBC than current Rpi images, making them incompatible,
# but 20.04 builds seem to have an older GLIBC that is compatible.
steps:
- name: Checkout Files
uses: actions/checkout@v4
- name: Setup Ubuntu
run: |
sudo apt-get update
sudo apt-get install make gcc gcc-arm-linux-gnueabihf cmake
- name: Build SDL2 and zlib
run: |
export CC=arm-linux-gnueabihf-gcc
export AR=arm-linux-gnueabihf-gcc-ar
make -f makefile.zlib
export RANLIB=arm-linux-gnueabihf-gcc-ranlib
export CONFIGURE_FLAGS="--build=x86_64-linux --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf-gcc"
make -f makefile.sdl
- name: Build hatariB
run: |
export CC=arm-linux-gnueabihf-gcc
export CMAKEFLAGS="-DCMAKE_SYSTEM_NAME=arm-linux-gnueabihf"
make
# CMAKE_SYSTEM_NAME informs cmake that we are cross-compiling, so that it knows to build and run cpugen natively.
- name: Prepare Artifact
run: |
mkdir artifact
cp README.md artifact
mkdir artifact/cores
cp build/*.so artifact/cores
mkdir artifact/info
cp info/*.* artifact/info
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $GITHUB_ENV
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: hatarib-rpi32--${{ env.BUILD_TAG }}
path: artifact/
build-rpi64:
if: false
name: Raspberry Pi OS 64-bit
runs-on: ubuntu-20.04
steps:
- name: Checkout Files
uses: actions/checkout@v4
- name: Setup Ubuntu
run: |
sudo apt-get update
sudo apt-get install make gcc gcc-aarch64-linux-gnu cmake
- name: Build SDL2 and zlib
run: |
export CC=aarch64-linux-gnu-gcc
export AR=aarch64-linux-gnu-gcc-ar
make -f makefile.zlib
export RANLIB=aarch64-linux-gnu-gcc-ranlib
export CONFIGURE_FLAGS="--build=x86_64-linux --host=aarch64-linux-gnu --target=aarch64-linux-gnu-gcc"
make -f makefile.sdl
- name: Build hatariB
run: |
export CC=aarch64-linux-gnu-gcc
export CMAKEFLAGS="-DCMAKE_SYSTEM_NAME=aarch64-linux-gnu"
make
- name: Prepare Artifact
run: |
mkdir artifact
cp README.md artifact
mkdir artifact/cores
cp build/*.so artifact/cores
mkdir artifact/info
cp info/*.* artifact/info
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $GITHUB_ENV
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: hatarib-rpi64--${{ env.BUILD_TAG }}
path: artifact/
build-android64:
name: Android 64-bit
runs-on: ubuntu-latest
steps:
- name: Checkout Files
uses: actions/checkout@v4
- name: Setup Ubuntu
run: |
sudo apt-get update
sudo apt-get install make gcc cmake
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Android SDK
uses: android-actions/setup-android@v3
- name: Build SDL2 and zlib
run: |
export CC=aarch64-linux-android-clang
export AR=aarch64-linux-android-clang-ar
export WERROR=-Wall
make -f makefile.zlib
export RANLIB=aarch64-linux-android-clang-ranlib
export CONFIGURE_FLAGS="--build=x86_64-linux --host=aarch64-linux-android --target=aarch64-linux-android-clang"
export WERROR="-Wall -Werror"
make -f makefile.sdl
- name: Build hatariB
run: |
export CC=aarch64-linux-android-clang
export CMAKEFLAGS="-DCMAKE_SYSTEM_NAME=aarch64-linux-android"
make
- name: Prepare Artifact
run: |
mkdir artifact
cp README.md artifact
mkdir artifact/cores
cp build/*.so artifact/cores
mkdir artifact/info
cp info/*.* artifact/info
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $GITHUB_ENV
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: hatarib-android64--${{ env.BUILD_TAG }}
path: artifact/