.conductor.yml (13922B)
1 # GENERATED by mk/gen-pipeline.sh -- do not edit by hand. 2 # 3 # Regenerate with: ./mk/gen-pipeline.sh --write 4 # Verified by: tests/unit/test_deps.sh 5 # 6 # One task per package, with `needs` taken from each template's makedepends, 7 # so a package never builds before something it links against. The list is 8 # written out rather than discovered because the conductor treats this file as 9 # data and will not execute repository code to build its graph. 10 # 11 # No mounts are provided and artifacts are not shared between tasks. Each build 12 # therefore seeds its sysroot from the published S3 repo (mk/sysroot.sh) and 13 # publishes its own result back (mk/publish.sh). `needs` is what guarantees a 14 # dependency is already published by the time a dependent starts. 15 # 16 # Credentials arrive as environment: BUCKET_ACCESS_KEY, BUCKET_SECRET_KEY, 17 # BUCKET_NAME, BUCKET_ENDPOINT (URL), BUCKET_REGION (region name), 18 # BUCKET_PUBLIC_URL (public https endpoint, e.g. https://repo.unos.finwo.net/). 19 # 20 # Signing comes from the unos-sign-key worker feature, which mounts the key and 21 # exports UNOS_KEY_APK_RSA_PRI. Each worker holds a distinct key, so the signer 22 # varies with scheduling and packages/unos-keys must trust all of them. 23 24 version: 1 25 26 defaults: 27 image: debian:bookworm-slim 28 timeout: 2h 29 env: 30 DEBIAN_FRONTEND: noninteractive 31 32 tasks: 33 check: 34 timeout: 30m 35 arch: [x86_64] 36 requires: [unos-sign-key] 37 script: 38 - ./mk/ci-setup.sh 39 # Before deps.sh check, not after: muon is a declared hostmakedepends of 40 # apk-tools but is built here rather than installed from a distribution, 41 # so the check reports it missing until bootstrap has produced it. 42 - ./mk/bootstrap-host.sh 43 - ./mk/deps.sh check 44 - ./mk/gen-pipeline.sh --check 45 - ./tests/run.sh --unit 46 - ./mk/bootstrap-repo.sh 47 48 pkg-zlib: 49 needs: 50 - check 51 arch: [x86_64] 52 requires: [unos-sign-key] 53 script: 54 - ./mk/check-revision.sh zlib --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 55 - ./mk/ci-setup.sh 56 - ./mk/bootstrap-host.sh 57 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" zlib 58 - ./mk/build.sh zlib 59 - ./mk/publish.sh --arch "$ARCH" zlib 60 61 pkg-openssl: 62 needs: 63 - check 64 arch: [x86_64] 65 requires: [unos-sign-key] 66 script: 67 - ./mk/check-revision.sh openssl --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 68 - ./mk/ci-setup.sh 69 - ./mk/bootstrap-host.sh 70 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" openssl 71 - ./mk/build.sh openssl 72 - ./mk/publish.sh --arch "$ARCH" openssl 73 74 pkg-apk-tools: 75 needs: 76 - check 77 - pkg-zlib 78 - pkg-openssl 79 arch: [x86_64] 80 requires: [unos-sign-key] 81 script: 82 - ./mk/check-revision.sh apk-tools --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 83 - ./mk/ci-setup.sh 84 - ./mk/bootstrap-host.sh 85 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" apk-tools 86 - ./mk/build.sh apk-tools 87 - ./mk/publish.sh --arch "$ARCH" apk-tools 88 89 pkg-base-files: 90 needs: 91 - check 92 arch: [x86_64] 93 requires: [unos-sign-key] 94 script: 95 - ./mk/check-revision.sh base-files --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 96 - ./mk/ci-setup.sh 97 - ./mk/bootstrap-host.sh 98 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" base-files 99 - ./mk/build.sh base-files 100 - ./mk/publish.sh --arch "$ARCH" base-files 101 102 pkg-busybox: 103 needs: 104 - check 105 arch: [x86_64] 106 requires: [unos-sign-key] 107 script: 108 - ./mk/check-revision.sh busybox --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 109 - ./mk/ci-setup.sh 110 - ./mk/bootstrap-host.sh 111 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" busybox 112 - ./mk/build.sh busybox 113 - ./mk/publish.sh --arch "$ARCH" busybox 114 115 pkg-curl: 116 needs: 117 - check 118 - pkg-openssl 119 - pkg-zlib 120 arch: [x86_64] 121 requires: [unos-sign-key] 122 script: 123 - ./mk/check-revision.sh curl --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 124 - ./mk/ci-setup.sh 125 - ./mk/bootstrap-host.sh 126 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" curl 127 - ./mk/build.sh curl 128 - ./mk/publish.sh --arch "$ARCH" curl 129 130 pkg-dosfstools: 131 needs: 132 - check 133 arch: [x86_64] 134 requires: [unos-sign-key] 135 script: 136 - ./mk/check-revision.sh dosfstools --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 137 - ./mk/ci-setup.sh 138 - ./mk/bootstrap-host.sh 139 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" dosfstools 140 - ./mk/build.sh dosfstools 141 - ./mk/publish.sh --arch "$ARCH" dosfstools 142 143 pkg-e2fsprogs: 144 needs: 145 - check 146 arch: [x86_64] 147 requires: [unos-sign-key] 148 script: 149 - ./mk/check-revision.sh e2fsprogs --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 150 - ./mk/ci-setup.sh 151 - ./mk/bootstrap-host.sh 152 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" e2fsprogs 153 - ./mk/build.sh e2fsprogs 154 - ./mk/publish.sh --arch "$ARCH" e2fsprogs 155 156 pkg-efivar: 157 needs: 158 - check 159 arch: [x86_64] 160 requires: [unos-sign-key] 161 script: 162 - ./mk/check-revision.sh efivar --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 163 - ./mk/ci-setup.sh 164 - ./mk/bootstrap-host.sh 165 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" efivar 166 - ./mk/build.sh efivar 167 - ./mk/publish.sh --arch "$ARCH" efivar 168 169 pkg-popt: 170 needs: 171 - check 172 arch: [x86_64] 173 requires: [unos-sign-key] 174 script: 175 - ./mk/check-revision.sh popt --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 176 - ./mk/ci-setup.sh 177 - ./mk/bootstrap-host.sh 178 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" popt 179 - ./mk/build.sh popt 180 - ./mk/publish.sh --arch "$ARCH" popt 181 182 pkg-efibootmgr: 183 needs: 184 - check 185 - pkg-efivar 186 - pkg-popt 187 arch: [x86_64] 188 requires: [unos-sign-key] 189 script: 190 - ./mk/check-revision.sh efibootmgr --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 191 - ./mk/ci-setup.sh 192 - ./mk/bootstrap-host.sh 193 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" efibootmgr 194 - ./mk/build.sh efibootmgr 195 - ./mk/publish.sh --arch "$ARCH" efibootmgr 196 197 pkg-glibc: 198 needs: 199 - check 200 arch: [x86_64] 201 requires: [unos-sign-key] 202 script: 203 - ./mk/check-revision.sh glibc --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 204 - ./mk/ci-setup.sh 205 - ./mk/bootstrap-host.sh 206 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" glibc 207 - ./mk/build.sh glibc 208 - ./mk/publish.sh --arch "$ARCH" glibc 209 210 pkg-libstdcxx: 211 needs: 212 - check 213 arch: [x86_64] 214 requires: [unos-sign-key] 215 script: 216 - ./mk/check-revision.sh libstdc++ --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 217 - ./mk/ci-setup.sh 218 - ./mk/bootstrap-host.sh 219 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" libstdc++ 220 - ./mk/build.sh libstdc++ 221 - ./mk/publish.sh --arch "$ARCH" libstdc++ 222 223 pkg-gptfdisk: 224 needs: 225 - check 226 - pkg-e2fsprogs 227 - pkg-popt 228 - pkg-libstdcxx 229 arch: [x86_64] 230 requires: [unos-sign-key] 231 script: 232 - ./mk/check-revision.sh gptfdisk --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 233 - ./mk/ci-setup.sh 234 - ./mk/bootstrap-host.sh 235 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" gptfdisk 236 - ./mk/build.sh gptfdisk 237 - ./mk/publish.sh --arch "$ARCH" gptfdisk 238 239 pkg-xz: 240 needs: 241 - check 242 arch: [x86_64] 243 requires: [unos-sign-key] 244 script: 245 - ./mk/check-revision.sh xz --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 246 - ./mk/ci-setup.sh 247 - ./mk/bootstrap-host.sh 248 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" xz 249 - ./mk/build.sh xz 250 - ./mk/publish.sh --arch "$ARCH" xz 251 252 pkg-grub: 253 needs: 254 - check 255 - pkg-xz 256 arch: [x86_64] 257 requires: [unos-sign-key] 258 script: 259 - ./mk/check-revision.sh grub --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 260 - ./mk/ci-setup.sh 261 - ./mk/bootstrap-host.sh 262 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" grub 263 - ./mk/build.sh grub 264 - ./mk/publish.sh --arch "$ARCH" grub 265 266 pkg-libmnl: 267 needs: 268 - check 269 arch: [x86_64] 270 requires: [unos-sign-key] 271 script: 272 - ./mk/check-revision.sh libmnl --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 273 - ./mk/ci-setup.sh 274 - ./mk/bootstrap-host.sh 275 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" libmnl 276 - ./mk/build.sh libmnl 277 - ./mk/publish.sh --arch "$ARCH" libmnl 278 279 pkg-libcap: 280 needs: 281 - check 282 arch: [x86_64] 283 requires: [unos-sign-key] 284 script: 285 - ./mk/check-revision.sh libcap --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 286 - ./mk/ci-setup.sh 287 - ./mk/bootstrap-host.sh 288 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" libcap 289 - ./mk/build.sh libcap 290 - ./mk/publish.sh --arch "$ARCH" libcap 291 292 pkg-iproute2: 293 needs: 294 - check 295 - pkg-libmnl 296 - pkg-libcap 297 arch: [x86_64] 298 requires: [unos-sign-key] 299 script: 300 - ./mk/check-revision.sh iproute2 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 301 - ./mk/ci-setup.sh 302 - ./mk/bootstrap-host.sh 303 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" iproute2 304 - ./mk/build.sh iproute2 305 - ./mk/publish.sh --arch "$ARCH" iproute2 306 307 pkg-linkd: 308 needs: 309 - check 310 arch: [x86_64] 311 requires: [unos-sign-key] 312 script: 313 - ./mk/check-revision.sh linkd --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 314 - ./mk/ci-setup.sh 315 - ./mk/bootstrap-host.sh 316 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" linkd 317 - ./mk/build.sh linkd 318 - ./mk/publish.sh --arch "$ARCH" linkd 319 320 pkg-linux-longterm: 321 needs: 322 - check 323 arch: [x86_64] 324 requires: [unos-sign-key] 325 script: 326 - ./mk/check-revision.sh linux-longterm --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 327 - ./mk/ci-setup.sh 328 - ./mk/bootstrap-host.sh 329 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" linux-longterm 330 - ./mk/build.sh linux-longterm 331 - ./mk/publish.sh --arch "$ARCH" linux-longterm 332 333 pkg-linux-mainline: 334 needs: 335 - check 336 arch: [x86_64] 337 requires: [unos-sign-key] 338 script: 339 - ./mk/check-revision.sh linux-mainline --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 340 - ./mk/ci-setup.sh 341 - ./mk/bootstrap-host.sh 342 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" linux-mainline 343 - ./mk/build.sh linux-mainline 344 - ./mk/publish.sh --arch "$ARCH" linux-mainline 345 346 pkg-linux-stable: 347 needs: 348 - check 349 arch: [x86_64] 350 requires: [unos-sign-key] 351 script: 352 - ./mk/check-revision.sh linux-stable --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 353 - ./mk/ci-setup.sh 354 - ./mk/bootstrap-host.sh 355 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" linux-stable 356 - ./mk/build.sh linux-stable 357 - ./mk/publish.sh --arch "$ARCH" linux-stable 358 359 pkg-smartmontools: 360 needs: 361 - check 362 - pkg-libstdcxx 363 arch: [x86_64] 364 requires: [unos-sign-key] 365 script: 366 - ./mk/check-revision.sh smartmontools --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 367 - ./mk/ci-setup.sh 368 - ./mk/bootstrap-host.sh 369 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" smartmontools 370 - ./mk/build.sh smartmontools 371 - ./mk/publish.sh --arch "$ARCH" smartmontools 372 373 pkg-tinyssh: 374 needs: 375 - check 376 arch: [x86_64] 377 requires: [unos-sign-key] 378 script: 379 - ./mk/check-revision.sh tinyssh --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 380 - ./mk/ci-setup.sh 381 - ./mk/bootstrap-host.sh 382 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" tinyssh 383 - ./mk/build.sh tinyssh 384 - ./mk/publish.sh --arch "$ARCH" tinyssh 385 386 pkg-unos-firstboot: 387 needs: 388 - check 389 arch: [x86_64] 390 requires: [unos-sign-key] 391 script: 392 - ./mk/check-revision.sh unos-firstboot --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 393 - ./mk/ci-setup.sh 394 - ./mk/bootstrap-host.sh 395 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" unos-firstboot 396 - ./mk/build.sh unos-firstboot 397 - ./mk/publish.sh --arch "$ARCH" unos-firstboot 398 399 pkg-unos-keys: 400 needs: 401 - check 402 arch: [x86_64] 403 requires: [unos-sign-key] 404 script: 405 - ./mk/check-revision.sh unos-keys --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 406 - ./mk/ci-setup.sh 407 - ./mk/bootstrap-host.sh 408 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" unos-keys 409 - ./mk/build.sh unos-keys 410 - ./mk/publish.sh --arch "$ARCH" unos-keys 411 412 index: 413 needs: 414 - pkg-zlib 415 - pkg-openssl 416 - pkg-apk-tools 417 - pkg-base-files 418 - pkg-busybox 419 - pkg-curl 420 - pkg-dosfstools 421 - pkg-e2fsprogs 422 - pkg-efivar 423 - pkg-popt 424 - pkg-efibootmgr 425 - pkg-glibc 426 - pkg-libstdcxx 427 - pkg-gptfdisk 428 - pkg-xz 429 - pkg-grub 430 - pkg-libmnl 431 - pkg-libcap 432 - pkg-iproute2 433 - pkg-linkd 434 - pkg-linux-longterm 435 - pkg-linux-mainline 436 - pkg-linux-stable 437 - pkg-smartmontools 438 - pkg-tinyssh 439 - pkg-unos-firstboot 440 - pkg-unos-keys 441 arch: [x86_64] 442 requires: [unos-sign-key] 443 script: 444 - ./mk/ci-setup.sh 445 - ./mk/bootstrap-host.sh 446 # Pull every published package down so the index describes the whole 447 # repo, not just whatever this container happened to build. 448 - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" 449 - ./mk/repo-index.sh 450 - ./mk/publish.sh --arch "$ARCH" --index-only