Skip to content

Commit

Permalink
sailfishos ci
Browse files Browse the repository at this point in the history
  • Loading branch information
MrCyjaneK committed Jun 27, 2024
1 parent b2ac946 commit c81a559
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 2 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/compat.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 "[email protected]"
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 "[email protected]" && 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 "[email protected]"
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 "[email protected]" && 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:
Expand Down
44 changes: 42 additions & 2 deletions build_single.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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")
Expand Down Expand Up @@ -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" ../..
;;
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit c81a559

Please sign in to comment.