|
397 | 397 | }
|
398 | 398 | );
|
399 | 399 |
|
400 |
| - makeRequired = isPr: extra: |
| 400 | + makeRequired = isPr: jobs: extra: |
401 | 401 | let
|
402 |
| - jobs = lib.foldl' lib.mergeAttrs { } (lib.attrValues flake.systemHydraJobs); |
403 | 402 | nonRequiredPaths = map lib.hasPrefix ([ "macos." ] ++ lib.optional isPr "linux.native.membenches");
|
404 | 403 | in with self.legacyPackages.${defaultSystem};
|
405 | 404 | releaseTools.aggregate {
|
|
412 | 411 | jobs) ++ extra;
|
413 | 412 | };
|
414 | 413 |
|
| 414 | + makeOsRequired = isPr: jobs: { |
| 415 | + linux = jobs.linux // { |
| 416 | + required = makeRequired isPr jobs.linux []; |
| 417 | + }; |
| 418 | + macos = jobs.macos // { |
| 419 | + required = makeRequired isPr jobs.macos []; |
| 420 | + }; |
| 421 | + }; |
415 | 422 |
|
416 | 423 | hydraJobs =
|
417 | 424 | let
|
|
422 | 429 | build-version = writeText "version.json" (builtins.toJSON {
|
423 | 430 | inherit (self) lastModified lastModifiedDate narHash outPath shortRev rev;
|
424 | 431 | });
|
425 |
| - required = makeRequired false [ cardano-deployment build-version ]; |
426 |
| - }); |
| 432 | + required = makeRequired false jobs [ cardano-deployment build-version ]; |
| 433 | + }) // makeOsRequired false jobs; |
427 | 434 |
|
428 | 435 | hydraJobsPr =
|
429 | 436 | let
|
|
432 | 439 | "linux.native.workbench-ci-analysis"
|
433 | 440 | "linux.native.workbench-ci-test"
|
434 | 441 | ];
|
435 |
| - in |
436 |
| - (lib.mapAttrsRecursiveCond (v: !(lib.isDerivation v)) |
437 |
| - (path: value: |
438 |
| - let stringPath = lib.concatStringsSep "." path; in if lib.isAttrs value && (lib.any (p: p stringPath) nonPrJobs) then { } else value) |
439 |
| - hydraJobs) // { |
440 |
| - required = makeRequired true [ hydraJobs.cardano-deployment hydraJobs.build-version ]; |
441 |
| - }; |
442 | 442 |
|
| 443 | + jobs = lib.mapAttrsRecursiveCond (v: !(lib.isDerivation v)) |
| 444 | + (path: value: |
| 445 | + let stringPath = lib.concatStringsSep "." path; in if lib.isAttrs value && (lib.any (p: p stringPath) nonPrJobs) then { } else value) |
| 446 | + hydraJobs; |
| 447 | + in |
| 448 | + jobs // { |
| 449 | + required = makeRequired true jobs [ hydraJobs.cardano-deployment hydraJobs.build-version ]; |
| 450 | + } // makeOsRequired true jobs; |
443 | 451 | in
|
444 | 452 | builtins.removeAttrs flake [ "systemHydraJobs" ] // {
|
445 | 453 |
|
|
0 commit comments