Skip to content

Commit

Permalink
CI: add archarm/armv7 build for Linux ARM
Browse files Browse the repository at this point in the history
  • Loading branch information
HuguesDelorme committed Feb 26, 2024
1 parent 8fa2fa4 commit 9e340cd
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 30 deletions.
74 changes: 44 additions & 30 deletions .github/workflows/ci_linux_arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ jobs:
build-linux-arm:
strategy:
matrix:
#arch: [armv7, aarch64]
arch: [aarch64]
include:
- arch: aarch64
distro: ubuntu22.04
- arch: armv7
distro: archarm_latest


runs-on: ubuntu-latest

Expand All @@ -22,37 +26,56 @@ jobs:
uses: uraimo/run-on-arch-action@v2
with:
arch: ${{matrix.arch}}
distro: ubuntu22.04
distro: ${{matrix.distro}}
githubToken: ${{github.token}} # Not required, but speeds up builds
install: |
apt-get -y update
apt-get -y install xvfb # Needed to run unit tests
apt-get -y install cmake
apt-get -y install git
apt-get -y install g++
apt-get -y install qtbase5-dev libqt5svg5-dev
apt-get -y install libxcb-cursor0 # Dependencies for "xcb" Qt plugin(actually needed for Qt6)
apt-get -y install libocct-data-exchange-dev libocct-draw-dev occt-misc
apt-get -y install libtbb2-dev libxi-dev # Dependencies for OpenCascade v7.5
apt-get -y install libassimp-dev
case "${{ matrix.distro }}" in
ubuntu*)
apt-get -y update
apt-get -y install xvfb # Needed to run unit tests
apt-get -y install cmake
apt-get -y install git
apt-get -y install g++
apt-get -y install qtbase5-dev libqt5svg5-dev
apt-get -y install libxcb-cursor0 # Dependencies for "xcb" Qt plugin(actually needed for Qt6)
apt-get -y install libocct-data-exchange-dev libocct-draw-dev occt-misc
apt-get -y install libtbb2-dev libxi-dev # Dependencies for OpenCascade v7.5
apt-get -y install libassimp-dev
;;
archarm*)
# See https://github.com/moby/buildkit/issues/1267#issuecomment-769880570
sed -i -e 's~#IgnorePkg.*~IgnorePkg = filesystem~g' '/etc/pacman.conf'
pacman -Syu --noconfirm
pacman -Sy --noconfirm xorg-server-xvfb
pacman -Sy --noconfirm make cmake
pacman -Sy --noconfirm git
pacman -Sy --noconfirm gcc
pacman -Sy --noconfirm qt5-base qt5-svg
pacman -Sy --noconfirm xcb-util-cursor
pacman -Sy --noconfirm opencascade
pacman -Sy --noconfirm libxi
pacman -Sy --noconfirm assimp
;;
esac
env: |
DISPLAY: :0
GIT_BRANCH_NAME: ${{env.BRANCH_NAME}}
RUN_ARCH_NAME: ${{matrix.arch}}
run: |
git clone https://github.com/fougue/mayo.git
git clone --quiet https://github.com/fougue/mayo.git
cd mayo
echo GIT_BRANCH_NAME=$GIT_BRANCH_NAME
# Fixes "fatal: detected dubious ownership in repository at '/home/runner/work/mayo/mayo'"
#git config --global --add safe.directory `pwd`
git config --global --add safe.directory /home/runner/work/mayo/mayo
git config --global --add safe.directory `realpath $PWD/..`
echo GIT_BRANCH_NAME=$GIT_BRANCH_NAME
git checkout $GIT_BRANCH_NAME
cd ..
mkdir build
cd build
cmake --version
cmake .. \
-DMayo_BuildTests=ON \
Expand All @@ -61,16 +84,7 @@ jobs:
--config Release \
--parallel `nproc`
#
# Execute Unit Tests
# Note: for some unknown reason unit tests are crashing for armv7(on very first test)
# so just execute them for aarch64
#
if [ $RUN_ARCH_NAME = 'aarch64' ]; then
# Start X11 display server
Xvfb $DISPLAY -screen 0 1280x1024x24 &
sleep 5s
./mayo --runtests
else
echo "NOTE: unit tests skipped, they need to be fixed for this architecture"
fi
# Start X11 display server
Xvfb $DISPLAY -screen 0 1280x1024x24 &
sleep 5s
./mayo --runtests
1 change: 1 addition & 0 deletions .github/workflows/ci_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
occ_zip_sha256: 'beb30920efe5e5384d500d43dcb8ba1f476a76bb65b268b1af32d807b697bdee'

runs-on: windows-latest
name: build-win-msvc-occt${{matrix.occ_version}}

steps:
- name: Checkout
Expand Down

0 comments on commit 9e340cd

Please sign in to comment.