|
406 | 406 | ] |
407 | 407 | } |
408 | 408 | }, |
| 409 | + "matrixElement": { |
| 410 | + "oneOf": [ |
| 411 | + {"type": "string"}, |
| 412 | + {"type": "integer"}, |
| 413 | + {"type": "boolean"} |
| 414 | + ] |
| 415 | + }, |
409 | 416 | "prompt": { |
410 | 417 | "type": "string", |
411 | 418 | "description": "The instructional message displayed in the dialog box when the unblock step is activated", |
|
424 | 431 | false, |
425 | 432 | "My reason" |
426 | 433 | ] |
| 434 | + }, |
| 435 | + "softFail": { |
| 436 | + "description": "The conditions for marking the step as a soft-fail.", |
| 437 | + "anyOf": [ |
| 438 | + { |
| 439 | + "type": "boolean" |
| 440 | + }, |
| 441 | + { |
| 442 | + "type": "array", |
| 443 | + "items": { |
| 444 | + "anyOf": [ |
| 445 | + { |
| 446 | + "type": "object", |
| 447 | + "properties": { |
| 448 | + "exit_status": { |
| 449 | + "description": "The exit status number that will cause this job to soft-fail", |
| 450 | + "anyOf": [ |
| 451 | + { |
| 452 | + "type": "string", |
| 453 | + "enum": [ "*" ] |
| 454 | + }, |
| 455 | + { |
| 456 | + "type": "number" |
| 457 | + } |
| 458 | + ] |
| 459 | + } |
| 460 | + } |
| 461 | + } |
| 462 | + ] |
| 463 | + } |
| 464 | + } |
| 465 | + ] |
427 | 466 | } |
428 | 467 | }, |
429 | 468 | "blockStep": { |
|
627 | 666 | "label": { |
628 | 667 | "$ref": "#/definitions/commonOptions/label" |
629 | 668 | }, |
| 669 | + "matrix": { |
| 670 | + "oneOf": [ |
| 671 | + { |
| 672 | + "type": "array", |
| 673 | + "description": "List of elements for simple single-dimension Build Matrix", |
| 674 | + "items": { "$ref": "#/definitions/commonOptions/matrixElement" }, |
| 675 | + "examples": [ |
| 676 | + ["linux", "freebsd"] |
| 677 | + ] |
| 678 | + }, |
| 679 | + { |
| 680 | + "type": "object", |
| 681 | + "description": "Configuration for multi-dimension Build Matrix", |
| 682 | + "properties": { |
| 683 | + "setup": { |
| 684 | + "oneOf": [ |
| 685 | + { |
| 686 | + "type": "array", |
| 687 | + "description": "List of elements for single-dimension Build Matrix", |
| 688 | + "items": { "$ref": "#/definitions/commonOptions/matrixElement" }, |
| 689 | + "examples": [ |
| 690 | + ["linux", "freebsd"] |
| 691 | + ] |
| 692 | + }, |
| 693 | + { |
| 694 | + "type": "object", |
| 695 | + "description": "Mapping of Build Matrix dimension names to their lists of elements", |
| 696 | + "propertyNames": { |
| 697 | + "type": "string", |
| 698 | + "description": "Build Matrix dimension name", |
| 699 | + "pattern": "^[a-zA-Z0-9_]+$" |
| 700 | + }, |
| 701 | + "additionalProperties": { |
| 702 | + "type": "array", |
| 703 | + "description": "List of elements for this Build Matrix dimension", |
| 704 | + "items": { "$ref": "#/definitions/commonOptions/matrixElement" } |
| 705 | + }, |
| 706 | + "examples": [ |
| 707 | + { |
| 708 | + "os": ["linux", "freebsd"], |
| 709 | + "arch": ["arm64", "riscv"] |
| 710 | + } |
| 711 | + ] |
| 712 | + } |
| 713 | + ] |
| 714 | + }, |
| 715 | + "adjustments": { |
| 716 | + "type": "array", |
| 717 | + "description": "List of Build Matrix adjustments", |
| 718 | + "items": { |
| 719 | + "type": "object", |
| 720 | + "description": "An adjustment to a Build Matrix", |
| 721 | + "properties": { |
| 722 | + "with": { |
| 723 | + "oneOf": [ |
| 724 | + { |
| 725 | + "type": "array", |
| 726 | + "description": "List of existing or new elements for single-dimension Build Matrix", |
| 727 | + "items": { "$ref": "#/definitions/commonOptions/matrixElement" } |
| 728 | + }, |
| 729 | + { |
| 730 | + "type": "object", |
| 731 | + "description": "Specification of a new or existing Build Matrix combination", |
| 732 | + "propertyNames": { |
| 733 | + "type": "string", |
| 734 | + "description": "Build Matrix dimension name" |
| 735 | + }, |
| 736 | + "additionalProperties": { |
| 737 | + "type": "string", |
| 738 | + "description": "Build Matrix dimension element" |
| 739 | + }, |
| 740 | + "examples": [ |
| 741 | + { "os": "linux", "arch": "arm64" } |
| 742 | + ] |
| 743 | + } |
| 744 | + ] |
| 745 | + }, |
| 746 | + "skip": { |
| 747 | + "$ref": "#/definitions/commonOptions/skip" |
| 748 | + }, |
| 749 | + "soft_fail": { |
| 750 | + "$ref": "#/definitions/commonOptions/softFail" |
| 751 | + } |
| 752 | + }, |
| 753 | + "required": ["with"] |
| 754 | + } |
| 755 | + } |
| 756 | + }, |
| 757 | + "required": ["setup"] |
| 758 | + } |
| 759 | + ] |
| 760 | + }, |
630 | 761 | "name": { |
631 | 762 | "$ref": "#/definitions/commonOptions/label" |
632 | 763 | }, |
|
754 | 885 | ] |
755 | 886 | }, |
756 | 887 | "soft_fail": { |
757 | | - "description": "The conditions for marking the step as a soft-fail.", |
758 | | - "anyOf": [ |
759 | | - { |
760 | | - "type": "boolean" |
761 | | - }, |
762 | | - { |
763 | | - "type": "array", |
764 | | - "items": { |
765 | | - "anyOf": [ |
766 | | - { |
767 | | - "type": "object", |
768 | | - "properties": { |
769 | | - "exit_status": { |
770 | | - "description": "The exit status number that will cause this job to soft-fail", |
771 | | - "anyOf": [ |
772 | | - { |
773 | | - "type": "string", |
774 | | - "enum": [ "*" ] |
775 | | - }, |
776 | | - { |
777 | | - "type": "number" |
778 | | - } |
779 | | - ] |
780 | | - } |
781 | | - } |
782 | | - } |
783 | | - ] |
784 | | - } |
785 | | - } |
786 | | - ] |
| 888 | + "$ref": "#/definitions/commonOptions/softFail" |
787 | 889 | }, |
788 | 890 | "retry": { |
789 | 891 | "type": "object", |
|
0 commit comments