Skip to content

Commit adfaaa9

Browse files
committed
Fix packaging workflows
My initial attempt at D90919043 only uncovered more failures, so try and fix the remaining ones: * Add missing entry for Ubuntu Noble to substcontrol.py. * Run `install-system-packages.sh` in a venv to workaround the unconditional `pip install pex` call from getdeps. `pex` isn't actually relevant to the watchman build so this just needs to not fail. * Reapply D93644456 so that we don't produce random shared libraries that conflict with system ones. This appears to have been unintentionally unfixed by D94714599. * Build fast_float from source on Fedora < 42. * Drop Fedora 40, add Fedora 43. * Update third-party workflow versions as we're here. Tested via: * https://github.com/mszabo-wikia/watchman/actions/runs/23025768943 * https://github.com/mszabo-wikia/watchman/actions/runs/23025768938
1 parent 7dff35d commit adfaaa9

10 files changed

Lines changed: 113 additions & 77 deletions

File tree

.github/workflows/generate-release-yml.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ fn parse_pattern(pattern: &String) -> Option<(Pattern, Vec<&'static str>)> {
3535
} else if pattern.contains("%FEDORA_STABLE_VERSION%") {
3636
Some((
3737
Box::new(move |p: &str, s: &str| p.replace("%FEDORA_STABLE_VERSION%", s)),
38-
vec!["40", "41", "42"],
38+
vec!["41", "42", "43"],
3939
))
4040
} else {
4141
None

.github/workflows/package.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@ jobs:
77
runs-on: ubuntu-latest
88
steps:
99
- name: Checkout code
10-
uses: actions/checkout@v4
10+
uses: actions/checkout@v6
1111

1212
- name: Set up Docker Buildx
13-
uses: docker/setup-buildx-action@v3
13+
uses: docker/setup-buildx-action@v4
1414

1515
- name: Login to GitHub Container Registry
16-
uses: docker/login-action@v3
16+
uses: docker/login-action@v4
1717
with:
1818
registry: ghcr.io
1919
username: ${{ github.repository_owner }}
2020
password: ${{ secrets.GITHUB_TOKEN }}
2121

2222
- name: Build and push Docker image
23-
uses: docker/build-push-action@v6
23+
uses: docker/build-push-action@v7
2424
with:
2525
context: .
2626
build-args: "UBUNTU_VERSION=24.04"
@@ -35,13 +35,17 @@ jobs:
3535
image: ${{ format('ghcr.io/{0}/watchman-build-env:latest', github.repository) }}
3636
steps:
3737
- name: Checkout code
38-
uses: actions/checkout@v4
38+
uses: actions/checkout@v6
3939

4040
- name: rustup default stable
4141
run: rustup default stable
4242

4343
- name: Install system dependencies
44-
run: ./install-system-packages.sh
44+
shell: bash
45+
run: |
46+
python3 -m venv venv
47+
source venv/bin/activate
48+
./install-system-packages.sh
4549
4650
- name: Test cargo
4751
run: cargo --help
@@ -53,4 +57,6 @@ jobs:
5357
run: ./autogen.sh
5458

5559
- name: Make .deb
60+
env:
61+
UBUNTU_VERSION: '24.04'
5662
run: ./watchman/build/package/make-deb.sh

.github/workflows/release.yml

Lines changed: 57 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ jobs:
3232
runs-on: ubuntu-latest
3333
steps:
3434
- name: Checkout code
35-
uses: actions/checkout@v4
35+
uses: actions/checkout@v6
3636
- name: Set up Docker Buildx
37-
uses: docker/setup-buildx-action@v3
37+
uses: docker/setup-buildx-action@v4
3838
- name: Login to GitHub Container Registry
39-
uses: docker/login-action@v3
39+
uses: docker/login-action@v4
4040
with:
4141
registry: ghcr.io
4242
username: "${{ github.repository_owner }}"
4343
password: "${{ secrets.GITHUB_TOKEN }}"
4444
- name: Build and push Docker image
45-
uses: docker/build-push-action@v6
45+
uses: docker/build-push-action@v7
4646
with:
4747
context: "."
4848
build-args: UBUNTU_VERSION=22.04
@@ -53,86 +53,86 @@ jobs:
5353
runs-on: ubuntu-latest
5454
steps:
5555
- name: Checkout code
56-
uses: actions/checkout@v4
56+
uses: actions/checkout@v6
5757
- name: Set up Docker Buildx
58-
uses: docker/setup-buildx-action@v3
58+
uses: docker/setup-buildx-action@v4
5959
- name: Login to GitHub Container Registry
60-
uses: docker/login-action@v3
60+
uses: docker/login-action@v4
6161
with:
6262
registry: ghcr.io
6363
username: "${{ github.repository_owner }}"
6464
password: "${{ secrets.GITHUB_TOKEN }}"
6565
- name: Build and push Docker image
66-
uses: docker/build-push-action@v6
66+
uses: docker/build-push-action@v7
6767
with:
6868
context: "."
6969
build-args: UBUNTU_VERSION=24.04
7070
file: watchman/build/package/ubuntu-env/Dockerfile
7171
push: true
7272
tags: "${{ format('ghcr.io/{0}/watchman-build-env:ubuntu-24-latest', github.repository) }}"
73-
docker-fedora-40:
73+
docker-fedora-41:
7474
runs-on: ubuntu-latest
7575
steps:
7676
- name: Checkout code
77-
uses: actions/checkout@v4
77+
uses: actions/checkout@v6
7878
- name: Set up Docker Buildx
79-
uses: docker/setup-buildx-action@v3
79+
uses: docker/setup-buildx-action@v4
8080
- name: Login to GitHub Container Registry
81-
uses: docker/login-action@v3
81+
uses: docker/login-action@v4
8282
with:
8383
registry: ghcr.io
8484
username: "${{ github.repository_owner }}"
8585
password: "${{ secrets.GITHUB_TOKEN }}"
8686
- name: Build and push Docker image
87-
uses: docker/build-push-action@v6
87+
uses: docker/build-push-action@v7
8888
with:
8989
context: "."
90-
build-args: FEDORA_VERSION=40
90+
build-args: FEDORA_VERSION=41
9191
file: watchman/build/package/fedora-env/Dockerfile
9292
push: true
93-
tags: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-40-latest', github.repository) }}"
94-
docker-fedora-41:
93+
tags: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-41-latest', github.repository) }}"
94+
docker-fedora-42:
9595
runs-on: ubuntu-latest
9696
steps:
9797
- name: Checkout code
98-
uses: actions/checkout@v4
98+
uses: actions/checkout@v6
9999
- name: Set up Docker Buildx
100-
uses: docker/setup-buildx-action@v3
100+
uses: docker/setup-buildx-action@v4
101101
- name: Login to GitHub Container Registry
102-
uses: docker/login-action@v3
102+
uses: docker/login-action@v4
103103
with:
104104
registry: ghcr.io
105105
username: "${{ github.repository_owner }}"
106106
password: "${{ secrets.GITHUB_TOKEN }}"
107107
- name: Build and push Docker image
108-
uses: docker/build-push-action@v6
108+
uses: docker/build-push-action@v7
109109
with:
110110
context: "."
111-
build-args: FEDORA_VERSION=41
111+
build-args: FEDORA_VERSION=42
112112
file: watchman/build/package/fedora-env/Dockerfile
113113
push: true
114-
tags: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-41-latest', github.repository) }}"
115-
docker-fedora-42:
114+
tags: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-42-latest', github.repository) }}"
115+
docker-fedora-43:
116116
runs-on: ubuntu-latest
117117
steps:
118118
- name: Checkout code
119-
uses: actions/checkout@v4
119+
uses: actions/checkout@v6
120120
- name: Set up Docker Buildx
121-
uses: docker/setup-buildx-action@v3
121+
uses: docker/setup-buildx-action@v4
122122
- name: Login to GitHub Container Registry
123-
uses: docker/login-action@v3
123+
uses: docker/login-action@v4
124124
with:
125125
registry: ghcr.io
126126
username: "${{ github.repository_owner }}"
127127
password: "${{ secrets.GITHUB_TOKEN }}"
128128
- name: Build and push Docker image
129-
uses: docker/build-push-action@v6
129+
uses: docker/build-push-action@v7
130130
with:
131131
context: "."
132-
build-args: FEDORA_VERSION=42
132+
build-args: FEDORA_VERSION=43
133133
file: watchman/build/package/fedora-env/Dockerfile
134134
push: true
135-
tags: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-42-latest', github.repository) }}"
135+
tags: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-43-latest', github.repository) }}"
136136
clone-build-package-ubuntu-22:
137137
needs:
138138
- prepare
@@ -144,9 +144,10 @@ jobs:
144144
- name: Fix HOME
145145
run: echo HOME=/root >> $GITHUB_ENV
146146
- name: Checkout code
147-
uses: actions/checkout@v4
147+
uses: actions/checkout@v6
148148
- name: Install system dependencies
149-
run: "./install-system-packages.sh"
149+
shell: bash
150+
run: "python3 -m venv venv\nsource venv/bin/activate\n./install-system-packages.sh\n"
150151
- name: Fix dubious ownership
151152
run: git config --global --add safe.directory /__w/watchman/watchman
152153
- name: Build Watchman binaries
@@ -175,9 +176,10 @@ jobs:
175176
- name: Fix HOME
176177
run: echo HOME=/root >> $GITHUB_ENV
177178
- name: Checkout code
178-
uses: actions/checkout@v4
179+
uses: actions/checkout@v6
179180
- name: Install system dependencies
180-
run: "./install-system-packages.sh"
181+
shell: bash
182+
run: "python3 -m venv venv\nsource venv/bin/activate\n./install-system-packages.sh\n"
181183
- name: Fix dubious ownership
182184
run: git config --global --add safe.directory /__w/watchman/watchman
183185
- name: Build Watchman binaries
@@ -195,28 +197,29 @@ jobs:
195197
asset_path: /_debs/watchman.deb
196198
asset_name: "watchman_ubuntu24.04_${{ needs.prepare.outputs.release }}.deb"
197199
asset_content_type: application/x-deb
198-
clone-build-package-fedora-40:
200+
clone-build-package-fedora-41:
199201
needs:
200202
- prepare
201-
- docker-fedora-40
203+
- docker-fedora-41
202204
runs-on: ubuntu-latest
203205
container:
204-
image: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-40-latest', github.repository) }}"
206+
image: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-41-latest', github.repository) }}"
205207
steps:
206208
- name: Fix HOME
207209
run: echo HOME=/root >> $GITHUB_ENV
208210
- name: Checkout code
209-
uses: actions/checkout@v4
211+
uses: actions/checkout@v6
210212
- name: Install system dependencies
211-
run: "./install-system-packages.sh"
213+
shell: bash
214+
run: "python3 -m venv venv\nsource venv/bin/activate\n./install-system-packages.sh\n"
212215
- name: Fix dubious ownership
213216
run: git config --global --add safe.directory /__w/watchman/watchman
214217
- name: Build Watchman binaries
215218
run: "./autogen.sh"
216219
- name: Make .rpm
217220
id: make_rpm
218221
env:
219-
FEDORA_VERSION: "40"
222+
FEDORA_VERSION: "41"
220223
run: "./watchman/build/package/make-rpm.sh"
221224
- name: Upload .rpm
222225
env:
@@ -227,28 +230,29 @@ jobs:
227230
asset_path: "${{ steps.make_rpm.outputs.rpm_path }}"
228231
asset_name: "${{ steps.make_rpm.outputs.rpm_name }}"
229232
asset_content_type: application/x-rpm
230-
clone-build-package-fedora-41:
233+
clone-build-package-fedora-42:
231234
needs:
232235
- prepare
233-
- docker-fedora-41
236+
- docker-fedora-42
234237
runs-on: ubuntu-latest
235238
container:
236-
image: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-41-latest', github.repository) }}"
239+
image: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-42-latest', github.repository) }}"
237240
steps:
238241
- name: Fix HOME
239242
run: echo HOME=/root >> $GITHUB_ENV
240243
- name: Checkout code
241-
uses: actions/checkout@v4
244+
uses: actions/checkout@v6
242245
- name: Install system dependencies
243-
run: "./install-system-packages.sh"
246+
shell: bash
247+
run: "python3 -m venv venv\nsource venv/bin/activate\n./install-system-packages.sh\n"
244248
- name: Fix dubious ownership
245249
run: git config --global --add safe.directory /__w/watchman/watchman
246250
- name: Build Watchman binaries
247251
run: "./autogen.sh"
248252
- name: Make .rpm
249253
id: make_rpm
250254
env:
251-
FEDORA_VERSION: "41"
255+
FEDORA_VERSION: "42"
252256
run: "./watchman/build/package/make-rpm.sh"
253257
- name: Upload .rpm
254258
env:
@@ -259,28 +263,29 @@ jobs:
259263
asset_path: "${{ steps.make_rpm.outputs.rpm_path }}"
260264
asset_name: "${{ steps.make_rpm.outputs.rpm_name }}"
261265
asset_content_type: application/x-rpm
262-
clone-build-package-fedora-42:
266+
clone-build-package-fedora-43:
263267
needs:
264268
- prepare
265-
- docker-fedora-42
269+
- docker-fedora-43
266270
runs-on: ubuntu-latest
267271
container:
268-
image: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-42-latest', github.repository) }}"
272+
image: "${{ format('ghcr.io/{0}/watchman-build-env:fedora-43-latest', github.repository) }}"
269273
steps:
270274
- name: Fix HOME
271275
run: echo HOME=/root >> $GITHUB_ENV
272276
- name: Checkout code
273-
uses: actions/checkout@v4
277+
uses: actions/checkout@v6
274278
- name: Install system dependencies
275-
run: "./install-system-packages.sh"
279+
shell: bash
280+
run: "python3 -m venv venv\nsource venv/bin/activate\n./install-system-packages.sh\n"
276281
- name: Fix dubious ownership
277282
run: git config --global --add safe.directory /__w/watchman/watchman
278283
- name: Build Watchman binaries
279284
run: "./autogen.sh"
280285
- name: Make .rpm
281286
id: make_rpm
282287
env:
283-
FEDORA_VERSION: "42"
288+
FEDORA_VERSION: "43"
284289
run: "./watchman/build/package/make-rpm.sh"
285290
- name: Upload .rpm
286291
env:
@@ -296,7 +301,7 @@ jobs:
296301
needs: prepare
297302
runs-on: ubuntu-24.04
298303
steps:
299-
- uses: actions/checkout@v4
304+
- uses: actions/checkout@v6
300305
- name: Build watchman
301306
run: "python3 build/fbcode_builder/getdeps.py build --src-dir=. watchman --project-install-prefix watchman:/usr/local"
302307
- name: Copy artifacts

0 commit comments

Comments
 (0)