7
7
include : # macos-12 is no longer on GitHub Actions, we use the Mac mini for this
8
8
- os : ubuntu-latest
9
9
architecture : x64
10
+ - os : ubuntu-latest
11
+ architecture : aarch64
10
12
- os : windows-latest
11
13
architecture : x86
12
14
- os : windows-latest
80
82
rm -rf pyipv8/systemd
81
83
rm -rf pyipv8/ipv8/test
82
84
- name : Setup Python ${{ matrix.architecture }}
85
+ if : matrix.architecture != 'aarch64'
83
86
uses : actions/setup-python@v5
84
87
with :
85
88
python-version : ' 3.10'
88
91
cache-dependency-path : |
89
92
**/build/requirements.txt
90
93
- name : Install Dependencies
94
+ if : matrix.architecture != 'aarch64'
91
95
run : |
92
96
pip install --upgrade -r build/requirements.txt
93
97
- name : Setup npm
@@ -110,13 +114,47 @@ jobs:
110
114
# ####################
111
115
# Individual builds #
112
116
# ####################
113
- - name : Build Executables (Ubuntu)
114
- if : matrix.os == 'ubuntu-latest'
117
+ - name : Build Executables (Ubuntu x64 )
118
+ if : matrix.os == 'ubuntu-latest' && matrix.architecture == 'x64'
115
119
run : |
116
120
sudo apt-get install -y --allow-downgrades alien cpio=2.13+dfsg-7 devscripts fakeroot gir1.2-gtk-4.0 libgirepository1.0-dev rpm
117
121
./build/debian/makedist_debian.sh
118
122
mv build/debian/tribler_${GITHUB_TAG}_all.deb build/debian/tribler_${GITHUB_TAG}_${{ matrix.architecture }}.deb
119
123
124
+ - name : Build Executables (Ubuntu aarch64)
125
+ if : matrix.os == 'ubuntu-latest' && matrix.architecture == 'aarch64'
126
+ uses : uraimo/run-on-arch-action@v2
127
+ id : run_ubuntu_aarch64
128
+ with :
129
+ arch : ${{ matrix.architecture }}
130
+ distro : ubuntu22.04
131
+ githubToken : ${{ github.token }}
132
+ dockerRunArgs : |
133
+ --volume "${PWD}:/tribler"
134
+ env : |
135
+ GITHUB_TAG: ${{ env.GITHUB_TAG }}
136
+ shell : /bin/sh
137
+ install : |
138
+ apt-get update -q -y
139
+ apt-get install -q -y --allow-downgrades alien cpio=2.13+dfsg-7 devscripts fakeroot gir1.2-gtk-4.0 libgirepository1.0-dev rpm python3-pip libcairo2-dev
140
+ run : |
141
+ python3 -m pip install --upgrade pip
142
+ python3 -m pip install --upgrade -r /tribler/build/requirements.txt
143
+ python3 -m pip install meson ninja
144
+
145
+ cd /tribler
146
+ python3 -m pip install --upgrade cx_Freeze==7.2.3 # cx_Freeze workaround
147
+ cp /lib/${{ matrix.architecture }}-linux-gnu/libcrypt.so.1 libcrypt-06cd74a6.so.2 # cx_Freeze workaround
148
+ export PATH="/usr/local/bin:$PATH"
149
+ ./build/debian/makedist_debian.sh
150
+
151
+ cd build/debian
152
+ apt-get install -y --fix-broken ./tribler_${GITHUB_TAG}_all.deb
153
+ timeout 10s tribler -s || true
154
+ cat /tmp/*tribler*.log
155
+
156
+ mv tribler_${GITHUB_TAG}_all.deb tribler_${GITHUB_TAG}_${{ matrix.architecture }}.deb
157
+
120
158
- name : Build Executables (MacOS-12)
121
159
if : matrix.os == 'macos-12'
122
160
run : |
0 commit comments