@@ -37,201 +37,39 @@ steps:
37
37
- cd tests/bottle-hashes/
38
38
- ./test-hash-insert.sh
39
39
40
- - label : build via nix
41
- commands :
42
- # NOTE: if this changes, remember to update the instructions in the nix/README.md too
43
- - nix build . -o binaries
44
- branches : " !master"
45
- - label : check flake
46
- commands :
47
- - nix flake check -L
48
- branches : " !master"
49
- # nix builds are usually cached, so we don't care about only_changes setting for it
50
-
51
- - label : build-via-docker
52
- # this step is used as a dependency, so we're defining 'key' explicitely
53
- key : build-via-docker
40
+ - label : Build Monterey x86_64 bottles
41
+ key : build-bottles-monterey-x86_64
42
+ agents :
43
+ queue : " x86_64-rosetta-darwin"
54
44
commands :
55
- - eval "$SET_VERSION"
56
- - cd docker
57
- - ./docker-static-build.sh
45
+ - rm -rf /Users/serokell/Library/Caches/Homebrew/downloads/b3050b8d1d2bbd786c485462d44befe07e66eb214a3b8a7da232afd40209160d--protobuf-28.2.tar.gz
46
+ - nix develop .#autorelease-macos -c ./scripts/build-all-bottles.sh "monterey"
58
47
artifact_paths :
59
- - ./docker/octez-*
60
- only_changes : &static_binaries_changes_regexes
61
- - docker/build/.*.sh
62
- - docker/build/Dockerfile
63
- - docker/docker-static-build.sh
64
- - meta.json
65
- - protocols.json
48
+ - ' *.bottle.*'
49
+ retry :
50
+ automatic :
51
+ limit : 1
66
52
67
- - label : build-arm-via-docker
68
- # this step is used as a dependency, so we're defining 'key' explicitely
69
- key : build-arm-via-docker
70
- commands :
71
- - eval "$SET_VERSION"
72
- - cd docker
73
- - ./docker-static-build.sh
74
- - >
75
- for f in ./octez-*; do
76
- mv "\$f" "\$f-arm64"
77
- done
78
- artifact_paths :
79
- - ./docker/octez-*
53
+ - label : Build Monterey arm64 bottles
54
+ key : build-bottles-monterey-arm64
80
55
agents :
81
56
queue : " arm64-darwin"
82
- only_changes : *static_binaries_changes_regexes
83
-
84
- - label : test docker-built binaries
85
- commands :
86
- - buildkite-agent artifact download "docker/*" . --step "build-via-docker"
87
- - chmod +x ./docker/*
88
- - nix-build . -A binaries-test --no-out-link --arg path-to-binaries ./docker
89
- branches : " !master"
90
- depends_on :
91
- - " build-via-docker"
92
- only_changes :
93
- - tests/tezos-binaries.nix
94
- - tests/test_script.py
95
- # files from nix/ are massively used in tests infrastructure
96
- - nix/.*
97
-
98
- - label : test deb source packages via docker
99
- commands :
100
- - eval "$SET_VERSION"
101
- - nix develop .#docker-tezos-packages -c ./docker/build/ubuntu/build.py --type source
102
- artifact_paths :
103
- - ./out/*
104
- branches : " !master"
105
- timeout_in_minutes : 60
106
- only_changes : &ubuntu_native_packaging_changes_regexes
107
- - docker/package/.*
108
- - docker/build/ubuntu/build.py
109
- - docker/build/util/build.py
110
- - docker/baking/.*
111
- - meta.json
112
- - protocols.json
113
-
114
- - label : test deb binary packages via docker
115
- commands :
116
- - eval "$SET_VERSION"
117
- # Building all binary packages will take significant amount of time, so we build only one
118
- # in order to ensure package generation sanity
119
- - nix develop .#docker-tezos-packages -c ./docker/build/ubuntu/build.py --type binary -p tezos-baker-PsParisC
120
- - rm -rf out
121
- # It takes much time to build binary package, so we do it only on master
122
- branches : " master"
123
- timeout_in_minutes : 240
124
- only_changes : *ubuntu_native_packaging_changes_regexes
125
-
126
- - label : test rpm source packages via docker
127
57
commands :
128
- - eval "$SET_VERSION"
129
- - nix develop .#docker-tezos-packages -c ./docker/build/fedora/build.py --type source
58
+ - nix develop .#autorelease-macos -c ./scripts/build-all-bottles.sh "arm64_monterey"
130
59
artifact_paths :
131
- - ./out/*
132
- branches : " !master"
133
- timeout_in_minutes : 60
134
- only_changes : &fedora_native_packaging_changes_regexes
135
- - docker/package/.*
136
- - docker/build/fedora/build.py
137
- - docker/build/util/build.py
138
- - docker/baking/.*
139
- - meta.json
140
- - protocols.json
141
-
142
- - label : test rpm binary packages via docker
143
- commands :
144
- - eval "$SET_VERSION"
145
- # Building all binary packages will take significant amount of time, so we build only one
146
- # in order to ensure package generation sanity
147
- - nix develop .#docker-tezos-packages -c ./docker/build/fedora/build.py --type binary -p tezos-baker-PsParisC
148
- - rm -rf out
149
- # It takes much time to build binary package, so we do it only on master
150
- branches : " master"
151
- timeout_in_minutes : 180
152
- only_changes : *fedora_native_packaging_changes_regexes
153
-
154
- - label : build deb packages with static binaries
155
- key : build-static-deb
156
- depends_on :
157
- - " build-via-docker"
158
- commands :
159
- - eval "$SET_VERSION"
160
- - buildkite-agent artifact download "docker/octez-*" . --step build-via-docker
161
- - nix develop .#docker-tezos-packages -c ./docker/build/ubuntu/build.py --type binary --binaries-dir docker --distributions focal
162
- artifact_paths :
163
- - ./out/*
164
- only_changes : *ubuntu_native_packaging_changes_regexes
165
-
166
- - label : test gen_systemd_service_file.py script
167
- commands :
168
- - eval "$SET_VERSION"
169
- - nix develop .#autorelease -c ./gen_systemd_service_file.py tezos-node
170
- branches : " !master"
171
- only_changes :
172
- - gen_systemd_service_file.py
173
- - docker/package/.*
174
-
175
- - label : test bundled systemd services
176
- # Used in .buildkite/hooks/pre-exit
177
- key : test-systemd-services
178
- depends_on :
179
- - " build-static-deb"
180
- only_changes :
181
- - :<< *ubuntu_native_packaging_changes_regexes
182
- - tests/systemd/.*
183
- agents :
184
- queue : " default"
185
- commands :
186
- - buildkite-agent artifact download "out/*~focal_amd64.deb" . --step build-static-deb
187
- - cd tests/systemd
188
- - nix shell ../..#legacyPackages.x86_64-linux.vagrant ../..#legacyPackages.x86_64-linux.curl -c vagrant --packages-directory=../../out up --provider=libvirt
60
+ - ' *.bottle.*'
189
61
retry :
190
62
automatic :
191
- limit : 3
63
+ limit : 1
192
64
193
- - label : create auto release/pre-release
194
- key : auto-release
195
- commands :
196
- - mkdir binaries
197
- - mkdir arm-binaries
198
- - buildkite-agent artifact download "docker/*" binaries --step "build-via-docker"
199
- - buildkite-agent artifact download "docker/*" arm-binaries --step "build-arm-via-docker"
200
- - ls binaries
201
- - nix develop .#autorelease -c ./scripts/autorelease.sh "$BUILDKITE_MESSAGE"
202
- branches : master
65
+ # We use the tag that triggered the pipeline here.
66
+ # However, this requires that the tag and the release name are the same, which
67
+ # in practice it's always the case in this repo.
68
+ - label : Add Monterey bottle hashes to formulae
203
69
depends_on :
204
- - " build-via-docker"
205
- - " build-arm-via-docker"
206
- only_changes :
207
- - scripts/autorelease.sh
208
- - scripts/shell.nix
209
- # files from 'nix/' directory are used in the autorelease script
210
- - nix/.*
211
- - tezos-release.nix
212
- - release.nix
213
-
214
- # Update mirror repositories on master if brew formulae have been updated or bottle hashes added
215
- - label : update stable mirror repository
216
- if : |
217
- build.branch == "master" &&
218
- ( build.message =~ /^Merge pull request .* from serokell\/auto\/v[0-9]+\.[0-9]+-release/ ||
219
- build.message =~ /^Merge pull request .* from serokell\/auto\/update-brew-formulae-v[.0-9]+-[0-9]+/ )
220
- depends_on :
221
- - " auto-release"
222
- env :
223
- MIRROR_REPO :
" [email protected] :serokell/tezos-packaging-stable.git"
224
- commands : &update_mirror
225
- - git pull origin "$BUILDKITE_BRANCH:$BUILDKITE_BRANCH"
226
- - git push --mirror "$$MIRROR_REPO"
227
-
228
- - label : update RC mirror repository
229
- if : |
230
- build.branch == "master" &&
231
- (build.message =~ /^Merge pull request .* from serokell\/auto\/v[0-9]+\.[0-9]+-(rc|beta).*-release/ ||
232
- build.message =~ /^Merge pull request .* from serokell\/auto\/update-brew-formulae-v[.0-9]+-(rc|beta).*/)
233
- depends_on :
234
- - " auto-release"
235
- env :
236
- MIRROR_REPO :
" [email protected] :serokell/tezos-packaging-rc.git"
237
- commands : *update_mirror
70
+ - " build-bottles-monterey-arm64"
71
+ - " build-bottles-monterey-x86_64"
72
+ commands :
73
+ - mkdir -p "Monterey"
74
+ - nix develop .#buildkite -c gh release download "v20.3-1" -D "Monterey/" -p "*monterey.bottle.tar.gz"
75
+ - nix develop .#autorelease -c ./scripts/sync-bottle-hashes.sh "v20.3-1" "Monterey"
0 commit comments