Skip to content

Commit bc762f7

Browse files
Test build with Musl Toolchain
Also remove go version specification as the default version is now high enough ( see desktop#354 (comment) )
1 parent 004d89e commit bc762f7

2 files changed

Lines changed: 40 additions & 25 deletions

File tree

.github/workflows/ci.yml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ jobs:
2727
matrix:
2828
os: [macos-11, windows-2019, ubuntu-20.04]
2929
arch: [x86, x64]
30-
go: [1.16.3]
3130
include:
3231
- os: macos-11
3332
friendlyName: macOS
@@ -36,21 +35,29 @@ jobs:
3635
friendlyName: macOS
3736
targetPlatform: macOS
3837
arch: arm64
39-
go: 1.16.3
4038
- os: windows-2019
4139
friendlyName: Windows
4240
targetPlatform: win32
4341
- os: ubuntu-20.04
4442
friendlyName: Linux
4543
targetPlatform: ubuntu
44+
arch: x86
45+
toolchainurl: https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--stable-2022.08-1.tar.bz2
46+
- os: ubuntu-20.04
47+
friendlyName: Linux
48+
targetPlatform: ubuntu
49+
arch: x64
50+
toolchainurl: https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--stable-2022.08-1.tar.bz2
4651
- os: ubuntu-20.04
4752
friendlyName: Linux
4853
targetPlatform: ubuntu
4954
arch: arm64
55+
toolchainurl: https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--stable-2022.08-2.tar.bz2
5056
- os: ubuntu-20.04
5157
friendlyName: Linux
5258
targetPlatform: ubuntu
5359
arch: arm
60+
toolchainurl: https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--stable-2022.08-1.tar.bz2
5461
exclude:
5562
- os: macos-11
5663
arch: x86
@@ -69,10 +76,9 @@ jobs:
6976
submodules: recursive
7077
# Needed for script/package.sh to work
7178
fetch-depth: 0
72-
- name: Use go ${{ matrix.go }}
79+
- name: Install go
80+
if: matrix.targetPlatform == 'macOS'
7381
uses: actions/setup-go@v2
74-
with:
75-
go-version: ${{ matrix.go }}
7682
- name: Install dependencies
7783
run: npm install
7884
- name: Check formatting
@@ -83,13 +89,13 @@ jobs:
8389
if: matrix.targetPlatform == 'ubuntu' && matrix.arch == 'x64'
8490
run: |
8591
sudo apt-get update
86-
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext
92+
sudo apt-get install -y libcurl4-gnutls-dev libexpat1-dev zlib1g-dev gettext libssl-dev
8793
- name: Install extra dependencies for building Git on Ubuntu (x86)
8894
if: matrix.targetPlatform == 'ubuntu' && matrix.arch == 'x86'
8995
run: |
9096
sudo dpkg --add-architecture i386
9197
sudo apt-get update
92-
sudo apt-get install gcc-i686-linux-gnu binutils-i686-gnu libcurl4-gnutls-dev:i386 zlib1g-dev:i386 gettext
98+
sudo apt-get install -y gcc-i686-linux-gnu binutils-i686-gnu libcurl4-gnutls-dev:i386 zlib1g-dev:i386 libssl-dev:i386 gettext
9399
- name: Install extra dependencies for building Git on Ubuntu (arm64)
94100
if: matrix.targetPlatform == 'ubuntu' && matrix.arch == 'arm64'
95101
run: |
@@ -98,7 +104,7 @@ jobs:
98104
echo "deb [arch=arm64,armhf] http://azure.ports.ubuntu.com/ $(lsb_release -s -c)-updates main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
99105
sudo dpkg --add-architecture arm64
100106
sudo apt-get update
101-
sudo apt-get install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu libcurl4-gnutls-dev:arm64 zlib1g-dev:arm64 gettext
107+
sudo apt-get install -y gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu libcurl4-gnutls-dev:arm64 zlib1g-dev:arm64 libssl-dev:arm64 gettext
102108
- name: Install extra dependencies for building Git on Ubuntu (arm)
103109
if: matrix.targetPlatform == 'ubuntu' && matrix.arch == 'arm'
104110
run: |
@@ -107,7 +113,16 @@ jobs:
107113
echo "deb [arch=arm64,armhf] http://azure.ports.ubuntu.com/ $(lsb_release -s -c)-updates main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
108114
sudo dpkg --add-architecture armhf
109115
sudo apt-get update
110-
sudo apt-get install gcc-arm-linux-gnueabihf binutils-arm-linux-gnueabihf libcurl4-gnutls-dev:armhf zlib1g-dev:armhf gettext
116+
sudo apt-get install -y gcc-arm-linux-gnueabihf binutils-arm-linux-gnueabihf libcurl4-gnutls-dev:armhf zlib1g-dev:armhf libssl-dev:armhf gettext
117+
- name: Install Musl Toolchain for building Git on Ubuntu
118+
if: matrix.targetPlatform == 'ubuntu'
119+
run: |
120+
wget ${{ matrix.toolchainurl }}
121+
sudo mkdir -p /opt/musl-toolchain
122+
sudo tar xvf $(basename ${{ matrix.toolchainurl }}) -C /opt/musl-toolchain
123+
rm -rf $(basename ${{ matrix.toolchainurl }})
124+
export PATH=/opt/musl-toolchain/bin:$PATH
125+
hash -r
111126
- name: Build (except macOS arm64)
112127
if: matrix.targetPlatform != 'macOS' || matrix.arch != 'arm64'
113128
shell: bash

script/build-ubuntu.sh

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,28 +23,28 @@ fi
2323
case "$TARGET_ARCH" in
2424
"x64")
2525
DEPENDENCY_ARCH="amd64"
26-
export CC="gcc"
27-
STRIP="strip"
28-
HOST=""
29-
TARGET="" ;;
26+
export CC="x86_64-linux-gcc"
27+
STRIP="x86_64-linux-strip"
28+
HOST="--host=x86_64-linux"
29+
TARGET="--target=x86_64-linux" ;;
3030
"x86")
3131
DEPENDENCY_ARCH="x86"
32-
export CC="i686-linux-gnu-gcc"
33-
STRIP="i686-gnu-strip"
34-
HOST="--host=i686-linux-gnu"
35-
TARGET="--target=i686-linux-gnu" ;;
32+
export CC="i686-linux-gcc"
33+
STRIP="i686-linux-strip"
34+
HOST="--host=i686-linux"
35+
TARGET="--target=i686-linux" ;;
3636
"arm64")
3737
DEPENDENCY_ARCH="arm64"
38-
export CC="aarch64-linux-gnu-gcc"
39-
STRIP="aarch64-linux-gnu-strip"
40-
HOST="--host=aarch64-linux-gnu"
41-
TARGET="--target=aarch64-linux-gnu" ;;
38+
export CC="aarch64-linux-gcc"
39+
STRIP="aarch64-linux-strip"
40+
HOST="--host=aarch64-linux"
41+
TARGET="--target=aarch64-linux" ;;
4242
"arm")
4343
DEPENDENCY_ARCH="arm"
44-
export CC="arm-linux-gnueabihf-gcc"
45-
STRIP="arm-linux-gnueabihf-strip"
46-
HOST="--host=arm-linux-gnueabihf"
47-
TARGET="--target=arm-linux-gnueabihf" ;;
44+
export CC="arm-linux-gcc"
45+
STRIP="arm-linux-strip"
46+
HOST="--host=arm-linux"
47+
TARGET="--target=arm-linux" ;;
4848
*)
4949
exit 1 ;;
5050
esac

0 commit comments

Comments
 (0)