Skip to content

Commit 0393b84

Browse files
authored
Add arm64 build. Use container: ubuntu:bionic for both arm64 and amd64 (#636)
1 parent 37df8a3 commit 0393b84

File tree

3 files changed

+26
-12
lines changed

3 files changed

+26
-12
lines changed

.github/workflows/build.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ on: [push, pull_request, workflow_dispatch]
44
jobs:
55
build:
66
name: Build
7-
runs-on: ubuntu-22.04
8-
container: ubuntu:xenial
7+
strategy:
8+
matrix:
9+
os: [ubuntu-22.04, ubuntu-22.04-arm]
10+
runs-on: ${{ matrix.os }}
11+
container: ubuntu:bionic
912
env:
1013
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1114
TRAVIS_BUILD_NUMBER: ${{ github.run_number }}

tests/tests-ci.sh

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,13 @@
22

33
set -x
44

5-
source /opt/qt*/bin/qt*-env.sh
6-
/opt/qt*/bin/qmake CONFIG+=release CONFIG+=force_debug_info linuxdeployqt.pro
5+
qmake CONFIG+=release CONFIG+=force_debug_info linuxdeployqt.pro;
6+
if [ "$(uname -m)" = "aarch64" ]; then
7+
tool_arch="aarch64";
8+
else
9+
tool_arch="x86_64";
10+
fi
11+
712
make -j$(nproc)
813

914
# Test (it is commented out because current PVS Studio license is expired, it might be re-enabled later if a new license is granted)
@@ -52,7 +57,7 @@ ulimit -a -H
5257
set +e
5358

5459
# print version number (need to extract the AppImage because we are running in a container, see https://github.com/AppImage/AppImageKit/wiki/FUSE#docker)
55-
./linuxdeployqt-*-x86_64.AppImage --appimage-extract-and-run --version
60+
./linuxdeployqt-*-$tool_arch.AppImage --appimage-extract-and-run --version
5661

5762
# TODO: reactivate tests
5863
#bash -e tests/tests.sh
@@ -63,7 +68,7 @@ if [ $RESULT -ne 0 ]; then
6368
echo "FAILURE: linuxdeployqt CRASHED -- uploading files for debugging to transfer.sh"
6469
set -v
6570
[ -e /tmp/coredump ] && curl --upload-file /tmp/coredump https://transfer.sh/coredump
66-
curl --upload-file linuxdeployqt-*-x86_64.AppImage https://transfer.sh/linuxdeployqt-x86_64.AppImage
71+
curl --upload-file linuxdeployqt-*-$tool_arch.AppImage https://transfer.sh/linuxdeployqt-$tool_arch.AppImage
6772
find -type f -iname 'libQt5Core.so*' -exec curl --upload {} https://transfer.sh/libQt5Core.so \; || true
6873
exit $RESULT
6974
fi

tests/tests-environment.sh

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,21 @@
22

33
set -e
44

5-
sudo add-apt-repository --yes ppa:beineri/opt-qt593-xenial
65
sudo apt-get update -qq
76

87
# wget https://ftp.fau.de/debian/pool/main/p/patchelf/patchelf_0.8-2_amd64.deb
98
# echo "5d506507df7c02766ae6c3ca0d15b4234f4cb79a80799190ded9d3ca0ac28c0c patchelf_0.8-2_amd64.deb" | sha256sum -c
10-
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/p/patchelf/patchelf_0.8-2_amd64.deb
11-
echo "b3b69f346afb16ab9e925b91afc4c77179a70b676c2eb58a2821f8664fd4cae6 patchelf_0.8-2_amd64.deb" | sha256sum -c
9+
if [ "$(uname -m)" = "aarch64" ]; then
10+
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/p/patchelf/patchelf_0.8-2_arm64.deb;
11+
echo "3236b6aa89e891a9ab2da4f4574784b29ebd418b55d30a332ed8e2feff537d3c patchelf_0.8-2_arm64.deb" | sha256sum -c;
12+
tool_arch="aarch64";
13+
else
14+
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/p/patchelf/patchelf_0.8-2_amd64.deb;
15+
echo "b3b69f346afb16ab9e925b91afc4c77179a70b676c2eb58a2821f8664fd4cae6 patchelf_0.8-2_amd64.deb" | sha256sum -c;
16+
tool_arch="x86_64";
17+
fi
1218

13-
sudo dpkg -i patchelf_0.8-2_amd64.deb
19+
sudo dpkg -i patchelf_0.8-2_*.deb
1420
# We want a newer patchelf since the one above is missing e.g., '--add-needed' which our users might want to use
1521
# However, the newer patchelf versions are broken and cripple, e.g., libQt5Core; see https://github.com/NixOS/patchelf/issues/124
1622
# git clone -o e1e39f3 https://github.com/NixOS/patchelf
@@ -23,12 +29,12 @@ sudo dpkg -i patchelf_0.8-2_amd64.deb
2329
cd /tmp/
2430
# wget -c https://artifacts.assassinate-you.net/artifactory/AppImageKit/travis-2052/appimagetool-x86_64.AppImage # branch last-good, https://travis-ci.org/AppImage/AppImageKit/jobs/507462541
2531
# wget -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" # See #542
26-
wget -c "https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage" # Workaround for #542
32+
wget -c "https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-$tool_arch.AppImage" # Workaround for #542
2733
chmod +x appimagetool*AppImage
2834
./appimagetool*AppImage --appimage-extract
2935
sudo cp squashfs-root/usr/bin/* /usr/local/bin/
3036
sudo cp -r squashfs-root/usr/lib/appimagekit /usr/local/lib/
3137
sudo chmod +rx /usr/local/lib/appimagekit
3238
cd -
3339

34-
sudo apt-get -y install qt59base qt59declarative qt59webengine binutils xpra zsync desktop-file-utils gcc g++ make libgl1-mesa-dev fuse psmisc qt59translations
40+
sudo apt-get -y install qt5-default qtbase5-dev qtdeclarative5-dev qtwebengine5-dev qttranslations5-l10n binutils xpra zsync desktop-file-utils gcc g++ make libgl1-mesa-dev fuse psmisc

0 commit comments

Comments
 (0)