@@ -25,53 +25,41 @@ jobs:
25
25
strategy :
26
26
fail-fast : false
27
27
matrix :
28
- os : [macos-11 , windows-2019 , ubuntu-20.04]
29
- arch : [x86, x64 ]
28
+ os : [macos-latest , windows-latest , ubuntu-20.04]
29
+ arch : [x64, arm64 ]
30
30
include :
31
- - os : macos-11
31
+ - os : macos-latest
32
32
friendlyName : macOS
33
33
targetPlatform : macOS
34
- - os : macos-11
35
- friendlyName : macOS
36
- targetPlatform : macOS
37
- arch : arm64
38
- - os : windows-2019
34
+ - os : windows-latest
39
35
friendlyName : Windows
40
36
targetPlatform : win32
41
37
- os : ubuntu-20.04
42
38
friendlyName : Linux
43
39
targetPlatform : ubuntu
44
- - os : ubuntu-20.04
45
- friendlyName : Linux
46
- targetPlatform : ubuntu
47
- arch : arm64
48
- - os : ubuntu-20.04
49
- friendlyName : Linux
50
- targetPlatform : ubuntu
51
- arch : arm
52
40
exclude :
53
- - os : macos-11
54
- arch : x86
55
- - os : windows-2019
56
- arch : x86
41
+ - os : windows-latest
42
+ arch : arm64
57
43
timeout-minutes : 20
58
44
steps :
59
- # We need to use Xcode 11.7 for maximum compatibility with older macOS (x64)
60
- - name : Switch to Xcode 11.7
45
+ # We need to use Xcode 14.3 for maximum compatibility with older macOS (x64)
46
+ - name : Switch to oldest available Xcode
61
47
if : matrix.targetPlatform == 'macOS' && matrix.arch == 'x64'
62
48
run : |
63
- sudo xcode-select -s /Applications/Xcode_11.7 .app/Contents/Developer/
49
+ sudo xcode-select -s /Applications/Xcode_14.3.1 .app/Contents/Developer/
64
50
# Delete the command line tools to make sure they don't get our builds
65
- # messed up with macOS SDK 11 stuff.
51
+ # messed up with macOS SDK stuff.
66
52
sudo rm -rf /Library/Developer/CommandLineTools
67
- - uses : actions/checkout@v2
53
+ - uses : actions/checkout@v4
68
54
with :
69
55
submodules : recursive
70
56
# Needed for script/package.sh to work
71
57
fetch-depth : 0
72
58
- name : Install go
73
59
if : matrix.targetPlatform == 'macOS'
74
- uses : actions/setup-go@v2
60
+ uses : actions/setup-go@v5
61
+ with :
62
+ go-version : ' stable'
75
63
- name : Install dependencies
76
64
run : npm install
77
65
- name : Check formatting
83
71
run : |
84
72
sudo apt-get update
85
73
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext
86
- - name : Install extra dependencies for building Git on Ubuntu (x86)
87
- if : matrix.targetPlatform == 'ubuntu' && matrix.arch == 'x86'
88
- run : |
89
- sudo dpkg --add-architecture i386
90
- sudo apt-get update
91
- sudo apt-get install gcc-i686-linux-gnu binutils-i686-gnu libcurl4-gnutls-dev:i386 zlib1g-dev:i386 gettext
92
74
- name : Install extra dependencies for building Git on Ubuntu (arm64)
93
75
if : matrix.targetPlatform == 'ubuntu' && matrix.arch == 'arm64'
94
76
run : |
98
80
sudo dpkg --add-architecture arm64
99
81
sudo apt-get update
100
82
sudo apt-get install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu libcurl4-gnutls-dev:arm64 zlib1g-dev:arm64 gettext
101
- - name : Install extra dependencies for building Git on Ubuntu (arm)
102
- if : matrix.targetPlatform == 'ubuntu' && matrix.arch == 'arm'
103
- run : |
104
- sudo sed -i "s/^deb/deb [arch=amd64,i386]/g" /etc/apt/sources.list
105
- echo "deb [arch=arm64,armhf] http://azure.ports.ubuntu.com/ $(lsb_release -s -c) main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
106
- 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
107
- sudo dpkg --add-architecture armhf
108
- sudo apt-get update
109
- sudo apt-get install gcc-arm-linux-gnueabihf binutils-arm-linux-gnueabihf libcurl4-gnutls-dev:armhf zlib1g-dev:armhf gettext
110
- - name : Build (except macOS arm64)
111
- if : matrix.targetPlatform != 'macOS' || matrix.arch != 'arm64'
112
- shell : bash
113
- run : script/build.sh
114
- env :
115
- TARGET_PLATFORM : ${{ matrix.targetPlatform }}
116
- TARGET_ARCH : ${{ matrix.arch }}
117
- - name : Build (macOS arm64)
118
- if : matrix.targetPlatform == 'macOS' && matrix.arch == 'arm64'
83
+ - name : Build
119
84
shell : bash
120
85
run : script/build.sh
121
86
env :
0 commit comments