9
9
strategy :
10
10
matrix :
11
11
os : [ubuntu-latest, macos-latest]
12
- go : ['1.21 .x']
12
+ go : ['1.24 .x']
13
13
runs-on : ${{ matrix.os }}
14
14
steps :
15
15
- uses : actions/checkout@v4
16
16
with :
17
17
fetch-depth : 0
18
- - run : git fetch origin "+${GITHUB_REF}:${GITHUB_REF}"
19
- if : ${{ github.ref_type == 'tag' }}
20
- # We update the current tag as the checkout step turns annotated tags
21
- # into lightweight ones by accident , breaking "git describe".
22
- # See https://github.com/actions/checkout/issues/882 for details.
23
- - uses : ruby/setup-ruby@v1
24
- - run : gem install asciidoctor
18
+ persist-credentials : false
19
+ ref : ${{ github.ref }}
20
+ # We specify the current ref because otherwise the checkout turns
21
+ # annotated tags into lightweight ones, breaking "git describe".
22
+ # See https://github.com/actions/checkout/issues/290 and
23
+ # https://github.com/actions/checkout/issues/882 for details.
24
+ - run : sudo gem install asciidoctor
25
25
- uses : actions/setup-go@v5
26
26
with :
27
27
go-version : ${{ matrix.go }}
28
- - run : brew install gettext
29
- if : ${{ startsWith(matrix.os, 'macos-') }}
30
28
- run : sudo apt-get update && sudo apt-get -y install gettext libarchive-tools
31
29
if : ${{ startsWith(matrix.os, 'ubuntu-') }}
32
30
env :
@@ -47,14 +45,14 @@ jobs:
47
45
name : Build with specific Go
48
46
strategy :
49
47
matrix :
50
- go : ['1.20 .x']
48
+ go : ['1.23 .x']
51
49
runs-on : ubuntu-latest
52
50
steps :
53
51
- uses : actions/checkout@v4
54
52
with :
55
53
fetch-depth : 0
56
- - run : git fetch origin "+${GITHUB_REF}:${GITHUB_REF}"
57
- if : ${{ github.ref_type == 'tag' }}
54
+ persist-credentials : false
55
+ ref : ${{ github.ref }}
58
56
- uses : actions/setup-go@v5
59
57
with :
60
58
go-version : ${{ matrix.go }}
@@ -66,30 +64,27 @@ jobs:
66
64
- uses : actions/checkout@v4
67
65
with :
68
66
fetch-depth : 0
69
- - run : git fetch origin "+${GITHUB_REF}:${GITHUB_REF}"
70
- if : ${{ github.ref_type == 'tag' }}
71
- shell : bash
72
- - uses : ruby/setup-ruby@v1
67
+ persist-credentials : false
68
+ ref : ${{ github.ref }}
73
69
- run : gem install asciidoctor
74
- - run : Rename-Item -Path C:\msys64 -NewName msys64-tmp -Force
75
- # We move the MSYS2 installed for Ruby aside to prevent use of its Git,
76
- # which does not honour the PATH we set to our built git-lfs binary.
77
70
- uses : actions/setup-go@v5
78
71
with :
79
- go-version : ' 1.21 .x'
72
+ go-version : ' 1.24 .x'
80
73
- run : mkdir -p "$HOME/go/bin"
81
74
shell : bash
82
75
- run : set GOPATH=%HOME%\go
83
76
- run : choco install -y InnoSetup
84
- - run : choco install -y strawberryperl
85
77
- run : make man
86
78
shell : bash
87
79
- run : GOPATH="$HOME/go" PATH="$HOME/go/bin:$PATH" go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest
88
80
shell : bash
89
- - run : GOPATH="$HOME/go" PATH="$HOME/go/bin:$PATH" env -u TMPDIR script/cibuild
81
+ - uses : git-for-windows/setup-git-for-windows-sdk@v1
82
+ with :
83
+ flavor : minimal
84
+ # We install the SDK so as to have access to the msgfmt.exe binary
85
+ # from the GNU gettext package.
86
+ - run : GOPATH="$HOME/go" PATH="$HOME/go/bin:$PATH" script/cibuild
90
87
shell : bash
91
- # We clear the TMPDIR set for Ruby so mktemp and Go use the same
92
- # volume for temporary files.
93
88
- run : rm -f commands/mancontent_gen.go
94
89
shell : bash
95
90
- run : GOPATH="$HOME/go" PATH="$HOME/go/bin:$PATH" make GOARCH=386 -B
@@ -130,9 +125,18 @@ jobs:
130
125
- uses : actions/checkout@v4
131
126
with :
132
127
fetch-depth : 0
133
- - run : git fetch origin "+${GITHUB_REF}:${GITHUB_REF}"
134
- if : ${{ github.ref_type == 'tag' }}
128
+ persist-credentials : false
129
+ ref : ${{ github.ref }}
130
+ - uses : actions/setup-go@v5
131
+ with :
132
+ go-version : ' 1.24.x'
135
133
- run : git clone -b master https://github.com/git/git.git "$HOME/git"
134
+ - run : |
135
+ echo "GIT_INSTALL_DIR=$HOME/git" >> "$GITHUB_ENV"
136
+ echo "$HOME/git/bin" >> "$GITHUB_PATH"
137
+ if: ${{ matrix.os == 'macos-latest' }}
138
+ # We install our custom Git version into a PATH location ahead of
139
+ # that of the Git installed by Homebrew.
136
140
- run : script/build-git "$HOME/git"
137
141
- run : GIT_DEFAULT_HASH=sha256 script/cibuild
138
142
build-earliest :
@@ -145,9 +149,18 @@ jobs:
145
149
- uses : actions/checkout@v4
146
150
with :
147
151
fetch-depth : 0
148
- - run : git fetch origin "+${GITHUB_REF}:${GITHUB_REF}"
149
- if : ${{ github.ref_type == 'tag' }}
152
+ persist-credentials : false
153
+ ref : ${{ github.ref }}
154
+ - uses : actions/setup-go@v5
155
+ with :
156
+ go-version : ' 1.24.x'
150
157
- run : git clone -b v2.0.0 https://github.com/git/git.git "$HOME/git"
158
+ - run : |
159
+ echo "GIT_INSTALL_DIR=$HOME/git" >> "$GITHUB_ENV"
160
+ echo "$HOME/git/bin" >> "$GITHUB_PATH"
161
+ if: ${{ matrix.os == 'macos-latest' }}
162
+ # We install our custom Git version into a PATH location ahead of
163
+ # that of the Git installed by Homebrew.
151
164
- run : script/build-git "$HOME/git"
152
165
- run : script/cibuild
153
166
build-docker :
@@ -157,37 +170,20 @@ jobs:
157
170
- uses : actions/checkout@v4
158
171
with :
159
172
fetch-depth : 0
160
- - run : git fetch origin "+${GITHUB_REF}:${GITHUB_REF}"
161
- if : ${{ github.ref_type == 'tag' }}
162
- - uses : ruby/setup-ruby@v1
173
+ persist-credentials : false
174
+ ref : ${{ github.ref }}
163
175
- run : git clone https://github.com/git-lfs/build-dockers.git "$HOME/build-dockers"
164
176
- run : (cd "$HOME/build-dockers" && ./build_dockers.bsh)
165
177
- run : ./docker/run_dockers.bsh --prune
166
- build-docker-cross :
167
- name : Build Cross Linux packages
168
- runs-on : ubuntu-latest
169
- strategy :
170
- matrix :
171
- arch : [arm64]
172
- container : [debian_12]
178
+ build-docker-arm :
179
+ name : Build Linux ARM packages
180
+ runs-on : ubuntu-24.04-arm
173
181
steps :
174
182
- uses : actions/checkout@v4
175
183
with :
176
184
fetch-depth : 0
177
- - run : git fetch origin "+${GITHUB_REF}:${GITHUB_REF}"
178
- if : ${{ github.ref_type == 'tag' }}
179
- - uses : ruby/setup-ruby@v1
180
- - run : |
181
- echo '{"experimental": true}' | sudo tee /etc/docker/daemon.json
182
- sudo systemctl restart docker.service
183
- docker version -f '{{.Server.Experimental}}'
184
- - uses : docker/setup-qemu-action@v3
185
+ persist-credentials : false
186
+ ref : ${{ github.ref }}
185
187
- run : git clone https://github.com/git-lfs/build-dockers.git "$HOME/build-dockers"
186
- - run : (cd "$HOME/build-dockers" && ./build_dockers.bsh --arch=$ARCH $CONTAINER)
187
- env :
188
- ARCH : ${{matrix.arch}}
189
- CONTAINER : ${{matrix.container}}
190
- - run : ./docker/run_dockers.bsh --prune --arch=$ARCH $CONTAINER
191
- env :
192
- ARCH : ${{matrix.arch}}
193
- CONTAINER : ${{matrix.container}}
188
+ - run : (cd "$HOME/build-dockers" && ./build_dockers.bsh --arch=arm64 debian_11 debian_12)
189
+ - run : ./docker/run_dockers.bsh --prune --arch=arm64 debian_11 debian_12
0 commit comments