summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2024-06-27 09:36:55 +0200
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2024-06-27 09:36:55 +0200
commitc81a5596c5d5d94289e662db9e3fdc1930b3fcc1 (patch)
treef0f3f415a17cbc32502eae1e34e2035f4b76ebd0
parentb2ac946c43a8fb5447e7a2b70d04e24f39702bd9 (diff)
sailfishos ci
-rw-r--r--.github/workflows/compat.yaml64
-rwxr-xr-xbuild_single.sh44
2 files changed, 106 insertions, 2 deletions
diff --git a/.github/workflows/compat.yaml b/.github/workflows/compat.yaml
index fa6721f..4bb3654 100644
--- a/.github/workflows/compat.yaml
+++ b/.github/workflows/compat.yaml
@@ -122,6 +122,70 @@ jobs:
with:
files: release/gh/*
token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
+ sailfishos_aarch64:
+ strategy:
+ matrix:
+ coin: [monero, wownero]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Patch sources
+ run: |
+ git config --global --add safe.directory '*'
+ git config --global user.email "ci@mrcyjanek.net"
+ git config --global user.name "CI mrcyjanek.net"
+ ./apply_patches.sh ${{ matrix.coin }}
+ - name: ${{ matrix.coin }}/aarch64-meego-linux-gnu
+ run: |
+ docker run --rm -v $PWD:$PWD -w $PWD ghcr.io/mrcyjanek/sailfishos:4.6.0.11_target_aarch64 bash -c 'zypper in -f -y perl-IPC-Cmd curl ccache gperf cmake ffmpeg-tools git clang libxkbcommon-devel wayland-protocols-devel wayland-client wayland-egl-devel make glibc-static && git config --global --add safe.directory '*' && git config --global user.email "ci@mrcyjanek.net" && git config --global user.name "CI mrcyjanek.net" && for i in gcc g++ ar ranlib; do ln -s /usr/bin/$i /usr/bin/aarch64-meego-linux-gnu-$i; done && ./build_single.sh ${{ matrix.coin }} aarch64-meego-linux-gnu -j$(nproc)'
+ - name: rename artifacts
+ run: |
+ mkdir release/gh/
+ for i in release/${{ matrix.coin }}/*
+ do
+ mv "$i" "release/gh/${{ matrix.coin }}_$(basename $i)"
+ done
+ - name: Release
+ uses: softprops/action-gh-release@v2
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: release/gh/*
+ token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
+ sailfishos_i486:
+ strategy:
+ matrix:
+ coin: [monero, wownero]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Patch sources
+ run: |
+ git config --global --add safe.directory '*'
+ git config --global user.email "ci@mrcyjanek.net"
+ git config --global user.name "CI mrcyjanek.net"
+ ./apply_patches.sh ${{ matrix.coin }}
+ - name: ${{ matrix.coin }}/aarch64-meego-linux-gnu
+ run: |
+ docker run --rm -v $PWD:$PWD -w $PWD ghcr.io/mrcyjanek/sailfishos:4.6.0.11_target_i486 bash -c 'zypper in -f -y perl-IPC-Cmd curl ccache gperf cmake ffmpeg-tools git clang libxkbcommon-devel wayland-protocols-devel wayland-client wayland-egl-devel make glibc-static && git config --global --add safe.directory '*' && git config --global user.email "ci@mrcyjanek.net" && git config --global user.name "CI mrcyjanek.net" && for i in gcc g++ ar ranlib; do ln -s /usr/bin/$i /usr/bin/i686-linux-gnu-$i; done && ./build_single.sh ${{ matrix.coin }} i684-meego-linux-gnu -j$(nproc)'
+ - name: rename artifacts
+ run: |
+ mkdir release/gh/
+ for i in release/${{ matrix.coin }}/*
+ do
+ mv "$i" "release/gh/${{ matrix.coin }}_$(basename $i)"
+ done
+ - name: Release
+ uses: softprops/action-gh-release@v2
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: release/gh/*
+ token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
darwin:
strategy:
matrix:
diff --git a/build_single.sh b/build_single.sh
index 31a788d..e7d9459 100755
--- a/build_single.sh
+++ b/build_single.sh
@@ -53,10 +53,44 @@ case "$HOST_ABI" in
export CC="${HOST_ABI}-gcc"
export CXX="${HOST_ABI}-g++"
;;
+ "i686-meego-linux-gnu")
+ # sanity checks, we should only run on native cpu
+ if [[ ! "$(uname -m)" == "x86_64" ]];
+ then
+ echo "${HOST_ABI} builds are only supported on x86_64 host."
+ exit 1
+ fi
+ # we also only support sailfishos linux
+ source /etc/os-release
+ if [[ ! "$ID" == "sailfishos" ]];
+ then
+ echo "${HOST_ABI} builds are only supported on sailfishos host."
+ exit 1
+ fi
+ export CC="${HOST_ABI}-gcc"
+ export CXX="${HOST_ABI}-g++"
+ ;;
"aarch64-linux-gnu")
export CC="${HOST_ABI}-gcc"
export CXX="${HOST_ABI}-g++"
;;
+ "aarch64-meego-linux-gnu")
+ # sanity checks, we should only run on native cpu
+ if [[ ! "$(uname -m)" == "aarch64" ]];
+ then
+ echo "${HOST_ABI} builds are only supported on aarch64 host."
+ exit 1
+ fi
+ # we also only support sailfishos linux
+ source /etc/os-release
+ if [[ ! "$ID" == "sailfishos" ]];
+ then
+ echo "${HOST_ABI} builds are only supported on sailfishos host."
+ exit 1
+ fi
+ export CC="${HOST_ABI}-gcc"
+ export CXX="${HOST_ABI}-g++"
+ ;;
"x86_64-linux-android")
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
export CC=x86_64-linux-android21-clang
@@ -114,7 +148,7 @@ case "$HOST_ABI" in
esac
pushd $repo/contrib/depends
case "$HOST_ABI" in
- "x86_64-linux-gnu" | "i686-linux-gnu" | "aarch64-linux-gnu" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "armv7a-linux-androideabi" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11")
+ "x86_64-linux-gnu" | "i686-linux-gnu" | "i686-meego-linux-gnu" | "aarch64-linux-gnu" | "aarch64-meego-linux-gnu" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "armv7a-linux-androideabi" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11")
CC=gcc CXX=g++ make HOST="$HOST_ABI" "$NPROC"
;;
"host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin")
@@ -265,9 +299,15 @@ pushd $repo/build/${HOST_ABI}
"i686-linux-gnu")
env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="i686" -D STATIC=ON -D BUILD_64="OFF" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-x86" -D CMAKE_SYSTEM_NAME="Linux" ../..
;;
+ "i686-meego-linux-gnu")
+ env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="i686" -D STATIC=ON -D BUILD_64="OFF" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-x86" -D CMAKE_SYSTEM_NAME="Linux" ../..
+ ;;
"aarch64-linux-gnu")
env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-armv8" -D CMAKE_SYSTEM_NAME="Linux" ../..
;;
+ "aarch64-meego-linux-gnu")
+ env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-armv8" -D CMAKE_SYSTEM_NAME="Linux" ../..
+ ;;
"x86_64-linux-android")
env CC="${CC}" CXX="${CXX}" cmake -DHIDAPI_DUMMY=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="x86-64" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=true -D BUILD_TAG="android-x86_64" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_ARCH_ABI="x86_64" ../..
;;
@@ -331,7 +371,7 @@ pushd ${repo}_libwallet2_api_c
mkdir -p build/${HOST_ABI} -p
pushd build/${HOST_ABI}
case $HOST_ABI in
- "x86_64-linux-gnu" | "i686-linux-gnu" | "aarch64-linux-gnu" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11" | "host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "armv7a-linux-androideabi")
+ "x86_64-linux-gnu" | "i686-linux-gnu" | "i686-meego-linux-gnu" | "aarch64-linux-gnu" | "aarch64-meego-linux-gnu" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11" | "host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "armv7a-linux-androideabi")
echo $CC
env CC="${CC}" CXX="${CXX}" cmake -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../..
CC="${CC}" CXX="${CXX}" make $NPROC