projen 0.79.4__py3-none-any.whl → 0.98.25__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- projen/__init__.py +1234 -86
- projen/_jsii/__init__.py +20 -2
- projen/_jsii/projen@0.98.25.jsii.tgz +0 -0
- projen/awscdk/__init__.py +1758 -230
- projen/build/__init__.py +290 -129
- projen/cdk/__init__.py +1030 -151
- projen/cdk8s/__init__.py +833 -109
- projen/cdktf/__init__.py +389 -50
- projen/circleci/__init__.py +35 -1
- projen/github/__init__.py +2224 -312
- projen/github/workflows/__init__.py +403 -17
- projen/gitlab/__init__.py +241 -8
- projen/java/__init__.py +471 -4
- projen/javascript/__init__.py +2276 -143
- projen/javascript/biome_config/__init__.py +5461 -0
- projen/python/__init__.py +3390 -1037
- projen/python/uv_config/__init__.py +3933 -0
- projen/release/__init__.py +1080 -138
- projen/typescript/__init__.py +992 -118
- projen/vscode/__init__.py +22 -1
- projen/web/__init__.py +1456 -163
- {projen-0.79.4.data → projen-0.98.25.data}/scripts/projen +1 -1
- {projen-0.79.4.dist-info → projen-0.98.25.dist-info}/METADATA +42 -41
- projen-0.98.25.dist-info/RECORD +28 -0
- {projen-0.79.4.dist-info → projen-0.98.25.dist-info}/WHEEL +1 -1
- projen/_jsii/projen@0.79.4.jsii.tgz +0 -0
- projen-0.79.4.dist-info/RECORD +0 -26
- {projen-0.79.4.dist-info → projen-0.98.25.dist-info}/LICENSE +0 -0
- {projen-0.79.4.dist-info → projen-0.98.25.dist-info}/top_level.txt +0 -0
projen/github/__init__.py
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
from pkgutil import extend_path
|
|
2
|
+
__path__ = extend_path(__path__, __name__)
|
|
3
|
+
|
|
1
4
|
import abc
|
|
2
5
|
import builtins
|
|
3
6
|
import datetime
|
|
@@ -8,7 +11,22 @@ import jsii
|
|
|
8
11
|
import publication
|
|
9
12
|
import typing_extensions
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
import typeguard
|
|
15
|
+
from importlib.metadata import version as _metadata_package_version
|
|
16
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
17
|
+
|
|
18
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
19
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
20
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
21
|
+
else:
|
|
22
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
23
|
+
pass
|
|
24
|
+
else:
|
|
25
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
26
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
27
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
28
|
+
else:
|
|
29
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
12
30
|
|
|
13
31
|
from .._jsii import *
|
|
14
32
|
|
|
@@ -19,6 +37,7 @@ from .. import (
|
|
|
19
37
|
Gitpod as _Gitpod_5d9b9d87,
|
|
20
38
|
GroupRunnerOptions as _GroupRunnerOptions_148c59c1,
|
|
21
39
|
IgnoreFileOptions as _IgnoreFileOptions_86c48b91,
|
|
40
|
+
JsonFile as _JsonFile_fa8164db,
|
|
22
41
|
LoggerOptions as _LoggerOptions_eb0f6309,
|
|
23
42
|
Project as _Project_57d89203,
|
|
24
43
|
ProjectOptions as _ProjectOptions_0d5b93c6,
|
|
@@ -269,7 +288,13 @@ class AutoMerge(
|
|
|
269
288
|
metaclass=jsii.JSIIMeta,
|
|
270
289
|
jsii_type="projen.github.AutoMerge",
|
|
271
290
|
):
|
|
272
|
-
'''(experimental)
|
|
291
|
+
'''(experimental) Automatically merge Pull Requests using Mergify.
|
|
292
|
+
|
|
293
|
+
.. epigraph::
|
|
294
|
+
|
|
295
|
+
[!NOTE]
|
|
296
|
+
GitHub now natively provides the same features, so you don't need Mergify
|
|
297
|
+
anymore. See ``GitHubOptions.mergeQueue`` and ``MergeQueueOptions.autoQueue``.
|
|
273
298
|
|
|
274
299
|
If ``buildJob`` is specified, the specified GitHub workflow job ID is required
|
|
275
300
|
to succeed in order for the PR to be merged.
|
|
@@ -277,6 +302,7 @@ class AutoMerge(
|
|
|
277
302
|
``approvedReviews`` specified the number of code review approvals required for
|
|
278
303
|
the PR to be merged.
|
|
279
304
|
|
|
305
|
+
:see: https://mergify.com/
|
|
280
306
|
:stability: experimental
|
|
281
307
|
'''
|
|
282
308
|
|
|
@@ -436,6 +462,219 @@ class AutoMergeOptions:
|
|
|
436
462
|
)
|
|
437
463
|
|
|
438
464
|
|
|
465
|
+
class AutoQueue(
|
|
466
|
+
_Component_2b0ad27f,
|
|
467
|
+
metaclass=jsii.JSIIMeta,
|
|
468
|
+
jsii_type="projen.github.AutoQueue",
|
|
469
|
+
):
|
|
470
|
+
'''(experimental) Automatically add pull requests to the merge queue PRs will be merged once they pass required checks.
|
|
471
|
+
|
|
472
|
+
:stability: experimental
|
|
473
|
+
'''
|
|
474
|
+
|
|
475
|
+
def __init__(
|
|
476
|
+
self,
|
|
477
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
478
|
+
*,
|
|
479
|
+
allowed_usernames: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
480
|
+
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
481
|
+
merge_method: typing.Optional["MergeMethod"] = None,
|
|
482
|
+
projen_credentials: typing.Optional["GithubCredentials"] = None,
|
|
483
|
+
runs_on: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
484
|
+
target_branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
485
|
+
) -> None:
|
|
486
|
+
'''
|
|
487
|
+
:param scope: -
|
|
488
|
+
:param allowed_usernames: (experimental) Only pull requests authored by these Github usernames will have auto-queue enabled. Default: - pull requests from all users are eligible for auto-queuing
|
|
489
|
+
:param labels: (experimental) Only pull requests with one of this labels will have auto-queue enabled. Default: - all pull requests are eligible for auto-queueing
|
|
490
|
+
:param merge_method: (experimental) The method used to add the PR to the merge queue Any branch protection rules must allow this merge method. Default: MergeMethod.SQUASH
|
|
491
|
+
:param projen_credentials: (experimental) Choose a method for authenticating with GitHub to enable auto-queue on pull requests. The workflow cannot use a default github token. Queuing a PR with the default token will not trigger any merge queue workflows, which results in the PR just not getting merged at all. Default: - uses credentials from the GitHub component
|
|
492
|
+
:param runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
|
|
493
|
+
:param target_branches: (experimental) The branch names that we should auto-queue for. This set of branches should be a subset of ``MergeQueueOptions.targetBranches``. Be sure not to enable ``autoQueue`` for branches that don't have branch rules with merge requirements set up, otherwise new PRs will be merged immediately after creating without a chance for review. Automatically merging a set of Stacked PRs If you set this to ``['main']`` you can automatically merge a set of Stacked PRs in the right order. It works like this: - Create PR #1 from branch ``a``, targeting ``main``. - Create PR #2 from branch ``b``, targeting branch ``a``. - Create PR #3 from branch ``c``, targeting branch ``b``. Initially, PR #1 will be set to auto-merge, PRs #2 and #3 will not. Once PR #1 passes all of its requirements it will merge. That will delete branch ``a`` and change the target branch of PR #2 change to ``main``. At that point, auto-queueing will switch on for PR #2 and it gets merged, etc. .. epigraph:: [!IMPORTANT] This component will never disable AutoMerge, only enable it. So if a PR is initially targeted at one of the branches in this list, and then subsequently retargeted to another branch, *AutoMerge is not automatically turned off*.
|
|
494
|
+
|
|
495
|
+
:stability: experimental
|
|
496
|
+
'''
|
|
497
|
+
if __debug__:
|
|
498
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d1a61bf6b1de263219ae71fb7c610ca1482abce41103e188b62ebe38e0314b58)
|
|
499
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
500
|
+
options = AutoQueueOptions(
|
|
501
|
+
allowed_usernames=allowed_usernames,
|
|
502
|
+
labels=labels,
|
|
503
|
+
merge_method=merge_method,
|
|
504
|
+
projen_credentials=projen_credentials,
|
|
505
|
+
runs_on=runs_on,
|
|
506
|
+
target_branches=target_branches,
|
|
507
|
+
)
|
|
508
|
+
|
|
509
|
+
jsii.create(self.__class__, self, [scope, options])
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
@jsii.data_type(
|
|
513
|
+
jsii_type="projen.github.AutoQueueOptions",
|
|
514
|
+
jsii_struct_bases=[],
|
|
515
|
+
name_mapping={
|
|
516
|
+
"allowed_usernames": "allowedUsernames",
|
|
517
|
+
"labels": "labels",
|
|
518
|
+
"merge_method": "mergeMethod",
|
|
519
|
+
"projen_credentials": "projenCredentials",
|
|
520
|
+
"runs_on": "runsOn",
|
|
521
|
+
"target_branches": "targetBranches",
|
|
522
|
+
},
|
|
523
|
+
)
|
|
524
|
+
class AutoQueueOptions:
|
|
525
|
+
def __init__(
|
|
526
|
+
self,
|
|
527
|
+
*,
|
|
528
|
+
allowed_usernames: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
529
|
+
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
530
|
+
merge_method: typing.Optional["MergeMethod"] = None,
|
|
531
|
+
projen_credentials: typing.Optional["GithubCredentials"] = None,
|
|
532
|
+
runs_on: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
533
|
+
target_branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
534
|
+
) -> None:
|
|
535
|
+
'''(experimental) Options for 'AutoQueue'.
|
|
536
|
+
|
|
537
|
+
:param allowed_usernames: (experimental) Only pull requests authored by these Github usernames will have auto-queue enabled. Default: - pull requests from all users are eligible for auto-queuing
|
|
538
|
+
:param labels: (experimental) Only pull requests with one of this labels will have auto-queue enabled. Default: - all pull requests are eligible for auto-queueing
|
|
539
|
+
:param merge_method: (experimental) The method used to add the PR to the merge queue Any branch protection rules must allow this merge method. Default: MergeMethod.SQUASH
|
|
540
|
+
:param projen_credentials: (experimental) Choose a method for authenticating with GitHub to enable auto-queue on pull requests. The workflow cannot use a default github token. Queuing a PR with the default token will not trigger any merge queue workflows, which results in the PR just not getting merged at all. Default: - uses credentials from the GitHub component
|
|
541
|
+
:param runs_on: (experimental) Github Runner selection labels. Default: ["ubuntu-latest"]
|
|
542
|
+
:param target_branches: (experimental) The branch names that we should auto-queue for. This set of branches should be a subset of ``MergeQueueOptions.targetBranches``. Be sure not to enable ``autoQueue`` for branches that don't have branch rules with merge requirements set up, otherwise new PRs will be merged immediately after creating without a chance for review. Automatically merging a set of Stacked PRs If you set this to ``['main']`` you can automatically merge a set of Stacked PRs in the right order. It works like this: - Create PR #1 from branch ``a``, targeting ``main``. - Create PR #2 from branch ``b``, targeting branch ``a``. - Create PR #3 from branch ``c``, targeting branch ``b``. Initially, PR #1 will be set to auto-merge, PRs #2 and #3 will not. Once PR #1 passes all of its requirements it will merge. That will delete branch ``a`` and change the target branch of PR #2 change to ``main``. At that point, auto-queueing will switch on for PR #2 and it gets merged, etc. .. epigraph:: [!IMPORTANT] This component will never disable AutoMerge, only enable it. So if a PR is initially targeted at one of the branches in this list, and then subsequently retargeted to another branch, *AutoMerge is not automatically turned off*.
|
|
543
|
+
|
|
544
|
+
:stability: experimental
|
|
545
|
+
'''
|
|
546
|
+
if __debug__:
|
|
547
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f138097d225158d553505a4839bf1c114c4a0e41bc55b7d24234176015382a5d)
|
|
548
|
+
check_type(argname="argument allowed_usernames", value=allowed_usernames, expected_type=type_hints["allowed_usernames"])
|
|
549
|
+
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
550
|
+
check_type(argname="argument merge_method", value=merge_method, expected_type=type_hints["merge_method"])
|
|
551
|
+
check_type(argname="argument projen_credentials", value=projen_credentials, expected_type=type_hints["projen_credentials"])
|
|
552
|
+
check_type(argname="argument runs_on", value=runs_on, expected_type=type_hints["runs_on"])
|
|
553
|
+
check_type(argname="argument target_branches", value=target_branches, expected_type=type_hints["target_branches"])
|
|
554
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
555
|
+
if allowed_usernames is not None:
|
|
556
|
+
self._values["allowed_usernames"] = allowed_usernames
|
|
557
|
+
if labels is not None:
|
|
558
|
+
self._values["labels"] = labels
|
|
559
|
+
if merge_method is not None:
|
|
560
|
+
self._values["merge_method"] = merge_method
|
|
561
|
+
if projen_credentials is not None:
|
|
562
|
+
self._values["projen_credentials"] = projen_credentials
|
|
563
|
+
if runs_on is not None:
|
|
564
|
+
self._values["runs_on"] = runs_on
|
|
565
|
+
if target_branches is not None:
|
|
566
|
+
self._values["target_branches"] = target_branches
|
|
567
|
+
|
|
568
|
+
@builtins.property
|
|
569
|
+
def allowed_usernames(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
570
|
+
'''(experimental) Only pull requests authored by these Github usernames will have auto-queue enabled.
|
|
571
|
+
|
|
572
|
+
:default: - pull requests from all users are eligible for auto-queuing
|
|
573
|
+
|
|
574
|
+
:stability: experimental
|
|
575
|
+
'''
|
|
576
|
+
result = self._values.get("allowed_usernames")
|
|
577
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
578
|
+
|
|
579
|
+
@builtins.property
|
|
580
|
+
def labels(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
581
|
+
'''(experimental) Only pull requests with one of this labels will have auto-queue enabled.
|
|
582
|
+
|
|
583
|
+
:default: - all pull requests are eligible for auto-queueing
|
|
584
|
+
|
|
585
|
+
:stability: experimental
|
|
586
|
+
'''
|
|
587
|
+
result = self._values.get("labels")
|
|
588
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
589
|
+
|
|
590
|
+
@builtins.property
|
|
591
|
+
def merge_method(self) -> typing.Optional["MergeMethod"]:
|
|
592
|
+
'''(experimental) The method used to add the PR to the merge queue Any branch protection rules must allow this merge method.
|
|
593
|
+
|
|
594
|
+
:default: MergeMethod.SQUASH
|
|
595
|
+
|
|
596
|
+
:stability: experimental
|
|
597
|
+
'''
|
|
598
|
+
result = self._values.get("merge_method")
|
|
599
|
+
return typing.cast(typing.Optional["MergeMethod"], result)
|
|
600
|
+
|
|
601
|
+
@builtins.property
|
|
602
|
+
def projen_credentials(self) -> typing.Optional["GithubCredentials"]:
|
|
603
|
+
'''(experimental) Choose a method for authenticating with GitHub to enable auto-queue on pull requests.
|
|
604
|
+
|
|
605
|
+
The workflow cannot use a default github token. Queuing a PR
|
|
606
|
+
with the default token will not trigger any merge queue workflows,
|
|
607
|
+
which results in the PR just not getting merged at all.
|
|
608
|
+
|
|
609
|
+
:default: - uses credentials from the GitHub component
|
|
610
|
+
|
|
611
|
+
:see: https://projen.io/docs/integrations/github/
|
|
612
|
+
:stability: experimental
|
|
613
|
+
'''
|
|
614
|
+
result = self._values.get("projen_credentials")
|
|
615
|
+
return typing.cast(typing.Optional["GithubCredentials"], result)
|
|
616
|
+
|
|
617
|
+
@builtins.property
|
|
618
|
+
def runs_on(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
619
|
+
'''(experimental) Github Runner selection labels.
|
|
620
|
+
|
|
621
|
+
:default: ["ubuntu-latest"]
|
|
622
|
+
|
|
623
|
+
:stability: experimental
|
|
624
|
+
'''
|
|
625
|
+
result = self._values.get("runs_on")
|
|
626
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
627
|
+
|
|
628
|
+
@builtins.property
|
|
629
|
+
def target_branches(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
630
|
+
'''(experimental) The branch names that we should auto-queue for.
|
|
631
|
+
|
|
632
|
+
This set of branches should be a subset of ``MergeQueueOptions.targetBranches``.
|
|
633
|
+
|
|
634
|
+
Be sure not to enable ``autoQueue`` for branches that don't have branch rules
|
|
635
|
+
with merge requirements set up, otherwise new PRs will be merged
|
|
636
|
+
immediately after creating without a chance for review.
|
|
637
|
+
|
|
638
|
+
|
|
639
|
+
Automatically merging a set of Stacked PRs
|
|
640
|
+
|
|
641
|
+
If you set this to ``['main']`` you can automatically merge a set of Stacked PRs
|
|
642
|
+
in the right order. It works like this:
|
|
643
|
+
|
|
644
|
+
- Create PR #1 from branch ``a``, targeting ``main``.
|
|
645
|
+
- Create PR #2 from branch ``b``, targeting branch ``a``.
|
|
646
|
+
- Create PR #3 from branch ``c``, targeting branch ``b``.
|
|
647
|
+
|
|
648
|
+
Initially, PR #1 will be set to auto-merge, PRs #2 and #3 will not.
|
|
649
|
+
|
|
650
|
+
Once PR #1 passes all of its requirements it will merge. That will delete
|
|
651
|
+
branch ``a`` and change the target branch of PR #2 change to ``main``. At that
|
|
652
|
+
point, auto-queueing will switch on for PR #2 and it gets merged, etc.
|
|
653
|
+
.. epigraph::
|
|
654
|
+
|
|
655
|
+
[!IMPORTANT]
|
|
656
|
+
This component will never disable AutoMerge, only enable it. So if a PR is
|
|
657
|
+
initially targeted at one of the branches in this list, and then
|
|
658
|
+
subsequently retargeted to another branch, *AutoMerge is not
|
|
659
|
+
automatically turned off*.
|
|
660
|
+
|
|
661
|
+
:stability: experimental
|
|
662
|
+
'''
|
|
663
|
+
result = self._values.get("target_branches")
|
|
664
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
665
|
+
|
|
666
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
667
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
668
|
+
|
|
669
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
670
|
+
return not (rhs == self)
|
|
671
|
+
|
|
672
|
+
def __repr__(self) -> str:
|
|
673
|
+
return "AutoQueueOptions(%s)" % ", ".join(
|
|
674
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
675
|
+
)
|
|
676
|
+
|
|
677
|
+
|
|
439
678
|
@jsii.data_type(
|
|
440
679
|
jsii_type="projen.github.CheckoutOptions",
|
|
441
680
|
jsii_struct_bases=[_JobStepConfiguration_9caff420],
|
|
@@ -444,6 +683,7 @@ class AutoMergeOptions:
|
|
|
444
683
|
"id": "id",
|
|
445
684
|
"if_": "if",
|
|
446
685
|
"name": "name",
|
|
686
|
+
"shell": "shell",
|
|
447
687
|
"working_directory": "workingDirectory",
|
|
448
688
|
"continue_on_error": "continueOnError",
|
|
449
689
|
"timeout_minutes": "timeoutMinutes",
|
|
@@ -458,6 +698,7 @@ class CheckoutOptions(_JobStepConfiguration_9caff420):
|
|
|
458
698
|
id: typing.Optional[builtins.str] = None,
|
|
459
699
|
if_: typing.Optional[builtins.str] = None,
|
|
460
700
|
name: typing.Optional[builtins.str] = None,
|
|
701
|
+
shell: typing.Optional[builtins.str] = None,
|
|
461
702
|
working_directory: typing.Optional[builtins.str] = None,
|
|
462
703
|
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
463
704
|
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
@@ -468,6 +709,7 @@ class CheckoutOptions(_JobStepConfiguration_9caff420):
|
|
|
468
709
|
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
469
710
|
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
470
711
|
:param name: (experimental) A name for your step to display on GitHub.
|
|
712
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
471
713
|
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
472
714
|
:param continue_on_error: (experimental) Prevents a job from failing when a step fails. Set to true to allow a job to pass when this step fails.
|
|
473
715
|
:param timeout_minutes: (experimental) The maximum number of minutes to run the step before killing the process.
|
|
@@ -483,6 +725,7 @@ class CheckoutOptions(_JobStepConfiguration_9caff420):
|
|
|
483
725
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
484
726
|
check_type(argname="argument if_", value=if_, expected_type=type_hints["if_"])
|
|
485
727
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
728
|
+
check_type(argname="argument shell", value=shell, expected_type=type_hints["shell"])
|
|
486
729
|
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
487
730
|
check_type(argname="argument continue_on_error", value=continue_on_error, expected_type=type_hints["continue_on_error"])
|
|
488
731
|
check_type(argname="argument timeout_minutes", value=timeout_minutes, expected_type=type_hints["timeout_minutes"])
|
|
@@ -496,6 +739,8 @@ class CheckoutOptions(_JobStepConfiguration_9caff420):
|
|
|
496
739
|
self._values["if_"] = if_
|
|
497
740
|
if name is not None:
|
|
498
741
|
self._values["name"] = name
|
|
742
|
+
if shell is not None:
|
|
743
|
+
self._values["shell"] = shell
|
|
499
744
|
if working_directory is not None:
|
|
500
745
|
self._values["working_directory"] = working_directory
|
|
501
746
|
if continue_on_error is not None:
|
|
@@ -549,6 +794,18 @@ class CheckoutOptions(_JobStepConfiguration_9caff420):
|
|
|
549
794
|
result = self._values.get("name")
|
|
550
795
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
551
796
|
|
|
797
|
+
@builtins.property
|
|
798
|
+
def shell(self) -> typing.Optional[builtins.str]:
|
|
799
|
+
'''(experimental) Overrides the default shell settings in the runner's operating system and the job's default.
|
|
800
|
+
|
|
801
|
+
Refer to GitHub documentation for allowed values.
|
|
802
|
+
|
|
803
|
+
:see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
|
|
804
|
+
:stability: experimental
|
|
805
|
+
'''
|
|
806
|
+
result = self._values.get("shell")
|
|
807
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
808
|
+
|
|
552
809
|
@builtins.property
|
|
553
810
|
def working_directory(self) -> typing.Optional[builtins.str]:
|
|
554
811
|
'''(experimental) Specifies a working directory for a step.
|
|
@@ -608,6 +865,7 @@ class CheckoutOptions(_JobStepConfiguration_9caff420):
|
|
|
608
865
|
name_mapping={
|
|
609
866
|
"fetch_depth": "fetchDepth",
|
|
610
867
|
"lfs": "lfs",
|
|
868
|
+
"path": "path",
|
|
611
869
|
"ref": "ref",
|
|
612
870
|
"repository": "repository",
|
|
613
871
|
"token": "token",
|
|
@@ -619,6 +877,7 @@ class CheckoutWith:
|
|
|
619
877
|
*,
|
|
620
878
|
fetch_depth: typing.Optional[jsii.Number] = None,
|
|
621
879
|
lfs: typing.Optional[builtins.bool] = None,
|
|
880
|
+
path: typing.Optional[builtins.str] = None,
|
|
622
881
|
ref: typing.Optional[builtins.str] = None,
|
|
623
882
|
repository: typing.Optional[builtins.str] = None,
|
|
624
883
|
token: typing.Optional[builtins.str] = None,
|
|
@@ -627,6 +886,7 @@ class CheckoutWith:
|
|
|
627
886
|
|
|
628
887
|
:param fetch_depth: (experimental) Number of commits to fetch. 0 indicates all history for all branches and tags. Default: 1
|
|
629
888
|
:param lfs: (experimental) Whether LFS is enabled for the GitHub repository. Default: false
|
|
889
|
+
:param path: (experimental) Relative path under $GITHUB_WORKSPACE to place the repository. Default: - $GITHUB_WORKSPACE
|
|
630
890
|
:param ref: (experimental) Branch or tag name. Default: - the default branch is implicitly used
|
|
631
891
|
:param repository: (experimental) The repository (owner/repo) to use. Default: - the default repository is implicitly used
|
|
632
892
|
:param token: (experimental) A GitHub token to use when checking out the repository. If the intent is to push changes back to the branch, then you must use a PAT with ``repo`` (and possibly ``workflows``) permissions. Default: - the default GITHUB_TOKEN is implicitly used
|
|
@@ -637,6 +897,7 @@ class CheckoutWith:
|
|
|
637
897
|
type_hints = typing.get_type_hints(_typecheckingstub__57379070911f0df36ef38a23c138780de73f270c4e64ea8e6b7f4f128eb8ac6a)
|
|
638
898
|
check_type(argname="argument fetch_depth", value=fetch_depth, expected_type=type_hints["fetch_depth"])
|
|
639
899
|
check_type(argname="argument lfs", value=lfs, expected_type=type_hints["lfs"])
|
|
900
|
+
check_type(argname="argument path", value=path, expected_type=type_hints["path"])
|
|
640
901
|
check_type(argname="argument ref", value=ref, expected_type=type_hints["ref"])
|
|
641
902
|
check_type(argname="argument repository", value=repository, expected_type=type_hints["repository"])
|
|
642
903
|
check_type(argname="argument token", value=token, expected_type=type_hints["token"])
|
|
@@ -645,6 +906,8 @@ class CheckoutWith:
|
|
|
645
906
|
self._values["fetch_depth"] = fetch_depth
|
|
646
907
|
if lfs is not None:
|
|
647
908
|
self._values["lfs"] = lfs
|
|
909
|
+
if path is not None:
|
|
910
|
+
self._values["path"] = path
|
|
648
911
|
if ref is not None:
|
|
649
912
|
self._values["ref"] = ref
|
|
650
913
|
if repository is not None:
|
|
@@ -676,6 +939,17 @@ class CheckoutWith:
|
|
|
676
939
|
result = self._values.get("lfs")
|
|
677
940
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
678
941
|
|
|
942
|
+
@builtins.property
|
|
943
|
+
def path(self) -> typing.Optional[builtins.str]:
|
|
944
|
+
'''(experimental) Relative path under $GITHUB_WORKSPACE to place the repository.
|
|
945
|
+
|
|
946
|
+
:default: - $GITHUB_WORKSPACE
|
|
947
|
+
|
|
948
|
+
:stability: experimental
|
|
949
|
+
'''
|
|
950
|
+
result = self._values.get("path")
|
|
951
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
952
|
+
|
|
679
953
|
@builtins.property
|
|
680
954
|
def ref(self) -> typing.Optional[builtins.str]:
|
|
681
955
|
'''(experimental) Branch or tag name.
|
|
@@ -730,6 +1004,7 @@ class CheckoutWith:
|
|
|
730
1004
|
name_mapping={
|
|
731
1005
|
"fetch_depth": "fetchDepth",
|
|
732
1006
|
"lfs": "lfs",
|
|
1007
|
+
"path": "path",
|
|
733
1008
|
"ref": "ref",
|
|
734
1009
|
"repository": "repository",
|
|
735
1010
|
"token": "token",
|
|
@@ -742,6 +1017,7 @@ class CheckoutWithPatchOptions(CheckoutWith):
|
|
|
742
1017
|
*,
|
|
743
1018
|
fetch_depth: typing.Optional[jsii.Number] = None,
|
|
744
1019
|
lfs: typing.Optional[builtins.bool] = None,
|
|
1020
|
+
path: typing.Optional[builtins.str] = None,
|
|
745
1021
|
ref: typing.Optional[builtins.str] = None,
|
|
746
1022
|
repository: typing.Optional[builtins.str] = None,
|
|
747
1023
|
token: typing.Optional[builtins.str] = None,
|
|
@@ -751,6 +1027,7 @@ class CheckoutWithPatchOptions(CheckoutWith):
|
|
|
751
1027
|
|
|
752
1028
|
:param fetch_depth: (experimental) Number of commits to fetch. 0 indicates all history for all branches and tags. Default: 1
|
|
753
1029
|
:param lfs: (experimental) Whether LFS is enabled for the GitHub repository. Default: false
|
|
1030
|
+
:param path: (experimental) Relative path under $GITHUB_WORKSPACE to place the repository. Default: - $GITHUB_WORKSPACE
|
|
754
1031
|
:param ref: (experimental) Branch or tag name. Default: - the default branch is implicitly used
|
|
755
1032
|
:param repository: (experimental) The repository (owner/repo) to use. Default: - the default repository is implicitly used
|
|
756
1033
|
:param token: (experimental) A GitHub token to use when checking out the repository. If the intent is to push changes back to the branch, then you must use a PAT with ``repo`` (and possibly ``workflows``) permissions. Default: - the default GITHUB_TOKEN is implicitly used
|
|
@@ -762,6 +1039,7 @@ class CheckoutWithPatchOptions(CheckoutWith):
|
|
|
762
1039
|
type_hints = typing.get_type_hints(_typecheckingstub__c7405ea05e49b1f743e00dc103618fbd659c979bbec234492b8928ed6cf37e9b)
|
|
763
1040
|
check_type(argname="argument fetch_depth", value=fetch_depth, expected_type=type_hints["fetch_depth"])
|
|
764
1041
|
check_type(argname="argument lfs", value=lfs, expected_type=type_hints["lfs"])
|
|
1042
|
+
check_type(argname="argument path", value=path, expected_type=type_hints["path"])
|
|
765
1043
|
check_type(argname="argument ref", value=ref, expected_type=type_hints["ref"])
|
|
766
1044
|
check_type(argname="argument repository", value=repository, expected_type=type_hints["repository"])
|
|
767
1045
|
check_type(argname="argument token", value=token, expected_type=type_hints["token"])
|
|
@@ -771,6 +1049,8 @@ class CheckoutWithPatchOptions(CheckoutWith):
|
|
|
771
1049
|
self._values["fetch_depth"] = fetch_depth
|
|
772
1050
|
if lfs is not None:
|
|
773
1051
|
self._values["lfs"] = lfs
|
|
1052
|
+
if path is not None:
|
|
1053
|
+
self._values["path"] = path
|
|
774
1054
|
if ref is not None:
|
|
775
1055
|
self._values["ref"] = ref
|
|
776
1056
|
if repository is not None:
|
|
@@ -804,6 +1084,17 @@ class CheckoutWithPatchOptions(CheckoutWith):
|
|
|
804
1084
|
result = self._values.get("lfs")
|
|
805
1085
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
806
1086
|
|
|
1087
|
+
@builtins.property
|
|
1088
|
+
def path(self) -> typing.Optional[builtins.str]:
|
|
1089
|
+
'''(experimental) Relative path under $GITHUB_WORKSPACE to place the repository.
|
|
1090
|
+
|
|
1091
|
+
:default: - $GITHUB_WORKSPACE
|
|
1092
|
+
|
|
1093
|
+
:stability: experimental
|
|
1094
|
+
'''
|
|
1095
|
+
result = self._values.get("path")
|
|
1096
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1097
|
+
|
|
807
1098
|
@builtins.property
|
|
808
1099
|
def ref(self) -> typing.Optional[builtins.str]:
|
|
809
1100
|
'''(experimental) Branch or tag name.
|
|
@@ -863,6 +1154,73 @@ class CheckoutWithPatchOptions(CheckoutWith):
|
|
|
863
1154
|
)
|
|
864
1155
|
|
|
865
1156
|
|
|
1157
|
+
@jsii.data_type(
|
|
1158
|
+
jsii_type="projen.github.ConcurrencyOptions",
|
|
1159
|
+
jsii_struct_bases=[],
|
|
1160
|
+
name_mapping={"cancel_in_progress": "cancelInProgress", "group": "group"},
|
|
1161
|
+
)
|
|
1162
|
+
class ConcurrencyOptions:
|
|
1163
|
+
def __init__(
|
|
1164
|
+
self,
|
|
1165
|
+
*,
|
|
1166
|
+
cancel_in_progress: typing.Optional[builtins.bool] = None,
|
|
1167
|
+
group: typing.Optional[builtins.str] = None,
|
|
1168
|
+
) -> None:
|
|
1169
|
+
'''(experimental) Options for ``concurrency``.
|
|
1170
|
+
|
|
1171
|
+
:param cancel_in_progress: (experimental) When a workflow is triggered while another one (in the same group) is running, should GitHub cancel the running workflow? Default: false
|
|
1172
|
+
:param group: (experimental) Concurrency group controls which workflow runs will share the same concurrency limit. For example, if you specify ``${{ github.workflow }}-${{ github.ref }}``, workflow runs triggered on the same branch cannot run concurrenty, but workflows runs triggered on different branches can. Default: - ${{ github.workflow }}
|
|
1173
|
+
|
|
1174
|
+
:stability: experimental
|
|
1175
|
+
'''
|
|
1176
|
+
if __debug__:
|
|
1177
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c4114f6f3330f94beb00dba1183281a663b31179a714c1f1412277b784153015)
|
|
1178
|
+
check_type(argname="argument cancel_in_progress", value=cancel_in_progress, expected_type=type_hints["cancel_in_progress"])
|
|
1179
|
+
check_type(argname="argument group", value=group, expected_type=type_hints["group"])
|
|
1180
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1181
|
+
if cancel_in_progress is not None:
|
|
1182
|
+
self._values["cancel_in_progress"] = cancel_in_progress
|
|
1183
|
+
if group is not None:
|
|
1184
|
+
self._values["group"] = group
|
|
1185
|
+
|
|
1186
|
+
@builtins.property
|
|
1187
|
+
def cancel_in_progress(self) -> typing.Optional[builtins.bool]:
|
|
1188
|
+
'''(experimental) When a workflow is triggered while another one (in the same group) is running, should GitHub cancel the running workflow?
|
|
1189
|
+
|
|
1190
|
+
:default: false
|
|
1191
|
+
|
|
1192
|
+
:stability: experimental
|
|
1193
|
+
'''
|
|
1194
|
+
result = self._values.get("cancel_in_progress")
|
|
1195
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1196
|
+
|
|
1197
|
+
@builtins.property
|
|
1198
|
+
def group(self) -> typing.Optional[builtins.str]:
|
|
1199
|
+
'''(experimental) Concurrency group controls which workflow runs will share the same concurrency limit.
|
|
1200
|
+
|
|
1201
|
+
For example, if you specify ``${{ github.workflow }}-${{ github.ref }}``, workflow runs triggered
|
|
1202
|
+
on the same branch cannot run concurrenty, but workflows runs triggered on different branches can.
|
|
1203
|
+
|
|
1204
|
+
:default: - ${{ github.workflow }}
|
|
1205
|
+
|
|
1206
|
+
:see: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/using-concurrency#example-concurrency-groups
|
|
1207
|
+
:stability: experimental
|
|
1208
|
+
'''
|
|
1209
|
+
result = self._values.get("group")
|
|
1210
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1211
|
+
|
|
1212
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1213
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1214
|
+
|
|
1215
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1216
|
+
return not (rhs == self)
|
|
1217
|
+
|
|
1218
|
+
def __repr__(self) -> str:
|
|
1219
|
+
return "ConcurrencyOptions(%s)" % ", ".join(
|
|
1220
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1221
|
+
)
|
|
1222
|
+
|
|
1223
|
+
|
|
866
1224
|
@jsii.data_type(
|
|
867
1225
|
jsii_type="projen.github.ContributorStatementOptions",
|
|
868
1226
|
jsii_struct_bases=[],
|
|
@@ -969,7 +1327,7 @@ class CreatePullRequestOptions:
|
|
|
969
1327
|
:param base_branch: (experimental) Sets the pull request base branch. Default: - The branch checked out in the workflow.
|
|
970
1328
|
:param branch_name: (experimental) The pull request branch name. Default: ``github-actions/${options.workflowName}``
|
|
971
1329
|
:param credentials: (experimental) The job credentials used to create the pull request. Provided credentials must have permissions to create a pull request on the repository.
|
|
972
|
-
:param git_identity: (experimental) The git identity used to create the commit. Default: -
|
|
1330
|
+
:param git_identity: (experimental) The git identity used to create the commit. Default: - default GitHub Actions user
|
|
973
1331
|
:param labels: (experimental) Labels to apply on the PR. Default: - no labels.
|
|
974
1332
|
:param signoff: (experimental) Add Signed-off-by line by the committer at the end of the commit log message. Default: true
|
|
975
1333
|
:param step_id: (experimental) The step ID which produces the output which indicates if a patch was created. Default: "create_pr"
|
|
@@ -1099,7 +1457,7 @@ class CreatePullRequestOptions:
|
|
|
1099
1457
|
def git_identity(self) -> typing.Optional["GitIdentity"]:
|
|
1100
1458
|
'''(experimental) The git identity used to create the commit.
|
|
1101
1459
|
|
|
1102
|
-
:default: -
|
|
1460
|
+
:default: - default GitHub Actions user
|
|
1103
1461
|
|
|
1104
1462
|
:stability: experimental
|
|
1105
1463
|
'''
|
|
@@ -1190,6 +1548,7 @@ class Dependabot(
|
|
|
1190
1548
|
registries: typing.Optional[typing.Mapping[builtins.str, typing.Union["DependabotRegistry", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1191
1549
|
reviewers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1192
1550
|
schedule_interval: typing.Optional["DependabotScheduleInterval"] = None,
|
|
1551
|
+
target_branch: typing.Optional[builtins.str] = None,
|
|
1193
1552
|
versioning_strategy: typing.Optional["VersioningStrategy"] = None,
|
|
1194
1553
|
) -> None:
|
|
1195
1554
|
'''
|
|
@@ -1204,6 +1563,7 @@ class Dependabot(
|
|
|
1204
1563
|
:param registries: (experimental) Map of package registries to use. Default: - use public registries
|
|
1205
1564
|
:param reviewers: (experimental) Specify individual reviewers or teams of reviewers for all pull requests raised for a package manager. Default: []
|
|
1206
1565
|
:param schedule_interval: (experimental) How often to check for new versions and raise pull requests. Default: ScheduleInterval.DAILY
|
|
1566
|
+
:param target_branch: (experimental) https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#target-branch You can configure the target branch for raising pull requests for version updates against.
|
|
1207
1567
|
:param versioning_strategy: (experimental) The strategy to use when edits manifest and lock files. Default: VersioningStrategy.LOCKFILE_ONLY The default is to only update the lock file because package.json is controlled by projen and any outside updates will fail the build.
|
|
1208
1568
|
|
|
1209
1569
|
:stability: experimental
|
|
@@ -1222,6 +1582,7 @@ class Dependabot(
|
|
|
1222
1582
|
registries=registries,
|
|
1223
1583
|
reviewers=reviewers,
|
|
1224
1584
|
schedule_interval=schedule_interval,
|
|
1585
|
+
target_branch=target_branch,
|
|
1225
1586
|
versioning_strategy=versioning_strategy,
|
|
1226
1587
|
)
|
|
1227
1588
|
|
|
@@ -1329,31 +1690,53 @@ class DependabotAllow:
|
|
|
1329
1690
|
@jsii.data_type(
|
|
1330
1691
|
jsii_type="projen.github.DependabotGroup",
|
|
1331
1692
|
jsii_struct_bases=[],
|
|
1332
|
-
name_mapping={
|
|
1693
|
+
name_mapping={
|
|
1694
|
+
"patterns": "patterns",
|
|
1695
|
+
"applies_to": "appliesTo",
|
|
1696
|
+
"dependency_type": "dependencyType",
|
|
1697
|
+
"exclude_patterns": "excludePatterns",
|
|
1698
|
+
"update_types": "updateTypes",
|
|
1699
|
+
},
|
|
1333
1700
|
)
|
|
1334
1701
|
class DependabotGroup:
|
|
1335
1702
|
def __init__(
|
|
1336
1703
|
self,
|
|
1337
1704
|
*,
|
|
1338
1705
|
patterns: typing.Sequence[builtins.str],
|
|
1706
|
+
applies_to: typing.Optional["DependabotGroupAppliesTo"] = None,
|
|
1707
|
+
dependency_type: typing.Optional["DependabotGroupDependencyType"] = None,
|
|
1339
1708
|
exclude_patterns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1709
|
+
update_types: typing.Optional[typing.Sequence["DependabotGroupUpdateType"]] = None,
|
|
1340
1710
|
) -> None:
|
|
1341
1711
|
'''(experimental) Defines a single group for dependency updates.
|
|
1342
1712
|
|
|
1343
1713
|
:param patterns: (experimental) Define a list of strings (with or without wildcards) that will match package names to form this dependency group.
|
|
1714
|
+
:param applies_to: (experimental) Specify which type of update the group applies to. Default: - version updates
|
|
1715
|
+
:param dependency_type: (experimental) Limit the group to a type of dependency. Default: - all types of dependencies
|
|
1344
1716
|
:param exclude_patterns: (experimental) Optionally you can use this to exclude certain dependencies from the group.
|
|
1717
|
+
:param update_types: (experimental) Limit the group to one or more semantic versioning levels. If specified, must contain at least one element and elements must be unique. Default: - all semantic versioning levels
|
|
1345
1718
|
|
|
1719
|
+
:see: https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#groups--
|
|
1346
1720
|
:stability: experimental
|
|
1347
1721
|
'''
|
|
1348
1722
|
if __debug__:
|
|
1349
1723
|
type_hints = typing.get_type_hints(_typecheckingstub__97650f1e1a170d34a5bd50211445090d04d890ec494749c1eb3f5a1fabbec7d4)
|
|
1350
1724
|
check_type(argname="argument patterns", value=patterns, expected_type=type_hints["patterns"])
|
|
1725
|
+
check_type(argname="argument applies_to", value=applies_to, expected_type=type_hints["applies_to"])
|
|
1726
|
+
check_type(argname="argument dependency_type", value=dependency_type, expected_type=type_hints["dependency_type"])
|
|
1351
1727
|
check_type(argname="argument exclude_patterns", value=exclude_patterns, expected_type=type_hints["exclude_patterns"])
|
|
1728
|
+
check_type(argname="argument update_types", value=update_types, expected_type=type_hints["update_types"])
|
|
1352
1729
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1353
1730
|
"patterns": patterns,
|
|
1354
1731
|
}
|
|
1732
|
+
if applies_to is not None:
|
|
1733
|
+
self._values["applies_to"] = applies_to
|
|
1734
|
+
if dependency_type is not None:
|
|
1735
|
+
self._values["dependency_type"] = dependency_type
|
|
1355
1736
|
if exclude_patterns is not None:
|
|
1356
1737
|
self._values["exclude_patterns"] = exclude_patterns
|
|
1738
|
+
if update_types is not None:
|
|
1739
|
+
self._values["update_types"] = update_types
|
|
1357
1740
|
|
|
1358
1741
|
@builtins.property
|
|
1359
1742
|
def patterns(self) -> typing.List[builtins.str]:
|
|
@@ -1365,6 +1748,29 @@ class DependabotGroup:
|
|
|
1365
1748
|
assert result is not None, "Required property 'patterns' is missing"
|
|
1366
1749
|
return typing.cast(typing.List[builtins.str], result)
|
|
1367
1750
|
|
|
1751
|
+
@builtins.property
|
|
1752
|
+
def applies_to(self) -> typing.Optional["DependabotGroupAppliesTo"]:
|
|
1753
|
+
'''(experimental) Specify which type of update the group applies to.
|
|
1754
|
+
|
|
1755
|
+
:default: - version updates
|
|
1756
|
+
|
|
1757
|
+
:stability: experimental
|
|
1758
|
+
'''
|
|
1759
|
+
result = self._values.get("applies_to")
|
|
1760
|
+
return typing.cast(typing.Optional["DependabotGroupAppliesTo"], result)
|
|
1761
|
+
|
|
1762
|
+
@builtins.property
|
|
1763
|
+
def dependency_type(self) -> typing.Optional["DependabotGroupDependencyType"]:
|
|
1764
|
+
'''(experimental) Limit the group to a type of dependency.
|
|
1765
|
+
|
|
1766
|
+
:default: - all types of dependencies
|
|
1767
|
+
|
|
1768
|
+
:see: https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#dependency-type-groups
|
|
1769
|
+
:stability: experimental
|
|
1770
|
+
'''
|
|
1771
|
+
result = self._values.get("dependency_type")
|
|
1772
|
+
return typing.cast(typing.Optional["DependabotGroupDependencyType"], result)
|
|
1773
|
+
|
|
1368
1774
|
@builtins.property
|
|
1369
1775
|
def exclude_patterns(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
1370
1776
|
'''(experimental) Optionally you can use this to exclude certain dependencies from the group.
|
|
@@ -1374,6 +1780,20 @@ class DependabotGroup:
|
|
|
1374
1780
|
result = self._values.get("exclude_patterns")
|
|
1375
1781
|
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
1376
1782
|
|
|
1783
|
+
@builtins.property
|
|
1784
|
+
def update_types(self) -> typing.Optional[typing.List["DependabotGroupUpdateType"]]:
|
|
1785
|
+
'''(experimental) Limit the group to one or more semantic versioning levels.
|
|
1786
|
+
|
|
1787
|
+
If specified, must contain at least one element and elements must be unique.
|
|
1788
|
+
|
|
1789
|
+
:default: - all semantic versioning levels
|
|
1790
|
+
|
|
1791
|
+
:see: https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#update-types-groups
|
|
1792
|
+
:stability: experimental
|
|
1793
|
+
'''
|
|
1794
|
+
result = self._values.get("update_types")
|
|
1795
|
+
return typing.cast(typing.Optional[typing.List["DependabotGroupUpdateType"]], result)
|
|
1796
|
+
|
|
1377
1797
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1378
1798
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1379
1799
|
|
|
@@ -1386,26 +1806,88 @@ class DependabotGroup:
|
|
|
1386
1806
|
)
|
|
1387
1807
|
|
|
1388
1808
|
|
|
1389
|
-
@jsii.
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
name_mapping={"dependency_name": "dependencyName", "versions": "versions"},
|
|
1393
|
-
)
|
|
1394
|
-
class DependabotIgnore:
|
|
1395
|
-
def __init__(
|
|
1396
|
-
self,
|
|
1397
|
-
*,
|
|
1398
|
-
dependency_name: builtins.str,
|
|
1399
|
-
versions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1400
|
-
) -> None:
|
|
1401
|
-
'''(experimental) You can use the ``ignore`` option to customize which dependencies are updated.
|
|
1809
|
+
@jsii.enum(jsii_type="projen.github.DependabotGroupAppliesTo")
|
|
1810
|
+
class DependabotGroupAppliesTo(enum.Enum):
|
|
1811
|
+
'''(experimental) The type of update a group applies to.
|
|
1402
1812
|
|
|
1403
|
-
|
|
1813
|
+
:stability: experimental
|
|
1814
|
+
'''
|
|
1404
1815
|
|
|
1405
|
-
|
|
1406
|
-
|
|
1816
|
+
VERSION_UPDATES = "VERSION_UPDATES"
|
|
1817
|
+
'''(experimental) Apply only to version updates.
|
|
1407
1818
|
|
|
1408
|
-
|
|
1819
|
+
:stability: experimental
|
|
1820
|
+
'''
|
|
1821
|
+
SECURITY_UPDATES = "SECURITY_UPDATES"
|
|
1822
|
+
'''(experimental) Apply only to security updates.
|
|
1823
|
+
|
|
1824
|
+
:stability: experimental
|
|
1825
|
+
'''
|
|
1826
|
+
|
|
1827
|
+
|
|
1828
|
+
@jsii.enum(jsii_type="projen.github.DependabotGroupDependencyType")
|
|
1829
|
+
class DependabotGroupDependencyType(enum.Enum):
|
|
1830
|
+
'''(experimental) The type of dependency a group may be limited to.
|
|
1831
|
+
|
|
1832
|
+
:stability: experimental
|
|
1833
|
+
'''
|
|
1834
|
+
|
|
1835
|
+
DEVELOPMENT = "DEVELOPMENT"
|
|
1836
|
+
'''(experimental) Include only dependencies in the "Development dependency group".
|
|
1837
|
+
|
|
1838
|
+
:stability: experimental
|
|
1839
|
+
'''
|
|
1840
|
+
PRODUCTION = "PRODUCTION"
|
|
1841
|
+
'''(experimental) Include only dependencies in the "Production dependency group".
|
|
1842
|
+
|
|
1843
|
+
:stability: experimental
|
|
1844
|
+
'''
|
|
1845
|
+
|
|
1846
|
+
|
|
1847
|
+
@jsii.enum(jsii_type="projen.github.DependabotGroupUpdateType")
|
|
1848
|
+
class DependabotGroupUpdateType(enum.Enum):
|
|
1849
|
+
'''(experimental) The semantic versioning levels a group may be limited to.
|
|
1850
|
+
|
|
1851
|
+
:stability: experimental
|
|
1852
|
+
'''
|
|
1853
|
+
|
|
1854
|
+
MAJOR = "MAJOR"
|
|
1855
|
+
'''(experimental) Include major releases.
|
|
1856
|
+
|
|
1857
|
+
:stability: experimental
|
|
1858
|
+
'''
|
|
1859
|
+
MINOR = "MINOR"
|
|
1860
|
+
'''(experimental) Include minor releases.
|
|
1861
|
+
|
|
1862
|
+
:stability: experimental
|
|
1863
|
+
'''
|
|
1864
|
+
PATCH = "PATCH"
|
|
1865
|
+
'''(experimental) Include patch releases.
|
|
1866
|
+
|
|
1867
|
+
:stability: experimental
|
|
1868
|
+
'''
|
|
1869
|
+
|
|
1870
|
+
|
|
1871
|
+
@jsii.data_type(
|
|
1872
|
+
jsii_type="projen.github.DependabotIgnore",
|
|
1873
|
+
jsii_struct_bases=[],
|
|
1874
|
+
name_mapping={"dependency_name": "dependencyName", "versions": "versions"},
|
|
1875
|
+
)
|
|
1876
|
+
class DependabotIgnore:
|
|
1877
|
+
def __init__(
|
|
1878
|
+
self,
|
|
1879
|
+
*,
|
|
1880
|
+
dependency_name: builtins.str,
|
|
1881
|
+
versions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1882
|
+
) -> None:
|
|
1883
|
+
'''(experimental) You can use the ``ignore`` option to customize which dependencies are updated.
|
|
1884
|
+
|
|
1885
|
+
The ignore option supports the following options.
|
|
1886
|
+
|
|
1887
|
+
:param dependency_name: (experimental) Use to ignore updates for dependencies with matching names, optionally using ``*`` to match zero or more characters. For Java dependencies, the format of the dependency-name attribute is: ``groupId:artifactId``, for example: ``org.kohsuke:github-api``.
|
|
1888
|
+
:param versions: (experimental) Use to ignore specific versions or ranges of versions. If you want to define a range, use the standard pattern for the package manager (for example: ``^1.0.0`` for npm, or ``~> 2.0`` for Bundler).
|
|
1889
|
+
|
|
1890
|
+
:stability: experimental
|
|
1409
1891
|
'''
|
|
1410
1892
|
if __debug__:
|
|
1411
1893
|
type_hints = typing.get_type_hints(_typecheckingstub__e56f402ddf44883464ec12efeaccc97a7e042d533028c01db1fcda57dd3859c8)
|
|
@@ -1469,6 +1951,7 @@ class DependabotIgnore:
|
|
|
1469
1951
|
"registries": "registries",
|
|
1470
1952
|
"reviewers": "reviewers",
|
|
1471
1953
|
"schedule_interval": "scheduleInterval",
|
|
1954
|
+
"target_branch": "targetBranch",
|
|
1472
1955
|
"versioning_strategy": "versioningStrategy",
|
|
1473
1956
|
},
|
|
1474
1957
|
)
|
|
@@ -1486,6 +1969,7 @@ class DependabotOptions:
|
|
|
1486
1969
|
registries: typing.Optional[typing.Mapping[builtins.str, typing.Union["DependabotRegistry", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1487
1970
|
reviewers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1488
1971
|
schedule_interval: typing.Optional["DependabotScheduleInterval"] = None,
|
|
1972
|
+
target_branch: typing.Optional[builtins.str] = None,
|
|
1489
1973
|
versioning_strategy: typing.Optional["VersioningStrategy"] = None,
|
|
1490
1974
|
) -> None:
|
|
1491
1975
|
'''
|
|
@@ -1499,6 +1983,7 @@ class DependabotOptions:
|
|
|
1499
1983
|
:param registries: (experimental) Map of package registries to use. Default: - use public registries
|
|
1500
1984
|
:param reviewers: (experimental) Specify individual reviewers or teams of reviewers for all pull requests raised for a package manager. Default: []
|
|
1501
1985
|
:param schedule_interval: (experimental) How often to check for new versions and raise pull requests. Default: ScheduleInterval.DAILY
|
|
1986
|
+
:param target_branch: (experimental) https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#target-branch You can configure the target branch for raising pull requests for version updates against.
|
|
1502
1987
|
:param versioning_strategy: (experimental) The strategy to use when edits manifest and lock files. Default: VersioningStrategy.LOCKFILE_ONLY The default is to only update the lock file because package.json is controlled by projen and any outside updates will fail the build.
|
|
1503
1988
|
|
|
1504
1989
|
:stability: experimental
|
|
@@ -1515,6 +2000,7 @@ class DependabotOptions:
|
|
|
1515
2000
|
check_type(argname="argument registries", value=registries, expected_type=type_hints["registries"])
|
|
1516
2001
|
check_type(argname="argument reviewers", value=reviewers, expected_type=type_hints["reviewers"])
|
|
1517
2002
|
check_type(argname="argument schedule_interval", value=schedule_interval, expected_type=type_hints["schedule_interval"])
|
|
2003
|
+
check_type(argname="argument target_branch", value=target_branch, expected_type=type_hints["target_branch"])
|
|
1518
2004
|
check_type(argname="argument versioning_strategy", value=versioning_strategy, expected_type=type_hints["versioning_strategy"])
|
|
1519
2005
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1520
2006
|
if allow is not None:
|
|
@@ -1537,6 +2023,8 @@ class DependabotOptions:
|
|
|
1537
2023
|
self._values["reviewers"] = reviewers
|
|
1538
2024
|
if schedule_interval is not None:
|
|
1539
2025
|
self._values["schedule_interval"] = schedule_interval
|
|
2026
|
+
if target_branch is not None:
|
|
2027
|
+
self._values["target_branch"] = target_branch
|
|
1540
2028
|
if versioning_strategy is not None:
|
|
1541
2029
|
self._values["versioning_strategy"] = versioning_strategy
|
|
1542
2030
|
|
|
@@ -1665,6 +2153,15 @@ class DependabotOptions:
|
|
|
1665
2153
|
result = self._values.get("schedule_interval")
|
|
1666
2154
|
return typing.cast(typing.Optional["DependabotScheduleInterval"], result)
|
|
1667
2155
|
|
|
2156
|
+
@builtins.property
|
|
2157
|
+
def target_branch(self) -> typing.Optional[builtins.str]:
|
|
2158
|
+
'''(experimental) https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#target-branch You can configure the target branch for raising pull requests for version updates against.
|
|
2159
|
+
|
|
2160
|
+
:stability: experimental
|
|
2161
|
+
'''
|
|
2162
|
+
result = self._values.get("target_branch")
|
|
2163
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2164
|
+
|
|
1668
2165
|
@builtins.property
|
|
1669
2166
|
def versioning_strategy(self) -> typing.Optional["VersioningStrategy"]:
|
|
1670
2167
|
'''(experimental) The strategy to use when edits manifest and lock files.
|
|
@@ -1961,147 +2458,497 @@ class DependabotScheduleInterval(enum.Enum):
|
|
|
1961
2458
|
'''
|
|
1962
2459
|
|
|
1963
2460
|
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
2461
|
+
@jsii.data_type(
|
|
2462
|
+
jsii_type="projen.github.DownloadArtifactOptions",
|
|
2463
|
+
jsii_struct_bases=[_JobStepConfiguration_9caff420],
|
|
2464
|
+
name_mapping={
|
|
2465
|
+
"env": "env",
|
|
2466
|
+
"id": "id",
|
|
2467
|
+
"if_": "if",
|
|
2468
|
+
"name": "name",
|
|
2469
|
+
"shell": "shell",
|
|
2470
|
+
"working_directory": "workingDirectory",
|
|
2471
|
+
"continue_on_error": "continueOnError",
|
|
2472
|
+
"timeout_minutes": "timeoutMinutes",
|
|
2473
|
+
"with_": "with",
|
|
2474
|
+
},
|
|
2475
|
+
)
|
|
2476
|
+
class DownloadArtifactOptions(_JobStepConfiguration_9caff420):
|
|
1973
2477
|
def __init__(
|
|
1974
2478
|
self,
|
|
1975
|
-
project: _Project_57d89203,
|
|
1976
2479
|
*,
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
2480
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
2481
|
+
id: typing.Optional[builtins.str] = None,
|
|
2482
|
+
if_: typing.Optional[builtins.str] = None,
|
|
2483
|
+
name: typing.Optional[builtins.str] = None,
|
|
2484
|
+
shell: typing.Optional[builtins.str] = None,
|
|
2485
|
+
working_directory: typing.Optional[builtins.str] = None,
|
|
2486
|
+
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
2487
|
+
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
2488
|
+
with_: typing.Union["DownloadArtifactWith", typing.Dict[builtins.str, typing.Any]],
|
|
1985
2489
|
) -> None:
|
|
1986
2490
|
'''
|
|
1987
|
-
:param
|
|
1988
|
-
:param
|
|
1989
|
-
:param
|
|
1990
|
-
:param
|
|
1991
|
-
:param
|
|
1992
|
-
:param
|
|
1993
|
-
:param
|
|
1994
|
-
:param
|
|
1995
|
-
:param
|
|
2491
|
+
:param env: (experimental) Sets environment variables for steps to use in the runner environment. You can also set environment variables for the entire workflow or a job.
|
|
2492
|
+
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
2493
|
+
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
2494
|
+
:param name: (experimental) A name for your step to display on GitHub.
|
|
2495
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
2496
|
+
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
2497
|
+
:param continue_on_error: (experimental) Prevents a job from failing when a step fails. Set to true to allow a job to pass when this step fails.
|
|
2498
|
+
:param timeout_minutes: (experimental) The maximum number of minutes to run the step before killing the process.
|
|
2499
|
+
:param with_: (experimental) Options for ``download-artifact``.
|
|
1996
2500
|
|
|
1997
2501
|
:stability: experimental
|
|
1998
2502
|
'''
|
|
2503
|
+
if isinstance(with_, dict):
|
|
2504
|
+
with_ = DownloadArtifactWith(**with_)
|
|
1999
2505
|
if __debug__:
|
|
2000
|
-
type_hints = typing.get_type_hints(
|
|
2001
|
-
check_type(argname="argument
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2506
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c7f153d5c1001fcb119385a05448ea85e212f46cc420d578734261b8353a641b)
|
|
2507
|
+
check_type(argname="argument env", value=env, expected_type=type_hints["env"])
|
|
2508
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
2509
|
+
check_type(argname="argument if_", value=if_, expected_type=type_hints["if_"])
|
|
2510
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
2511
|
+
check_type(argname="argument shell", value=shell, expected_type=type_hints["shell"])
|
|
2512
|
+
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
2513
|
+
check_type(argname="argument continue_on_error", value=continue_on_error, expected_type=type_hints["continue_on_error"])
|
|
2514
|
+
check_type(argname="argument timeout_minutes", value=timeout_minutes, expected_type=type_hints["timeout_minutes"])
|
|
2515
|
+
check_type(argname="argument with_", value=with_, expected_type=type_hints["with_"])
|
|
2516
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2517
|
+
"with_": with_,
|
|
2518
|
+
}
|
|
2519
|
+
if env is not None:
|
|
2520
|
+
self._values["env"] = env
|
|
2521
|
+
if id is not None:
|
|
2522
|
+
self._values["id"] = id
|
|
2523
|
+
if if_ is not None:
|
|
2524
|
+
self._values["if_"] = if_
|
|
2525
|
+
if name is not None:
|
|
2526
|
+
self._values["name"] = name
|
|
2527
|
+
if shell is not None:
|
|
2528
|
+
self._values["shell"] = shell
|
|
2529
|
+
if working_directory is not None:
|
|
2530
|
+
self._values["working_directory"] = working_directory
|
|
2531
|
+
if continue_on_error is not None:
|
|
2532
|
+
self._values["continue_on_error"] = continue_on_error
|
|
2533
|
+
if timeout_minutes is not None:
|
|
2534
|
+
self._values["timeout_minutes"] = timeout_minutes
|
|
2014
2535
|
|
|
2015
|
-
@
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
'''(experimental) Returns the ``GitHub`` component of a project or ``undefined`` if the project does not have a GitHub component.
|
|
2536
|
+
@builtins.property
|
|
2537
|
+
def env(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
2538
|
+
'''(experimental) Sets environment variables for steps to use in the runner environment.
|
|
2019
2539
|
|
|
2020
|
-
|
|
2540
|
+
You can also set environment variables for the entire workflow or a job.
|
|
2021
2541
|
|
|
2022
2542
|
:stability: experimental
|
|
2023
2543
|
'''
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
check_type(argname="argument project", value=project, expected_type=type_hints["project"])
|
|
2027
|
-
return typing.cast(typing.Optional["GitHub"], jsii.sinvoke(cls, "of", [project]))
|
|
2544
|
+
result = self._values.get("env")
|
|
2545
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
2028
2546
|
|
|
2029
|
-
@
|
|
2030
|
-
def
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
groups: typing.Optional[typing.Mapping[builtins.str, typing.Union[DependabotGroup, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2036
|
-
ignore: typing.Optional[typing.Sequence[typing.Union[DependabotIgnore, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2037
|
-
ignore_projen: typing.Optional[builtins.bool] = None,
|
|
2038
|
-
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2039
|
-
open_pull_requests_limit: typing.Optional[jsii.Number] = None,
|
|
2040
|
-
registries: typing.Optional[typing.Mapping[builtins.str, typing.Union[DependabotRegistry, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2041
|
-
reviewers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2042
|
-
schedule_interval: typing.Optional[DependabotScheduleInterval] = None,
|
|
2043
|
-
versioning_strategy: typing.Optional["VersioningStrategy"] = None,
|
|
2044
|
-
) -> Dependabot:
|
|
2045
|
-
'''
|
|
2046
|
-
:param allow: (experimental) https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#allow. Use the allow option to customize which dependencies are updated. This applies to both version and security updates. Default: []
|
|
2047
|
-
:param assignees: (experimental) Specify individual assignees or teams of assignees for all pull requests raised for a package manager. Default: []
|
|
2048
|
-
:param groups: (experimental) https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#groups. You can create groups to package dependency updates together into a single PR. Default: []
|
|
2049
|
-
:param ignore: (experimental) You can use the ``ignore`` option to customize which dependencies are updated. The ignore option supports the following options. Default: []
|
|
2050
|
-
:param ignore_projen: (experimental) Ignores updates to ``projen``. This is required since projen updates may cause changes in committed files and anti-tamper checks will fail. Projen upgrades are covered through the ``ProjenUpgrade`` class. Default: true
|
|
2051
|
-
:param labels: (experimental) List of labels to apply to the created PR's.
|
|
2052
|
-
:param open_pull_requests_limit: (experimental) Sets the maximum of pull requests Dependabot opens for version updates. Dependabot will not open any new requests until some of those open requests are merged or closed. Default: 5
|
|
2053
|
-
:param registries: (experimental) Map of package registries to use. Default: - use public registries
|
|
2054
|
-
:param reviewers: (experimental) Specify individual reviewers or teams of reviewers for all pull requests raised for a package manager. Default: []
|
|
2055
|
-
:param schedule_interval: (experimental) How often to check for new versions and raise pull requests. Default: ScheduleInterval.DAILY
|
|
2056
|
-
:param versioning_strategy: (experimental) The strategy to use when edits manifest and lock files. Default: VersioningStrategy.LOCKFILE_ONLY The default is to only update the lock file because package.json is controlled by projen and any outside updates will fail the build.
|
|
2547
|
+
@builtins.property
|
|
2548
|
+
def id(self) -> typing.Optional[builtins.str]:
|
|
2549
|
+
'''(experimental) A unique identifier for the step.
|
|
2550
|
+
|
|
2551
|
+
You can use the id to reference the
|
|
2552
|
+
step in contexts.
|
|
2057
2553
|
|
|
2058
2554
|
:stability: experimental
|
|
2059
2555
|
'''
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
assignees=assignees,
|
|
2063
|
-
groups=groups,
|
|
2064
|
-
ignore=ignore,
|
|
2065
|
-
ignore_projen=ignore_projen,
|
|
2066
|
-
labels=labels,
|
|
2067
|
-
open_pull_requests_limit=open_pull_requests_limit,
|
|
2068
|
-
registries=registries,
|
|
2069
|
-
reviewers=reviewers,
|
|
2070
|
-
schedule_interval=schedule_interval,
|
|
2071
|
-
versioning_strategy=versioning_strategy,
|
|
2072
|
-
)
|
|
2556
|
+
result = self._values.get("id")
|
|
2557
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2073
2558
|
|
|
2074
|
-
|
|
2559
|
+
@builtins.property
|
|
2560
|
+
def if_(self) -> typing.Optional[builtins.str]:
|
|
2561
|
+
'''(experimental) You can use the if conditional to prevent a job from running unless a condition is met.
|
|
2075
2562
|
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
self,
|
|
2079
|
-
*content: builtins.str,
|
|
2080
|
-
) -> "PullRequestTemplate":
|
|
2081
|
-
'''
|
|
2082
|
-
:param content: -
|
|
2563
|
+
You can use any supported context and expression to
|
|
2564
|
+
create a conditional.
|
|
2083
2565
|
|
|
2084
2566
|
:stability: experimental
|
|
2085
2567
|
'''
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
check_type(argname="argument content", value=content, expected_type=typing.Tuple[type_hints["content"], ...]) # pyright: ignore [reportGeneralTypeIssues]
|
|
2089
|
-
return typing.cast("PullRequestTemplate", jsii.invoke(self, "addPullRequestTemplate", [*content]))
|
|
2568
|
+
result = self._values.get("if_")
|
|
2569
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2090
2570
|
|
|
2091
|
-
@
|
|
2092
|
-
def
|
|
2093
|
-
'''(experimental)
|
|
2571
|
+
@builtins.property
|
|
2572
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
2573
|
+
'''(experimental) A name for your step to display on GitHub.
|
|
2094
2574
|
|
|
2095
|
-
:
|
|
2575
|
+
:stability: experimental
|
|
2576
|
+
'''
|
|
2577
|
+
result = self._values.get("name")
|
|
2578
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2096
2579
|
|
|
2097
|
-
|
|
2580
|
+
@builtins.property
|
|
2581
|
+
def shell(self) -> typing.Optional[builtins.str]:
|
|
2582
|
+
'''(experimental) Overrides the default shell settings in the runner's operating system and the job's default.
|
|
2098
2583
|
|
|
2584
|
+
Refer to GitHub documentation for allowed values.
|
|
2585
|
+
|
|
2586
|
+
:see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
|
|
2099
2587
|
:stability: experimental
|
|
2100
2588
|
'''
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2589
|
+
result = self._values.get("shell")
|
|
2590
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2591
|
+
|
|
2592
|
+
@builtins.property
|
|
2593
|
+
def working_directory(self) -> typing.Optional[builtins.str]:
|
|
2594
|
+
'''(experimental) Specifies a working directory for a step.
|
|
2595
|
+
|
|
2596
|
+
Overrides a job's working directory.
|
|
2597
|
+
|
|
2598
|
+
:stability: experimental
|
|
2599
|
+
'''
|
|
2600
|
+
result = self._values.get("working_directory")
|
|
2601
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2602
|
+
|
|
2603
|
+
@builtins.property
|
|
2604
|
+
def continue_on_error(self) -> typing.Optional[builtins.bool]:
|
|
2605
|
+
'''(experimental) Prevents a job from failing when a step fails.
|
|
2606
|
+
|
|
2607
|
+
Set to true to allow a job
|
|
2608
|
+
to pass when this step fails.
|
|
2609
|
+
|
|
2610
|
+
:stability: experimental
|
|
2611
|
+
'''
|
|
2612
|
+
result = self._values.get("continue_on_error")
|
|
2613
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2614
|
+
|
|
2615
|
+
@builtins.property
|
|
2616
|
+
def timeout_minutes(self) -> typing.Optional[jsii.Number]:
|
|
2617
|
+
'''(experimental) The maximum number of minutes to run the step before killing the process.
|
|
2618
|
+
|
|
2619
|
+
:stability: experimental
|
|
2620
|
+
'''
|
|
2621
|
+
result = self._values.get("timeout_minutes")
|
|
2622
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
2623
|
+
|
|
2624
|
+
@builtins.property
|
|
2625
|
+
def with_(self) -> "DownloadArtifactWith":
|
|
2626
|
+
'''(experimental) Options for ``download-artifact``.
|
|
2627
|
+
|
|
2628
|
+
:stability: experimental
|
|
2629
|
+
'''
|
|
2630
|
+
result = self._values.get("with_")
|
|
2631
|
+
assert result is not None, "Required property 'with_' is missing"
|
|
2632
|
+
return typing.cast("DownloadArtifactWith", result)
|
|
2633
|
+
|
|
2634
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2635
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2636
|
+
|
|
2637
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2638
|
+
return not (rhs == self)
|
|
2639
|
+
|
|
2640
|
+
def __repr__(self) -> str:
|
|
2641
|
+
return "DownloadArtifactOptions(%s)" % ", ".join(
|
|
2642
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2643
|
+
)
|
|
2644
|
+
|
|
2645
|
+
|
|
2646
|
+
@jsii.data_type(
|
|
2647
|
+
jsii_type="projen.github.DownloadArtifactWith",
|
|
2648
|
+
jsii_struct_bases=[],
|
|
2649
|
+
name_mapping={
|
|
2650
|
+
"merge_multiple": "mergeMultiple",
|
|
2651
|
+
"name": "name",
|
|
2652
|
+
"path": "path",
|
|
2653
|
+
"pattern": "pattern",
|
|
2654
|
+
"repository": "repository",
|
|
2655
|
+
"run_id": "runId",
|
|
2656
|
+
"token": "token",
|
|
2657
|
+
},
|
|
2658
|
+
)
|
|
2659
|
+
class DownloadArtifactWith:
|
|
2660
|
+
def __init__(
|
|
2661
|
+
self,
|
|
2662
|
+
*,
|
|
2663
|
+
merge_multiple: typing.Optional[builtins.bool] = None,
|
|
2664
|
+
name: typing.Optional[builtins.str] = None,
|
|
2665
|
+
path: typing.Optional[builtins.str] = None,
|
|
2666
|
+
pattern: typing.Optional[builtins.str] = None,
|
|
2667
|
+
repository: typing.Optional[builtins.str] = None,
|
|
2668
|
+
run_id: typing.Optional[builtins.str] = None,
|
|
2669
|
+
token: typing.Optional[builtins.str] = None,
|
|
2670
|
+
) -> None:
|
|
2671
|
+
'''
|
|
2672
|
+
:param merge_multiple: (experimental) When multiple artifacts are matched, this changes the behavior of the destination directories If true, the downloaded artifacts will be in the same directory specified by path If false, the downloaded artifacts will be extracted into individual named directories within the specified path. Default: false
|
|
2673
|
+
:param name: (experimental) Name of the artifact to download. Default: - If unspecified, all artifacts for the run are downloaded
|
|
2674
|
+
:param path: (experimental) A file, directory or wildcard pattern that describes what to download. Supports basic tilde expansion. Default: - $GITHUB_WORKSPACE
|
|
2675
|
+
:param pattern: (experimental) A glob pattern to the artifacts that should be downloaded This is ignored if name is specified.
|
|
2676
|
+
:param repository: (experimental) The repository owner and the repository name joined together by "/" If github-token is specified, this is the repository that artifacts will be downloaded from. Default: - ${{ github.repository }}
|
|
2677
|
+
:param run_id: (experimental) The id of the workflow run where the desired download artifact was uploaded from If github-token is specified, this is the run that artifacts will be downloaded from. Default: - ${{ github.run_id }}
|
|
2678
|
+
:param token: (experimental) The GitHub token used to authenticate with the GitHub API to download artifacts from a different repository or from a different workflow run. Default: - If unspecified, the action will download artifacts from the current repo and the current workflow run
|
|
2679
|
+
|
|
2680
|
+
:stability: experimental
|
|
2681
|
+
'''
|
|
2682
|
+
if __debug__:
|
|
2683
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3e5008f68a85d8490ecf62a54f413b82cc795d9a14d3bc8eabcc2720f31de50c)
|
|
2684
|
+
check_type(argname="argument merge_multiple", value=merge_multiple, expected_type=type_hints["merge_multiple"])
|
|
2685
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
2686
|
+
check_type(argname="argument path", value=path, expected_type=type_hints["path"])
|
|
2687
|
+
check_type(argname="argument pattern", value=pattern, expected_type=type_hints["pattern"])
|
|
2688
|
+
check_type(argname="argument repository", value=repository, expected_type=type_hints["repository"])
|
|
2689
|
+
check_type(argname="argument run_id", value=run_id, expected_type=type_hints["run_id"])
|
|
2690
|
+
check_type(argname="argument token", value=token, expected_type=type_hints["token"])
|
|
2691
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2692
|
+
if merge_multiple is not None:
|
|
2693
|
+
self._values["merge_multiple"] = merge_multiple
|
|
2694
|
+
if name is not None:
|
|
2695
|
+
self._values["name"] = name
|
|
2696
|
+
if path is not None:
|
|
2697
|
+
self._values["path"] = path
|
|
2698
|
+
if pattern is not None:
|
|
2699
|
+
self._values["pattern"] = pattern
|
|
2700
|
+
if repository is not None:
|
|
2701
|
+
self._values["repository"] = repository
|
|
2702
|
+
if run_id is not None:
|
|
2703
|
+
self._values["run_id"] = run_id
|
|
2704
|
+
if token is not None:
|
|
2705
|
+
self._values["token"] = token
|
|
2706
|
+
|
|
2707
|
+
@builtins.property
|
|
2708
|
+
def merge_multiple(self) -> typing.Optional[builtins.bool]:
|
|
2709
|
+
'''(experimental) When multiple artifacts are matched, this changes the behavior of the destination directories If true, the downloaded artifacts will be in the same directory specified by path If false, the downloaded artifacts will be extracted into individual named directories within the specified path.
|
|
2710
|
+
|
|
2711
|
+
:default: false
|
|
2712
|
+
|
|
2713
|
+
:stability: experimental
|
|
2714
|
+
'''
|
|
2715
|
+
result = self._values.get("merge_multiple")
|
|
2716
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2717
|
+
|
|
2718
|
+
@builtins.property
|
|
2719
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
2720
|
+
'''(experimental) Name of the artifact to download.
|
|
2721
|
+
|
|
2722
|
+
:default: - If unspecified, all artifacts for the run are downloaded
|
|
2723
|
+
|
|
2724
|
+
:stability: experimental
|
|
2725
|
+
'''
|
|
2726
|
+
result = self._values.get("name")
|
|
2727
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2728
|
+
|
|
2729
|
+
@builtins.property
|
|
2730
|
+
def path(self) -> typing.Optional[builtins.str]:
|
|
2731
|
+
'''(experimental) A file, directory or wildcard pattern that describes what to download.
|
|
2732
|
+
|
|
2733
|
+
Supports basic tilde expansion.
|
|
2734
|
+
|
|
2735
|
+
:default: - $GITHUB_WORKSPACE
|
|
2736
|
+
|
|
2737
|
+
:stability: experimental
|
|
2738
|
+
'''
|
|
2739
|
+
result = self._values.get("path")
|
|
2740
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2741
|
+
|
|
2742
|
+
@builtins.property
|
|
2743
|
+
def pattern(self) -> typing.Optional[builtins.str]:
|
|
2744
|
+
'''(experimental) A glob pattern to the artifacts that should be downloaded This is ignored if name is specified.
|
|
2745
|
+
|
|
2746
|
+
:stability: experimental
|
|
2747
|
+
'''
|
|
2748
|
+
result = self._values.get("pattern")
|
|
2749
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2750
|
+
|
|
2751
|
+
@builtins.property
|
|
2752
|
+
def repository(self) -> typing.Optional[builtins.str]:
|
|
2753
|
+
'''(experimental) The repository owner and the repository name joined together by "/" If github-token is specified, this is the repository that artifacts will be downloaded from.
|
|
2754
|
+
|
|
2755
|
+
:default: - ${{ github.repository }}
|
|
2756
|
+
|
|
2757
|
+
:stability: experimental
|
|
2758
|
+
'''
|
|
2759
|
+
result = self._values.get("repository")
|
|
2760
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2761
|
+
|
|
2762
|
+
@builtins.property
|
|
2763
|
+
def run_id(self) -> typing.Optional[builtins.str]:
|
|
2764
|
+
'''(experimental) The id of the workflow run where the desired download artifact was uploaded from If github-token is specified, this is the run that artifacts will be downloaded from.
|
|
2765
|
+
|
|
2766
|
+
:default: - ${{ github.run_id }}
|
|
2767
|
+
|
|
2768
|
+
:stability: experimental
|
|
2769
|
+
'''
|
|
2770
|
+
result = self._values.get("run_id")
|
|
2771
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2772
|
+
|
|
2773
|
+
@builtins.property
|
|
2774
|
+
def token(self) -> typing.Optional[builtins.str]:
|
|
2775
|
+
'''(experimental) The GitHub token used to authenticate with the GitHub API to download artifacts from a different repository or from a different workflow run.
|
|
2776
|
+
|
|
2777
|
+
:default: - If unspecified, the action will download artifacts from the current repo and the current workflow run
|
|
2778
|
+
|
|
2779
|
+
:stability: experimental
|
|
2780
|
+
'''
|
|
2781
|
+
result = self._values.get("token")
|
|
2782
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2783
|
+
|
|
2784
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2785
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2786
|
+
|
|
2787
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2788
|
+
return not (rhs == self)
|
|
2789
|
+
|
|
2790
|
+
def __repr__(self) -> str:
|
|
2791
|
+
return "DownloadArtifactWith(%s)" % ", ".join(
|
|
2792
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2793
|
+
)
|
|
2794
|
+
|
|
2795
|
+
|
|
2796
|
+
class GitHub(
|
|
2797
|
+
_Component_2b0ad27f,
|
|
2798
|
+
metaclass=jsii.JSIIMeta,
|
|
2799
|
+
jsii_type="projen.github.GitHub",
|
|
2800
|
+
):
|
|
2801
|
+
'''
|
|
2802
|
+
:stability: experimental
|
|
2803
|
+
'''
|
|
2804
|
+
|
|
2805
|
+
def __init__(
|
|
2806
|
+
self,
|
|
2807
|
+
project: _Project_57d89203,
|
|
2808
|
+
*,
|
|
2809
|
+
download_lfs: typing.Optional[builtins.bool] = None,
|
|
2810
|
+
merge_queue: typing.Optional[builtins.bool] = None,
|
|
2811
|
+
merge_queue_options: typing.Optional[typing.Union["MergeQueueOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2812
|
+
mergify: typing.Optional[builtins.bool] = None,
|
|
2813
|
+
mergify_options: typing.Optional[typing.Union["MergifyOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2814
|
+
projen_credentials: typing.Optional["GithubCredentials"] = None,
|
|
2815
|
+
projen_token_secret: typing.Optional[builtins.str] = None,
|
|
2816
|
+
pull_request_backport: typing.Optional[builtins.bool] = None,
|
|
2817
|
+
pull_request_backport_options: typing.Optional[typing.Union["PullRequestBackportOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2818
|
+
pull_request_lint: typing.Optional[builtins.bool] = None,
|
|
2819
|
+
pull_request_lint_options: typing.Optional[typing.Union["PullRequestLintOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2820
|
+
workflows: typing.Optional[builtins.bool] = None,
|
|
2821
|
+
) -> None:
|
|
2822
|
+
'''
|
|
2823
|
+
:param project: -
|
|
2824
|
+
:param download_lfs: (experimental) Download files in LFS in workflows. Default: true if the associated project has ``lfsPatterns``, ``false`` otherwise
|
|
2825
|
+
:param merge_queue: (experimental) Whether a merge queue should be used on this repository to merge pull requests. Requires additional configuration of the repositories branch protection rules. Default: false
|
|
2826
|
+
:param merge_queue_options: (experimental) Options for MergeQueue. Default: - default options
|
|
2827
|
+
:param mergify: (experimental) Whether mergify should be enabled on this repository or not. Default: true
|
|
2828
|
+
:param mergify_options: (experimental) Options for Mergify. Default: - default options
|
|
2829
|
+
:param projen_credentials: (experimental) Choose a method of providing GitHub API access for projen workflows. Default: - use a personal access token named PROJEN_GITHUB_TOKEN
|
|
2830
|
+
:param projen_token_secret: (deprecated) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This token needs to have the ``repo``, ``workflows`` and ``packages`` scope. Default: "PROJEN_GITHUB_TOKEN"
|
|
2831
|
+
:param pull_request_backport: (experimental) Add a workflow that allows backport of PRs to other branches using labels. When opening a new PR add a backport label to it, and the PR will be backported to the target branches once the PR is merged. Should not be used together with mergify. Default: false
|
|
2832
|
+
:param pull_request_backport_options: (experimental) Options for configuring pull request backport. Default: - see defaults in ``PullRequestBackportOptions``
|
|
2833
|
+
:param pull_request_lint: (experimental) Add a workflow that performs basic checks for pull requests, like validating that PRs follow Conventional Commits. Default: true
|
|
2834
|
+
:param pull_request_lint_options: (experimental) Options for configuring a pull request linter. Default: - see defaults in ``PullRequestLintOptions``
|
|
2835
|
+
:param workflows: (experimental) Enables GitHub workflows. If this is set to ``false``, workflows will not be created. Default: true
|
|
2836
|
+
|
|
2837
|
+
:stability: experimental
|
|
2838
|
+
'''
|
|
2839
|
+
if __debug__:
|
|
2840
|
+
type_hints = typing.get_type_hints(_typecheckingstub__65db11e8703472c7fa4e013294c649e43b7f8634b29ca11be71b46d8c549c4d1)
|
|
2841
|
+
check_type(argname="argument project", value=project, expected_type=type_hints["project"])
|
|
2842
|
+
options = GitHubOptions(
|
|
2843
|
+
download_lfs=download_lfs,
|
|
2844
|
+
merge_queue=merge_queue,
|
|
2845
|
+
merge_queue_options=merge_queue_options,
|
|
2846
|
+
mergify=mergify,
|
|
2847
|
+
mergify_options=mergify_options,
|
|
2848
|
+
projen_credentials=projen_credentials,
|
|
2849
|
+
projen_token_secret=projen_token_secret,
|
|
2850
|
+
pull_request_backport=pull_request_backport,
|
|
2851
|
+
pull_request_backport_options=pull_request_backport_options,
|
|
2852
|
+
pull_request_lint=pull_request_lint,
|
|
2853
|
+
pull_request_lint_options=pull_request_lint_options,
|
|
2854
|
+
workflows=workflows,
|
|
2855
|
+
)
|
|
2856
|
+
|
|
2857
|
+
jsii.create(self.__class__, self, [project, options])
|
|
2858
|
+
|
|
2859
|
+
@jsii.member(jsii_name="of")
|
|
2860
|
+
@builtins.classmethod
|
|
2861
|
+
def of(cls, project: _Project_57d89203) -> typing.Optional["GitHub"]:
|
|
2862
|
+
'''(experimental) Returns the ``GitHub`` component of a project or ``undefined`` if the project does not have a GitHub component.
|
|
2863
|
+
|
|
2864
|
+
:param project: -
|
|
2865
|
+
|
|
2866
|
+
:stability: experimental
|
|
2867
|
+
'''
|
|
2868
|
+
if __debug__:
|
|
2869
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f1f9f6e10bd4208bf86fd269c2d9b1be37bfe497219300efebf37a151efc972e)
|
|
2870
|
+
check_type(argname="argument project", value=project, expected_type=type_hints["project"])
|
|
2871
|
+
return typing.cast(typing.Optional["GitHub"], jsii.sinvoke(cls, "of", [project]))
|
|
2872
|
+
|
|
2873
|
+
@jsii.member(jsii_name="addDependabot")
|
|
2874
|
+
def add_dependabot(
|
|
2875
|
+
self,
|
|
2876
|
+
*,
|
|
2877
|
+
allow: typing.Optional[typing.Sequence[typing.Union[DependabotAllow, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2878
|
+
assignees: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2879
|
+
groups: typing.Optional[typing.Mapping[builtins.str, typing.Union[DependabotGroup, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2880
|
+
ignore: typing.Optional[typing.Sequence[typing.Union[DependabotIgnore, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2881
|
+
ignore_projen: typing.Optional[builtins.bool] = None,
|
|
2882
|
+
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2883
|
+
open_pull_requests_limit: typing.Optional[jsii.Number] = None,
|
|
2884
|
+
registries: typing.Optional[typing.Mapping[builtins.str, typing.Union[DependabotRegistry, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2885
|
+
reviewers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2886
|
+
schedule_interval: typing.Optional[DependabotScheduleInterval] = None,
|
|
2887
|
+
target_branch: typing.Optional[builtins.str] = None,
|
|
2888
|
+
versioning_strategy: typing.Optional["VersioningStrategy"] = None,
|
|
2889
|
+
) -> Dependabot:
|
|
2890
|
+
'''
|
|
2891
|
+
:param allow: (experimental) https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#allow. Use the allow option to customize which dependencies are updated. This applies to both version and security updates. Default: []
|
|
2892
|
+
:param assignees: (experimental) Specify individual assignees or teams of assignees for all pull requests raised for a package manager. Default: []
|
|
2893
|
+
:param groups: (experimental) https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#groups. You can create groups to package dependency updates together into a single PR. Default: []
|
|
2894
|
+
:param ignore: (experimental) You can use the ``ignore`` option to customize which dependencies are updated. The ignore option supports the following options. Default: []
|
|
2895
|
+
:param ignore_projen: (experimental) Ignores updates to ``projen``. This is required since projen updates may cause changes in committed files and anti-tamper checks will fail. Projen upgrades are covered through the ``ProjenUpgrade`` class. Default: true
|
|
2896
|
+
:param labels: (experimental) List of labels to apply to the created PR's.
|
|
2897
|
+
:param open_pull_requests_limit: (experimental) Sets the maximum of pull requests Dependabot opens for version updates. Dependabot will not open any new requests until some of those open requests are merged or closed. Default: 5
|
|
2898
|
+
:param registries: (experimental) Map of package registries to use. Default: - use public registries
|
|
2899
|
+
:param reviewers: (experimental) Specify individual reviewers or teams of reviewers for all pull requests raised for a package manager. Default: []
|
|
2900
|
+
:param schedule_interval: (experimental) How often to check for new versions and raise pull requests. Default: ScheduleInterval.DAILY
|
|
2901
|
+
:param target_branch: (experimental) https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#target-branch You can configure the target branch for raising pull requests for version updates against.
|
|
2902
|
+
:param versioning_strategy: (experimental) The strategy to use when edits manifest and lock files. Default: VersioningStrategy.LOCKFILE_ONLY The default is to only update the lock file because package.json is controlled by projen and any outside updates will fail the build.
|
|
2903
|
+
|
|
2904
|
+
:stability: experimental
|
|
2905
|
+
'''
|
|
2906
|
+
options = DependabotOptions(
|
|
2907
|
+
allow=allow,
|
|
2908
|
+
assignees=assignees,
|
|
2909
|
+
groups=groups,
|
|
2910
|
+
ignore=ignore,
|
|
2911
|
+
ignore_projen=ignore_projen,
|
|
2912
|
+
labels=labels,
|
|
2913
|
+
open_pull_requests_limit=open_pull_requests_limit,
|
|
2914
|
+
registries=registries,
|
|
2915
|
+
reviewers=reviewers,
|
|
2916
|
+
schedule_interval=schedule_interval,
|
|
2917
|
+
target_branch=target_branch,
|
|
2918
|
+
versioning_strategy=versioning_strategy,
|
|
2919
|
+
)
|
|
2920
|
+
|
|
2921
|
+
return typing.cast(Dependabot, jsii.invoke(self, "addDependabot", [options]))
|
|
2922
|
+
|
|
2923
|
+
@jsii.member(jsii_name="addPullRequestTemplate")
|
|
2924
|
+
def add_pull_request_template(
|
|
2925
|
+
self,
|
|
2926
|
+
*content: builtins.str,
|
|
2927
|
+
) -> "PullRequestTemplate":
|
|
2928
|
+
'''
|
|
2929
|
+
:param content: -
|
|
2930
|
+
|
|
2931
|
+
:stability: experimental
|
|
2932
|
+
'''
|
|
2933
|
+
if __debug__:
|
|
2934
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4837ecd412981af090d26642873c81c7ca7b69a5c2079c390fb0d3d7168522ff)
|
|
2935
|
+
check_type(argname="argument content", value=content, expected_type=typing.Tuple[type_hints["content"], ...]) # pyright: ignore [reportGeneralTypeIssues]
|
|
2936
|
+
return typing.cast("PullRequestTemplate", jsii.invoke(self, "addPullRequestTemplate", [*content]))
|
|
2937
|
+
|
|
2938
|
+
@jsii.member(jsii_name="addWorkflow")
|
|
2939
|
+
def add_workflow(self, name: builtins.str) -> "GithubWorkflow":
|
|
2940
|
+
'''(experimental) Adds a workflow to the project.
|
|
2941
|
+
|
|
2942
|
+
:param name: Name of the workflow.
|
|
2943
|
+
|
|
2944
|
+
:return: a GithubWorkflow instance
|
|
2945
|
+
|
|
2946
|
+
:stability: experimental
|
|
2947
|
+
'''
|
|
2948
|
+
if __debug__:
|
|
2949
|
+
type_hints = typing.get_type_hints(_typecheckingstub__79e4dc466f25fa1bf920982b1e4d0a98ce7f5ac928835c4607e7f8879a2e1d06)
|
|
2950
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
2951
|
+
return typing.cast("GithubWorkflow", jsii.invoke(self, "addWorkflow", [name]))
|
|
2105
2952
|
|
|
2106
2953
|
@jsii.member(jsii_name="tryFindWorkflow")
|
|
2107
2954
|
def try_find_workflow(
|
|
@@ -2124,7 +2971,8 @@ class GitHub(
|
|
|
2124
2971
|
@builtins.property
|
|
2125
2972
|
@jsii.member(jsii_name="actions")
|
|
2126
2973
|
def actions(self) -> "GitHubActionsProvider":
|
|
2127
|
-
'''
|
|
2974
|
+
'''(experimental) The GitHub Actions provider used to manage the versions of actions used in steps.
|
|
2975
|
+
|
|
2128
2976
|
:stability: experimental
|
|
2129
2977
|
'''
|
|
2130
2978
|
return typing.cast("GitHubActionsProvider", jsii.get(self, "actions"))
|
|
@@ -2165,13 +3013,19 @@ class GitHub(
|
|
|
2165
3013
|
'''
|
|
2166
3014
|
return typing.cast(builtins.bool, jsii.get(self, "workflowsEnabled"))
|
|
2167
3015
|
|
|
3016
|
+
@builtins.property
|
|
3017
|
+
@jsii.member(jsii_name="mergeQueue")
|
|
3018
|
+
def merge_queue(self) -> typing.Optional["MergeQueue"]:
|
|
3019
|
+
'''(experimental) The ``MergeQueue`` component configured on this repository This is ``undefined`` if merge queues are not enabled for this repository.
|
|
3020
|
+
|
|
3021
|
+
:stability: experimental
|
|
3022
|
+
'''
|
|
3023
|
+
return typing.cast(typing.Optional["MergeQueue"], jsii.get(self, "mergeQueue"))
|
|
3024
|
+
|
|
2168
3025
|
@builtins.property
|
|
2169
3026
|
@jsii.member(jsii_name="mergify")
|
|
2170
3027
|
def mergify(self) -> typing.Optional["Mergify"]:
|
|
2171
|
-
'''(experimental) The ``Mergify`` configured on this repository.
|
|
2172
|
-
|
|
2173
|
-
This is ``undefined`` if Mergify
|
|
2174
|
-
was not enabled when creating the repository.
|
|
3028
|
+
'''(experimental) The ``Mergify`` component configured on this repository This is ``undefined`` if Mergify is not enabled for this repository.
|
|
2175
3029
|
|
|
2176
3030
|
:stability: experimental
|
|
2177
3031
|
'''
|
|
@@ -2226,8 +3080,8 @@ class GitHubActionsProvider(
|
|
|
2226
3080
|
// Force any use of `actions/checkout` to use a pin a specific commit
|
|
2227
3081
|
project.github.actions.set("actions/checkout", "actions/checkout@aaaaaa");
|
|
2228
3082
|
|
|
2229
|
-
// But pin usage of `
|
|
2230
|
-
project.github.actions.set("actions/checkout@
|
|
3083
|
+
// But pin usage of `v4` to a different commit
|
|
3084
|
+
project.github.actions.set("actions/checkout@v4", "actions/checkout@ffffff");
|
|
2231
3085
|
'''
|
|
2232
3086
|
if __debug__:
|
|
2233
3087
|
type_hints = typing.get_type_hints(_typecheckingstub__20166ac47381861e1a45b550a5e9646380c52a927fca9ebf00ec36dab0f295ed)
|
|
@@ -2241,10 +3095,14 @@ class GitHubActionsProvider(
|
|
|
2241
3095
|
jsii_struct_bases=[],
|
|
2242
3096
|
name_mapping={
|
|
2243
3097
|
"download_lfs": "downloadLfs",
|
|
3098
|
+
"merge_queue": "mergeQueue",
|
|
3099
|
+
"merge_queue_options": "mergeQueueOptions",
|
|
2244
3100
|
"mergify": "mergify",
|
|
2245
3101
|
"mergify_options": "mergifyOptions",
|
|
2246
3102
|
"projen_credentials": "projenCredentials",
|
|
2247
3103
|
"projen_token_secret": "projenTokenSecret",
|
|
3104
|
+
"pull_request_backport": "pullRequestBackport",
|
|
3105
|
+
"pull_request_backport_options": "pullRequestBackportOptions",
|
|
2248
3106
|
"pull_request_lint": "pullRequestLint",
|
|
2249
3107
|
"pull_request_lint_options": "pullRequestLintOptions",
|
|
2250
3108
|
"workflows": "workflows",
|
|
@@ -2255,43 +3113,63 @@ class GitHubOptions:
|
|
|
2255
3113
|
self,
|
|
2256
3114
|
*,
|
|
2257
3115
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
3116
|
+
merge_queue: typing.Optional[builtins.bool] = None,
|
|
3117
|
+
merge_queue_options: typing.Optional[typing.Union["MergeQueueOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2258
3118
|
mergify: typing.Optional[builtins.bool] = None,
|
|
2259
3119
|
mergify_options: typing.Optional[typing.Union["MergifyOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2260
3120
|
projen_credentials: typing.Optional["GithubCredentials"] = None,
|
|
2261
3121
|
projen_token_secret: typing.Optional[builtins.str] = None,
|
|
3122
|
+
pull_request_backport: typing.Optional[builtins.bool] = None,
|
|
3123
|
+
pull_request_backport_options: typing.Optional[typing.Union["PullRequestBackportOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2262
3124
|
pull_request_lint: typing.Optional[builtins.bool] = None,
|
|
2263
3125
|
pull_request_lint_options: typing.Optional[typing.Union["PullRequestLintOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2264
3126
|
workflows: typing.Optional[builtins.bool] = None,
|
|
2265
3127
|
) -> None:
|
|
2266
3128
|
'''
|
|
2267
3129
|
:param download_lfs: (experimental) Download files in LFS in workflows. Default: true if the associated project has ``lfsPatterns``, ``false`` otherwise
|
|
3130
|
+
:param merge_queue: (experimental) Whether a merge queue should be used on this repository to merge pull requests. Requires additional configuration of the repositories branch protection rules. Default: false
|
|
3131
|
+
:param merge_queue_options: (experimental) Options for MergeQueue. Default: - default options
|
|
2268
3132
|
:param mergify: (experimental) Whether mergify should be enabled on this repository or not. Default: true
|
|
2269
3133
|
:param mergify_options: (experimental) Options for Mergify. Default: - default options
|
|
2270
3134
|
:param projen_credentials: (experimental) Choose a method of providing GitHub API access for projen workflows. Default: - use a personal access token named PROJEN_GITHUB_TOKEN
|
|
2271
3135
|
:param projen_token_secret: (deprecated) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This token needs to have the ``repo``, ``workflows`` and ``packages`` scope. Default: "PROJEN_GITHUB_TOKEN"
|
|
3136
|
+
:param pull_request_backport: (experimental) Add a workflow that allows backport of PRs to other branches using labels. When opening a new PR add a backport label to it, and the PR will be backported to the target branches once the PR is merged. Should not be used together with mergify. Default: false
|
|
3137
|
+
:param pull_request_backport_options: (experimental) Options for configuring pull request backport. Default: - see defaults in ``PullRequestBackportOptions``
|
|
2272
3138
|
:param pull_request_lint: (experimental) Add a workflow that performs basic checks for pull requests, like validating that PRs follow Conventional Commits. Default: true
|
|
2273
3139
|
:param pull_request_lint_options: (experimental) Options for configuring a pull request linter. Default: - see defaults in ``PullRequestLintOptions``
|
|
2274
3140
|
:param workflows: (experimental) Enables GitHub workflows. If this is set to ``false``, workflows will not be created. Default: true
|
|
2275
3141
|
|
|
2276
3142
|
:stability: experimental
|
|
2277
3143
|
'''
|
|
3144
|
+
if isinstance(merge_queue_options, dict):
|
|
3145
|
+
merge_queue_options = MergeQueueOptions(**merge_queue_options)
|
|
2278
3146
|
if isinstance(mergify_options, dict):
|
|
2279
3147
|
mergify_options = MergifyOptions(**mergify_options)
|
|
3148
|
+
if isinstance(pull_request_backport_options, dict):
|
|
3149
|
+
pull_request_backport_options = PullRequestBackportOptions(**pull_request_backport_options)
|
|
2280
3150
|
if isinstance(pull_request_lint_options, dict):
|
|
2281
3151
|
pull_request_lint_options = PullRequestLintOptions(**pull_request_lint_options)
|
|
2282
3152
|
if __debug__:
|
|
2283
3153
|
type_hints = typing.get_type_hints(_typecheckingstub__c22e66f011c96f13a6f4e5b07bb676bf98b477678e968ee61f79ee107a7d2bd7)
|
|
2284
3154
|
check_type(argname="argument download_lfs", value=download_lfs, expected_type=type_hints["download_lfs"])
|
|
3155
|
+
check_type(argname="argument merge_queue", value=merge_queue, expected_type=type_hints["merge_queue"])
|
|
3156
|
+
check_type(argname="argument merge_queue_options", value=merge_queue_options, expected_type=type_hints["merge_queue_options"])
|
|
2285
3157
|
check_type(argname="argument mergify", value=mergify, expected_type=type_hints["mergify"])
|
|
2286
3158
|
check_type(argname="argument mergify_options", value=mergify_options, expected_type=type_hints["mergify_options"])
|
|
2287
3159
|
check_type(argname="argument projen_credentials", value=projen_credentials, expected_type=type_hints["projen_credentials"])
|
|
2288
3160
|
check_type(argname="argument projen_token_secret", value=projen_token_secret, expected_type=type_hints["projen_token_secret"])
|
|
3161
|
+
check_type(argname="argument pull_request_backport", value=pull_request_backport, expected_type=type_hints["pull_request_backport"])
|
|
3162
|
+
check_type(argname="argument pull_request_backport_options", value=pull_request_backport_options, expected_type=type_hints["pull_request_backport_options"])
|
|
2289
3163
|
check_type(argname="argument pull_request_lint", value=pull_request_lint, expected_type=type_hints["pull_request_lint"])
|
|
2290
3164
|
check_type(argname="argument pull_request_lint_options", value=pull_request_lint_options, expected_type=type_hints["pull_request_lint_options"])
|
|
2291
3165
|
check_type(argname="argument workflows", value=workflows, expected_type=type_hints["workflows"])
|
|
2292
3166
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2293
3167
|
if download_lfs is not None:
|
|
2294
3168
|
self._values["download_lfs"] = download_lfs
|
|
3169
|
+
if merge_queue is not None:
|
|
3170
|
+
self._values["merge_queue"] = merge_queue
|
|
3171
|
+
if merge_queue_options is not None:
|
|
3172
|
+
self._values["merge_queue_options"] = merge_queue_options
|
|
2295
3173
|
if mergify is not None:
|
|
2296
3174
|
self._values["mergify"] = mergify
|
|
2297
3175
|
if mergify_options is not None:
|
|
@@ -2300,6 +3178,10 @@ class GitHubOptions:
|
|
|
2300
3178
|
self._values["projen_credentials"] = projen_credentials
|
|
2301
3179
|
if projen_token_secret is not None:
|
|
2302
3180
|
self._values["projen_token_secret"] = projen_token_secret
|
|
3181
|
+
if pull_request_backport is not None:
|
|
3182
|
+
self._values["pull_request_backport"] = pull_request_backport
|
|
3183
|
+
if pull_request_backport_options is not None:
|
|
3184
|
+
self._values["pull_request_backport_options"] = pull_request_backport_options
|
|
2303
3185
|
if pull_request_lint is not None:
|
|
2304
3186
|
self._values["pull_request_lint"] = pull_request_lint
|
|
2305
3187
|
if pull_request_lint_options is not None:
|
|
@@ -2318,6 +3200,30 @@ class GitHubOptions:
|
|
|
2318
3200
|
result = self._values.get("download_lfs")
|
|
2319
3201
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2320
3202
|
|
|
3203
|
+
@builtins.property
|
|
3204
|
+
def merge_queue(self) -> typing.Optional[builtins.bool]:
|
|
3205
|
+
'''(experimental) Whether a merge queue should be used on this repository to merge pull requests.
|
|
3206
|
+
|
|
3207
|
+
Requires additional configuration of the repositories branch protection rules.
|
|
3208
|
+
|
|
3209
|
+
:default: false
|
|
3210
|
+
|
|
3211
|
+
:stability: experimental
|
|
3212
|
+
'''
|
|
3213
|
+
result = self._values.get("merge_queue")
|
|
3214
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3215
|
+
|
|
3216
|
+
@builtins.property
|
|
3217
|
+
def merge_queue_options(self) -> typing.Optional["MergeQueueOptions"]:
|
|
3218
|
+
'''(experimental) Options for MergeQueue.
|
|
3219
|
+
|
|
3220
|
+
:default: - default options
|
|
3221
|
+
|
|
3222
|
+
:stability: experimental
|
|
3223
|
+
'''
|
|
3224
|
+
result = self._values.get("merge_queue_options")
|
|
3225
|
+
return typing.cast(typing.Optional["MergeQueueOptions"], result)
|
|
3226
|
+
|
|
2321
3227
|
@builtins.property
|
|
2322
3228
|
def mergify(self) -> typing.Optional[builtins.bool]:
|
|
2323
3229
|
'''(experimental) Whether mergify should be enabled on this repository or not.
|
|
@@ -2367,6 +3273,35 @@ class GitHubOptions:
|
|
|
2367
3273
|
result = self._values.get("projen_token_secret")
|
|
2368
3274
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
2369
3275
|
|
|
3276
|
+
@builtins.property
|
|
3277
|
+
def pull_request_backport(self) -> typing.Optional[builtins.bool]:
|
|
3278
|
+
'''(experimental) Add a workflow that allows backport of PRs to other branches using labels.
|
|
3279
|
+
|
|
3280
|
+
When opening a new PR add a backport label to it,
|
|
3281
|
+
and the PR will be backported to the target branches once the PR is merged.
|
|
3282
|
+
|
|
3283
|
+
Should not be used together with mergify.
|
|
3284
|
+
|
|
3285
|
+
:default: false
|
|
3286
|
+
|
|
3287
|
+
:stability: experimental
|
|
3288
|
+
'''
|
|
3289
|
+
result = self._values.get("pull_request_backport")
|
|
3290
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3291
|
+
|
|
3292
|
+
@builtins.property
|
|
3293
|
+
def pull_request_backport_options(
|
|
3294
|
+
self,
|
|
3295
|
+
) -> typing.Optional["PullRequestBackportOptions"]:
|
|
3296
|
+
'''(experimental) Options for configuring pull request backport.
|
|
3297
|
+
|
|
3298
|
+
:default: - see defaults in ``PullRequestBackportOptions``
|
|
3299
|
+
|
|
3300
|
+
:stability: experimental
|
|
3301
|
+
'''
|
|
3302
|
+
result = self._values.get("pull_request_backport_options")
|
|
3303
|
+
return typing.cast(typing.Optional["PullRequestBackportOptions"], result)
|
|
3304
|
+
|
|
2370
3305
|
@builtins.property
|
|
2371
3306
|
def pull_request_lint(self) -> typing.Optional[builtins.bool]:
|
|
2372
3307
|
'''(experimental) Add a workflow that performs basic checks for pull requests, like validating that PRs follow Conventional Commits.
|
|
@@ -3262,8 +4197,10 @@ class GithubCredentials(
|
|
|
3262
4197
|
cls,
|
|
3263
4198
|
*,
|
|
3264
4199
|
app_id_secret: typing.Optional[builtins.str] = None,
|
|
4200
|
+
owner: typing.Optional[builtins.str] = None,
|
|
3265
4201
|
permissions: typing.Optional[typing.Union[_AppPermissions_59709d51, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3266
4202
|
private_key_secret: typing.Optional[builtins.str] = None,
|
|
4203
|
+
repositories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3267
4204
|
) -> "GithubCredentials":
|
|
3268
4205
|
'''(experimental) Provide API access through a GitHub App.
|
|
3269
4206
|
|
|
@@ -3271,19 +4208,23 @@ class GithubCredentials(
|
|
|
3271
4208
|
private key must be added as secrets to the repo. The name of the secrets
|
|
3272
4209
|
can be specified here.
|
|
3273
4210
|
|
|
3274
|
-
:param app_id_secret:
|
|
4211
|
+
:param app_id_secret: (experimental) The secret containing the GitHub App ID. Default: "PROJEN_APP_ID"
|
|
4212
|
+
:param owner: (experimental) The owner of the GitHub App installation. Default: - if empty, defaults to the current repository owner
|
|
3275
4213
|
:param permissions: (experimental) The permissions granted to the token. Default: - all permissions granted to the app
|
|
3276
|
-
:param private_key_secret:
|
|
4214
|
+
:param private_key_secret: (experimental) The secret containing the GitHub App private key. Escaped newlines (\\n) will be automatically replaced with actual newlines. Default: "PROJEN_APP_PRIVATE_KEY"
|
|
4215
|
+
:param repositories: (experimental) List of repositories to grant access to. Default: - if owner is set and repositories is empty, access will be scoped to all repositories in the provided repository owner's installation. If owner and repositories are empty, access will be scoped to only the current repository.
|
|
3277
4216
|
|
|
3278
4217
|
:default: - app id stored in "PROJEN_APP_ID" and private key stored in "PROJEN_APP_PRIVATE_KEY" with all permissions attached to the app
|
|
3279
4218
|
|
|
3280
|
-
:see: https://projen.io/github
|
|
4219
|
+
:see: https://projen.io/docs/integrations/github/#github-app
|
|
3281
4220
|
:stability: experimental
|
|
3282
4221
|
'''
|
|
3283
4222
|
options = GithubCredentialsAppOptions(
|
|
3284
4223
|
app_id_secret=app_id_secret,
|
|
4224
|
+
owner=owner,
|
|
3285
4225
|
permissions=permissions,
|
|
3286
4226
|
private_key_secret=private_key_secret,
|
|
4227
|
+
repositories=repositories,
|
|
3287
4228
|
)
|
|
3288
4229
|
|
|
3289
4230
|
return typing.cast("GithubCredentials", jsii.sinvoke(cls, "fromApp", [options]))
|
|
@@ -3338,8 +4279,10 @@ class GithubCredentials(
|
|
|
3338
4279
|
jsii_struct_bases=[],
|
|
3339
4280
|
name_mapping={
|
|
3340
4281
|
"app_id_secret": "appIdSecret",
|
|
4282
|
+
"owner": "owner",
|
|
3341
4283
|
"permissions": "permissions",
|
|
3342
4284
|
"private_key_secret": "privateKeySecret",
|
|
4285
|
+
"repositories": "repositories",
|
|
3343
4286
|
},
|
|
3344
4287
|
)
|
|
3345
4288
|
class GithubCredentialsAppOptions:
|
|
@@ -3347,14 +4290,18 @@ class GithubCredentialsAppOptions:
|
|
|
3347
4290
|
self,
|
|
3348
4291
|
*,
|
|
3349
4292
|
app_id_secret: typing.Optional[builtins.str] = None,
|
|
4293
|
+
owner: typing.Optional[builtins.str] = None,
|
|
3350
4294
|
permissions: typing.Optional[typing.Union[_AppPermissions_59709d51, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3351
4295
|
private_key_secret: typing.Optional[builtins.str] = None,
|
|
4296
|
+
repositories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3352
4297
|
) -> None:
|
|
3353
4298
|
'''(experimental) Options for ``GithubCredentials.fromApp``.
|
|
3354
4299
|
|
|
3355
|
-
:param app_id_secret:
|
|
4300
|
+
:param app_id_secret: (experimental) The secret containing the GitHub App ID. Default: "PROJEN_APP_ID"
|
|
4301
|
+
:param owner: (experimental) The owner of the GitHub App installation. Default: - if empty, defaults to the current repository owner
|
|
3356
4302
|
:param permissions: (experimental) The permissions granted to the token. Default: - all permissions granted to the app
|
|
3357
|
-
:param private_key_secret:
|
|
4303
|
+
:param private_key_secret: (experimental) The secret containing the GitHub App private key. Escaped newlines (\\n) will be automatically replaced with actual newlines. Default: "PROJEN_APP_PRIVATE_KEY"
|
|
4304
|
+
:param repositories: (experimental) List of repositories to grant access to. Default: - if owner is set and repositories is empty, access will be scoped to all repositories in the provided repository owner's installation. If owner and repositories are empty, access will be scoped to only the current repository.
|
|
3358
4305
|
|
|
3359
4306
|
:stability: experimental
|
|
3360
4307
|
'''
|
|
@@ -3363,24 +4310,44 @@ class GithubCredentialsAppOptions:
|
|
|
3363
4310
|
if __debug__:
|
|
3364
4311
|
type_hints = typing.get_type_hints(_typecheckingstub__cfe552d6288d1f706792afe5f041e666db050b8d0d3bb7062899a3bdefe652a8)
|
|
3365
4312
|
check_type(argname="argument app_id_secret", value=app_id_secret, expected_type=type_hints["app_id_secret"])
|
|
4313
|
+
check_type(argname="argument owner", value=owner, expected_type=type_hints["owner"])
|
|
3366
4314
|
check_type(argname="argument permissions", value=permissions, expected_type=type_hints["permissions"])
|
|
3367
4315
|
check_type(argname="argument private_key_secret", value=private_key_secret, expected_type=type_hints["private_key_secret"])
|
|
4316
|
+
check_type(argname="argument repositories", value=repositories, expected_type=type_hints["repositories"])
|
|
3368
4317
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3369
4318
|
if app_id_secret is not None:
|
|
3370
4319
|
self._values["app_id_secret"] = app_id_secret
|
|
4320
|
+
if owner is not None:
|
|
4321
|
+
self._values["owner"] = owner
|
|
3371
4322
|
if permissions is not None:
|
|
3372
4323
|
self._values["permissions"] = permissions
|
|
3373
4324
|
if private_key_secret is not None:
|
|
3374
4325
|
self._values["private_key_secret"] = private_key_secret
|
|
4326
|
+
if repositories is not None:
|
|
4327
|
+
self._values["repositories"] = repositories
|
|
3375
4328
|
|
|
3376
4329
|
@builtins.property
|
|
3377
4330
|
def app_id_secret(self) -> typing.Optional[builtins.str]:
|
|
3378
|
-
'''
|
|
4331
|
+
'''(experimental) The secret containing the GitHub App ID.
|
|
4332
|
+
|
|
4333
|
+
:default: "PROJEN_APP_ID"
|
|
4334
|
+
|
|
3379
4335
|
:stability: experimental
|
|
3380
4336
|
'''
|
|
3381
4337
|
result = self._values.get("app_id_secret")
|
|
3382
4338
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
3383
4339
|
|
|
4340
|
+
@builtins.property
|
|
4341
|
+
def owner(self) -> typing.Optional[builtins.str]:
|
|
4342
|
+
'''(experimental) The owner of the GitHub App installation.
|
|
4343
|
+
|
|
4344
|
+
:default: - if empty, defaults to the current repository owner
|
|
4345
|
+
|
|
4346
|
+
:stability: experimental
|
|
4347
|
+
'''
|
|
4348
|
+
result = self._values.get("owner")
|
|
4349
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4350
|
+
|
|
3384
4351
|
@builtins.property
|
|
3385
4352
|
def permissions(self) -> typing.Optional[_AppPermissions_59709d51]:
|
|
3386
4353
|
'''(experimental) The permissions granted to the token.
|
|
@@ -3394,12 +4361,31 @@ class GithubCredentialsAppOptions:
|
|
|
3394
4361
|
|
|
3395
4362
|
@builtins.property
|
|
3396
4363
|
def private_key_secret(self) -> typing.Optional[builtins.str]:
|
|
3397
|
-
'''
|
|
4364
|
+
'''(experimental) The secret containing the GitHub App private key.
|
|
4365
|
+
|
|
4366
|
+
Escaped newlines (\\n) will be automatically replaced with actual newlines.
|
|
4367
|
+
|
|
4368
|
+
:default: "PROJEN_APP_PRIVATE_KEY"
|
|
4369
|
+
|
|
3398
4370
|
:stability: experimental
|
|
3399
4371
|
'''
|
|
3400
4372
|
result = self._values.get("private_key_secret")
|
|
3401
4373
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
3402
4374
|
|
|
4375
|
+
@builtins.property
|
|
4376
|
+
def repositories(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
4377
|
+
'''(experimental) List of repositories to grant access to.
|
|
4378
|
+
|
|
4379
|
+
:default:
|
|
4380
|
+
|
|
4381
|
+
- if owner is set and repositories is empty, access will be scoped to all repositories in the provided repository owner's installation.
|
|
4382
|
+
If owner and repositories are empty, access will be scoped to only the current repository.
|
|
4383
|
+
|
|
4384
|
+
:stability: experimental
|
|
4385
|
+
'''
|
|
4386
|
+
result = self._values.get("repositories")
|
|
4387
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
4388
|
+
|
|
3403
4389
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3404
4390
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3405
4391
|
|
|
@@ -3470,14 +4456,20 @@ class GithubWorkflow(
|
|
|
3470
4456
|
github: GitHub,
|
|
3471
4457
|
name: builtins.str,
|
|
3472
4458
|
*,
|
|
3473
|
-
|
|
4459
|
+
concurrency_options: typing.Optional[typing.Union[ConcurrencyOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4460
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4461
|
+
file_name: typing.Optional[builtins.str] = None,
|
|
3474
4462
|
force: typing.Optional[builtins.bool] = None,
|
|
4463
|
+
limit_concurrency: typing.Optional[builtins.bool] = None,
|
|
3475
4464
|
) -> None:
|
|
3476
4465
|
'''
|
|
3477
|
-
:param github:
|
|
3478
|
-
:param name:
|
|
3479
|
-
:param
|
|
4466
|
+
:param github: The GitHub component of the project this workflow belongs to.
|
|
4467
|
+
:param name: The name of the workflow, displayed under the repository's "Actions" tab.
|
|
4468
|
+
:param concurrency_options: (experimental) Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. Currently in beta. Default: - { group: ${{ github.workflow }}, cancelInProgress: false }
|
|
4469
|
+
:param env: (experimental) Additional environment variables to set for the workflow. Default: - no additional environment variables
|
|
4470
|
+
:param file_name: (experimental) Set a custom file name for the workflow definition file. Must include either a .yml or .yaml file extension. Use this option to set a file name for the workflow file, that is different than the display name. Default: - a path-safe version of the workflow name plus the .yml file ending, e.g. build.yml
|
|
3480
4471
|
:param force: (experimental) Force the creation of the workflow even if ``workflows`` is disabled in ``GitHub``. Default: false
|
|
4472
|
+
:param limit_concurrency: (experimental) Enable concurrency limitations. Use ``concurrencyOptions`` to configure specific non default values. Default: false
|
|
3481
4473
|
|
|
3482
4474
|
:stability: experimental
|
|
3483
4475
|
'''
|
|
@@ -3485,7 +4477,13 @@ class GithubWorkflow(
|
|
|
3485
4477
|
type_hints = typing.get_type_hints(_typecheckingstub__ca4f375b4fda039fc4fb5b2f4ad26a9d1695085d170d2d76e6d720c7cc22d02a)
|
|
3486
4478
|
check_type(argname="argument github", value=github, expected_type=type_hints["github"])
|
|
3487
4479
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
3488
|
-
options = GithubWorkflowOptions(
|
|
4480
|
+
options = GithubWorkflowOptions(
|
|
4481
|
+
concurrency_options=concurrency_options,
|
|
4482
|
+
env=env,
|
|
4483
|
+
file_name=file_name,
|
|
4484
|
+
force=force,
|
|
4485
|
+
limit_concurrency=limit_concurrency,
|
|
4486
|
+
)
|
|
3489
4487
|
|
|
3490
4488
|
jsii.create(self.__class__, self, [github, name, options])
|
|
3491
4489
|
|
|
@@ -3697,7 +4695,7 @@ class GithubWorkflow(
|
|
|
3697
4695
|
self,
|
|
3698
4696
|
jobs: typing.Mapping[builtins.str, typing.Union[typing.Union[_JobCallingReusableWorkflow_12ad1018, typing.Dict[builtins.str, typing.Any]], typing.Union[_Job_20ffcf45, typing.Dict[builtins.str, typing.Any]]]],
|
|
3699
4697
|
) -> None:
|
|
3700
|
-
'''(experimental) Updates jobs for this
|
|
4698
|
+
'''(experimental) Updates jobs for this workflow Does a complete replace, it does not try to merge the jobs.
|
|
3701
4699
|
|
|
3702
4700
|
:param jobs: Jobs to update.
|
|
3703
4701
|
|
|
@@ -3708,11 +4706,28 @@ class GithubWorkflow(
|
|
|
3708
4706
|
check_type(argname="argument jobs", value=jobs, expected_type=type_hints["jobs"])
|
|
3709
4707
|
return typing.cast(None, jsii.invoke(self, "updateJobs", [jobs]))
|
|
3710
4708
|
|
|
4709
|
+
@builtins.property
|
|
4710
|
+
@jsii.member(jsii_name="jobs")
|
|
4711
|
+
def jobs(
|
|
4712
|
+
self,
|
|
4713
|
+
) -> typing.Mapping[builtins.str, typing.Union[_JobCallingReusableWorkflow_12ad1018, _Job_20ffcf45]]:
|
|
4714
|
+
'''(experimental) All current jobs of the workflow.
|
|
4715
|
+
|
|
4716
|
+
This is a read-only copy, use the respective helper methods to add, update or remove jobs.
|
|
4717
|
+
|
|
4718
|
+
:stability: experimental
|
|
4719
|
+
'''
|
|
4720
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Union[_JobCallingReusableWorkflow_12ad1018, _Job_20ffcf45]], jsii.get(self, "jobs"))
|
|
4721
|
+
|
|
3711
4722
|
@builtins.property
|
|
3712
4723
|
@jsii.member(jsii_name="name")
|
|
3713
4724
|
def name(self) -> builtins.str:
|
|
3714
4725
|
'''(experimental) The name of the workflow.
|
|
3715
4726
|
|
|
4727
|
+
GitHub displays the names of your workflows under your repository's
|
|
4728
|
+
"Actions" tab.
|
|
4729
|
+
|
|
4730
|
+
:see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#name
|
|
3716
4731
|
:stability: experimental
|
|
3717
4732
|
'''
|
|
3718
4733
|
return typing.cast(builtins.str, jsii.get(self, "name"))
|
|
@@ -3728,14 +4743,23 @@ class GithubWorkflow(
|
|
|
3728
4743
|
|
|
3729
4744
|
@builtins.property
|
|
3730
4745
|
@jsii.member(jsii_name="concurrency")
|
|
3731
|
-
def concurrency(self) -> typing.Optional[
|
|
3732
|
-
'''(experimental)
|
|
4746
|
+
def concurrency(self) -> typing.Optional[ConcurrencyOptions]:
|
|
4747
|
+
'''(experimental) The concurrency configuration of the workflow.
|
|
4748
|
+
|
|
4749
|
+
undefined means no concurrency limitations.
|
|
4750
|
+
|
|
4751
|
+
:stability: experimental
|
|
4752
|
+
'''
|
|
4753
|
+
return typing.cast(typing.Optional[ConcurrencyOptions], jsii.get(self, "concurrency"))
|
|
3733
4754
|
|
|
3734
|
-
|
|
4755
|
+
@builtins.property
|
|
4756
|
+
@jsii.member(jsii_name="env")
|
|
4757
|
+
def env(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
4758
|
+
'''(experimental) Additional environment variables to set for the workflow.
|
|
3735
4759
|
|
|
3736
4760
|
:stability: experimental
|
|
3737
4761
|
'''
|
|
3738
|
-
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "
|
|
4762
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "env"))
|
|
3739
4763
|
|
|
3740
4764
|
@builtins.property
|
|
3741
4765
|
@jsii.member(jsii_name="file")
|
|
@@ -3772,62 +4796,312 @@ class GithubWorkflow(
|
|
|
3772
4796
|
if __debug__:
|
|
3773
4797
|
type_hints = typing.get_type_hints(_typecheckingstub__a6273080200c7722c9774364ee8460bccd3337cd48edc420530ca75f7c2974d9)
|
|
3774
4798
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3775
|
-
jsii.set(self, "runName", value)
|
|
4799
|
+
jsii.set(self, "runName", value) # pyright: ignore[reportArgumentType]
|
|
3776
4800
|
|
|
3777
4801
|
|
|
3778
4802
|
@jsii.data_type(
|
|
3779
4803
|
jsii_type="projen.github.GithubWorkflowOptions",
|
|
3780
4804
|
jsii_struct_bases=[],
|
|
3781
|
-
name_mapping={
|
|
4805
|
+
name_mapping={
|
|
4806
|
+
"concurrency_options": "concurrencyOptions",
|
|
4807
|
+
"env": "env",
|
|
4808
|
+
"file_name": "fileName",
|
|
4809
|
+
"force": "force",
|
|
4810
|
+
"limit_concurrency": "limitConcurrency",
|
|
4811
|
+
},
|
|
3782
4812
|
)
|
|
3783
4813
|
class GithubWorkflowOptions:
|
|
3784
4814
|
def __init__(
|
|
3785
4815
|
self,
|
|
3786
4816
|
*,
|
|
3787
|
-
|
|
4817
|
+
concurrency_options: typing.Optional[typing.Union[ConcurrencyOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4818
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4819
|
+
file_name: typing.Optional[builtins.str] = None,
|
|
3788
4820
|
force: typing.Optional[builtins.bool] = None,
|
|
4821
|
+
limit_concurrency: typing.Optional[builtins.bool] = None,
|
|
3789
4822
|
) -> None:
|
|
3790
4823
|
'''(experimental) Options for ``GithubWorkflow``.
|
|
3791
4824
|
|
|
3792
|
-
:param
|
|
4825
|
+
:param concurrency_options: (experimental) Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. Currently in beta. Default: - { group: ${{ github.workflow }}, cancelInProgress: false }
|
|
4826
|
+
:param env: (experimental) Additional environment variables to set for the workflow. Default: - no additional environment variables
|
|
4827
|
+
:param file_name: (experimental) Set a custom file name for the workflow definition file. Must include either a .yml or .yaml file extension. Use this option to set a file name for the workflow file, that is different than the display name. Default: - a path-safe version of the workflow name plus the .yml file ending, e.g. build.yml
|
|
3793
4828
|
:param force: (experimental) Force the creation of the workflow even if ``workflows`` is disabled in ``GitHub``. Default: false
|
|
4829
|
+
:param limit_concurrency: (experimental) Enable concurrency limitations. Use ``concurrencyOptions`` to configure specific non default values. Default: false
|
|
3794
4830
|
|
|
3795
4831
|
:stability: experimental
|
|
3796
4832
|
'''
|
|
4833
|
+
if isinstance(concurrency_options, dict):
|
|
4834
|
+
concurrency_options = ConcurrencyOptions(**concurrency_options)
|
|
3797
4835
|
if __debug__:
|
|
3798
4836
|
type_hints = typing.get_type_hints(_typecheckingstub__c779b00d3df0cff3a9570cc6ed35339952399a898d5854423c3329b55bf736ec)
|
|
3799
|
-
check_type(argname="argument
|
|
4837
|
+
check_type(argname="argument concurrency_options", value=concurrency_options, expected_type=type_hints["concurrency_options"])
|
|
4838
|
+
check_type(argname="argument env", value=env, expected_type=type_hints["env"])
|
|
4839
|
+
check_type(argname="argument file_name", value=file_name, expected_type=type_hints["file_name"])
|
|
3800
4840
|
check_type(argname="argument force", value=force, expected_type=type_hints["force"])
|
|
4841
|
+
check_type(argname="argument limit_concurrency", value=limit_concurrency, expected_type=type_hints["limit_concurrency"])
|
|
3801
4842
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3802
|
-
if
|
|
3803
|
-
self._values["
|
|
4843
|
+
if concurrency_options is not None:
|
|
4844
|
+
self._values["concurrency_options"] = concurrency_options
|
|
4845
|
+
if env is not None:
|
|
4846
|
+
self._values["env"] = env
|
|
4847
|
+
if file_name is not None:
|
|
4848
|
+
self._values["file_name"] = file_name
|
|
3804
4849
|
if force is not None:
|
|
3805
4850
|
self._values["force"] = force
|
|
4851
|
+
if limit_concurrency is not None:
|
|
4852
|
+
self._values["limit_concurrency"] = limit_concurrency
|
|
4853
|
+
|
|
4854
|
+
@builtins.property
|
|
4855
|
+
def concurrency_options(self) -> typing.Optional[ConcurrencyOptions]:
|
|
4856
|
+
'''(experimental) Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time.
|
|
4857
|
+
|
|
4858
|
+
Currently in beta.
|
|
4859
|
+
|
|
4860
|
+
:default: - { group: ${{ github.workflow }}, cancelInProgress: false }
|
|
4861
|
+
|
|
4862
|
+
:see: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#concurrency
|
|
4863
|
+
:stability: experimental
|
|
4864
|
+
'''
|
|
4865
|
+
result = self._values.get("concurrency_options")
|
|
4866
|
+
return typing.cast(typing.Optional[ConcurrencyOptions], result)
|
|
4867
|
+
|
|
4868
|
+
@builtins.property
|
|
4869
|
+
def env(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
4870
|
+
'''(experimental) Additional environment variables to set for the workflow.
|
|
4871
|
+
|
|
4872
|
+
:default: - no additional environment variables
|
|
4873
|
+
|
|
4874
|
+
:stability: experimental
|
|
4875
|
+
'''
|
|
4876
|
+
result = self._values.get("env")
|
|
4877
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
4878
|
+
|
|
4879
|
+
@builtins.property
|
|
4880
|
+
def file_name(self) -> typing.Optional[builtins.str]:
|
|
4881
|
+
'''(experimental) Set a custom file name for the workflow definition file. Must include either a .yml or .yaml file extension.
|
|
4882
|
+
|
|
4883
|
+
Use this option to set a file name for the workflow file, that is different than the display name.
|
|
4884
|
+
|
|
4885
|
+
:default: - a path-safe version of the workflow name plus the .yml file ending, e.g. build.yml
|
|
4886
|
+
|
|
4887
|
+
:stability: experimental
|
|
4888
|
+
|
|
4889
|
+
Example::
|
|
4890
|
+
|
|
4891
|
+
"my-workflow.yaml"
|
|
4892
|
+
'''
|
|
4893
|
+
result = self._values.get("file_name")
|
|
4894
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4895
|
+
|
|
4896
|
+
@builtins.property
|
|
4897
|
+
def force(self) -> typing.Optional[builtins.bool]:
|
|
4898
|
+
'''(experimental) Force the creation of the workflow even if ``workflows`` is disabled in ``GitHub``.
|
|
4899
|
+
|
|
4900
|
+
:default: false
|
|
4901
|
+
|
|
4902
|
+
:stability: experimental
|
|
4903
|
+
'''
|
|
4904
|
+
result = self._values.get("force")
|
|
4905
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4906
|
+
|
|
4907
|
+
@builtins.property
|
|
4908
|
+
def limit_concurrency(self) -> typing.Optional[builtins.bool]:
|
|
4909
|
+
'''(experimental) Enable concurrency limitations.
|
|
4910
|
+
|
|
4911
|
+
Use ``concurrencyOptions`` to configure specific non default values.
|
|
4912
|
+
|
|
4913
|
+
:default: false
|
|
4914
|
+
|
|
4915
|
+
:stability: experimental
|
|
4916
|
+
'''
|
|
4917
|
+
result = self._values.get("limit_concurrency")
|
|
4918
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4919
|
+
|
|
4920
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4921
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4922
|
+
|
|
4923
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4924
|
+
return not (rhs == self)
|
|
4925
|
+
|
|
4926
|
+
def __repr__(self) -> str:
|
|
4927
|
+
return "GithubWorkflowOptions(%s)" % ", ".join(
|
|
4928
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4929
|
+
)
|
|
4930
|
+
|
|
4931
|
+
|
|
4932
|
+
@jsii.interface(jsii_type="projen.github.IAddConditionsLater")
|
|
4933
|
+
class IAddConditionsLater(typing_extensions.Protocol):
|
|
4934
|
+
'''
|
|
4935
|
+
:stability: experimental
|
|
4936
|
+
'''
|
|
4937
|
+
|
|
4938
|
+
@jsii.member(jsii_name="render")
|
|
4939
|
+
def render(self) -> typing.List[builtins.str]:
|
|
4940
|
+
'''
|
|
4941
|
+
:stability: experimental
|
|
4942
|
+
'''
|
|
4943
|
+
...
|
|
4944
|
+
|
|
4945
|
+
|
|
4946
|
+
class _IAddConditionsLaterProxy:
|
|
4947
|
+
'''
|
|
4948
|
+
:stability: experimental
|
|
4949
|
+
'''
|
|
4950
|
+
|
|
4951
|
+
__jsii_type__: typing.ClassVar[str] = "projen.github.IAddConditionsLater"
|
|
4952
|
+
|
|
4953
|
+
@jsii.member(jsii_name="render")
|
|
4954
|
+
def render(self) -> typing.List[builtins.str]:
|
|
4955
|
+
'''
|
|
4956
|
+
:stability: experimental
|
|
4957
|
+
'''
|
|
4958
|
+
return typing.cast(typing.List[builtins.str], jsii.invoke(self, "render", []))
|
|
4959
|
+
|
|
4960
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
4961
|
+
typing.cast(typing.Any, IAddConditionsLater).__jsii_proxy_class__ = lambda : _IAddConditionsLaterProxy
|
|
4962
|
+
|
|
4963
|
+
|
|
4964
|
+
@jsii.enum(jsii_type="projen.github.MergeMethod")
|
|
4965
|
+
class MergeMethod(enum.Enum):
|
|
4966
|
+
'''(experimental) The merge method used to add the PR to the merge queue.
|
|
4967
|
+
|
|
4968
|
+
Behavior can be further configured in repository settings.
|
|
4969
|
+
|
|
4970
|
+
:stability: experimental
|
|
4971
|
+
'''
|
|
4972
|
+
|
|
4973
|
+
SQUASH = "SQUASH"
|
|
4974
|
+
'''
|
|
4975
|
+
:stability: experimental
|
|
4976
|
+
'''
|
|
4977
|
+
MERGE = "MERGE"
|
|
4978
|
+
'''
|
|
4979
|
+
:stability: experimental
|
|
4980
|
+
'''
|
|
4981
|
+
REBASE = "REBASE"
|
|
4982
|
+
'''
|
|
4983
|
+
:stability: experimental
|
|
4984
|
+
'''
|
|
4985
|
+
|
|
4986
|
+
|
|
4987
|
+
class MergeQueue(
|
|
4988
|
+
_Component_2b0ad27f,
|
|
4989
|
+
metaclass=jsii.JSIIMeta,
|
|
4990
|
+
jsii_type="projen.github.MergeQueue",
|
|
4991
|
+
):
|
|
4992
|
+
'''(experimental) Merge pull requests using a merge queue.
|
|
4993
|
+
|
|
4994
|
+
:stability: experimental
|
|
4995
|
+
'''
|
|
4996
|
+
|
|
4997
|
+
def __init__(
|
|
4998
|
+
self,
|
|
4999
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
5000
|
+
*,
|
|
5001
|
+
auto_queue: typing.Optional[builtins.bool] = None,
|
|
5002
|
+
auto_queue_options: typing.Optional[typing.Union[AutoQueueOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5003
|
+
target_branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5004
|
+
) -> None:
|
|
5005
|
+
'''
|
|
5006
|
+
:param scope: -
|
|
5007
|
+
:param auto_queue: (experimental) Should pull requests be queued automatically to be merged once they pass required checks. Default: true
|
|
5008
|
+
:param auto_queue_options: (experimental) Configure auto-queue pull requests. Default: - see AutoQueueOptions
|
|
5009
|
+
:param target_branches: (experimental) The branches that can be merged into using MergeQueue. Default: - all branches
|
|
5010
|
+
|
|
5011
|
+
:stability: experimental
|
|
5012
|
+
'''
|
|
5013
|
+
if __debug__:
|
|
5014
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8d0860f4805d4f3404f9b940157e555ab934aaea8c3deecc2681f63f23129dc7)
|
|
5015
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
5016
|
+
options = MergeQueueOptions(
|
|
5017
|
+
auto_queue=auto_queue,
|
|
5018
|
+
auto_queue_options=auto_queue_options,
|
|
5019
|
+
target_branches=target_branches,
|
|
5020
|
+
)
|
|
5021
|
+
|
|
5022
|
+
jsii.create(self.__class__, self, [scope, options])
|
|
5023
|
+
|
|
5024
|
+
@jsii.member(jsii_name="preSynthesize")
|
|
5025
|
+
def pre_synthesize(self) -> None:
|
|
5026
|
+
'''(experimental) Called before synthesis.
|
|
5027
|
+
|
|
5028
|
+
:stability: experimental
|
|
5029
|
+
'''
|
|
5030
|
+
return typing.cast(None, jsii.invoke(self, "preSynthesize", []))
|
|
5031
|
+
|
|
5032
|
+
|
|
5033
|
+
@jsii.data_type(
|
|
5034
|
+
jsii_type="projen.github.MergeQueueOptions",
|
|
5035
|
+
jsii_struct_bases=[],
|
|
5036
|
+
name_mapping={
|
|
5037
|
+
"auto_queue": "autoQueue",
|
|
5038
|
+
"auto_queue_options": "autoQueueOptions",
|
|
5039
|
+
"target_branches": "targetBranches",
|
|
5040
|
+
},
|
|
5041
|
+
)
|
|
5042
|
+
class MergeQueueOptions:
|
|
5043
|
+
def __init__(
|
|
5044
|
+
self,
|
|
5045
|
+
*,
|
|
5046
|
+
auto_queue: typing.Optional[builtins.bool] = None,
|
|
5047
|
+
auto_queue_options: typing.Optional[typing.Union[AutoQueueOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5048
|
+
target_branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5049
|
+
) -> None:
|
|
5050
|
+
'''(experimental) Options for 'MergeQueue'.
|
|
5051
|
+
|
|
5052
|
+
:param auto_queue: (experimental) Should pull requests be queued automatically to be merged once they pass required checks. Default: true
|
|
5053
|
+
:param auto_queue_options: (experimental) Configure auto-queue pull requests. Default: - see AutoQueueOptions
|
|
5054
|
+
:param target_branches: (experimental) The branches that can be merged into using MergeQueue. Default: - all branches
|
|
5055
|
+
|
|
5056
|
+
:stability: experimental
|
|
5057
|
+
'''
|
|
5058
|
+
if isinstance(auto_queue_options, dict):
|
|
5059
|
+
auto_queue_options = AutoQueueOptions(**auto_queue_options)
|
|
5060
|
+
if __debug__:
|
|
5061
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5ed41b74ffbee4fd52a12674b58bd68e113a707d7c3dec6e1ecb7f9647debbc3)
|
|
5062
|
+
check_type(argname="argument auto_queue", value=auto_queue, expected_type=type_hints["auto_queue"])
|
|
5063
|
+
check_type(argname="argument auto_queue_options", value=auto_queue_options, expected_type=type_hints["auto_queue_options"])
|
|
5064
|
+
check_type(argname="argument target_branches", value=target_branches, expected_type=type_hints["target_branches"])
|
|
5065
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
5066
|
+
if auto_queue is not None:
|
|
5067
|
+
self._values["auto_queue"] = auto_queue
|
|
5068
|
+
if auto_queue_options is not None:
|
|
5069
|
+
self._values["auto_queue_options"] = auto_queue_options
|
|
5070
|
+
if target_branches is not None:
|
|
5071
|
+
self._values["target_branches"] = target_branches
|
|
5072
|
+
|
|
5073
|
+
@builtins.property
|
|
5074
|
+
def auto_queue(self) -> typing.Optional[builtins.bool]:
|
|
5075
|
+
'''(experimental) Should pull requests be queued automatically to be merged once they pass required checks.
|
|
5076
|
+
|
|
5077
|
+
:default: true
|
|
3806
5078
|
|
|
3807
|
-
|
|
3808
|
-
|
|
3809
|
-
|
|
5079
|
+
:stability: experimental
|
|
5080
|
+
'''
|
|
5081
|
+
result = self._values.get("auto_queue")
|
|
5082
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3810
5083
|
|
|
3811
|
-
|
|
5084
|
+
@builtins.property
|
|
5085
|
+
def auto_queue_options(self) -> typing.Optional[AutoQueueOptions]:
|
|
5086
|
+
'''(experimental) Configure auto-queue pull requests.
|
|
3812
5087
|
|
|
3813
|
-
:default: -
|
|
5088
|
+
:default: - see AutoQueueOptions
|
|
3814
5089
|
|
|
3815
|
-
:see: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#concurrency
|
|
3816
5090
|
:stability: experimental
|
|
3817
5091
|
'''
|
|
3818
|
-
result = self._values.get("
|
|
3819
|
-
return typing.cast(typing.Optional[
|
|
5092
|
+
result = self._values.get("auto_queue_options")
|
|
5093
|
+
return typing.cast(typing.Optional[AutoQueueOptions], result)
|
|
3820
5094
|
|
|
3821
5095
|
@builtins.property
|
|
3822
|
-
def
|
|
3823
|
-
'''(experimental)
|
|
5096
|
+
def target_branches(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
5097
|
+
'''(experimental) The branches that can be merged into using MergeQueue.
|
|
3824
5098
|
|
|
3825
|
-
:default:
|
|
5099
|
+
:default: - all branches
|
|
3826
5100
|
|
|
3827
5101
|
:stability: experimental
|
|
3828
5102
|
'''
|
|
3829
|
-
result = self._values.get("
|
|
3830
|
-
return typing.cast(typing.Optional[builtins.
|
|
5103
|
+
result = self._values.get("target_branches")
|
|
5104
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
3831
5105
|
|
|
3832
5106
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3833
5107
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -3836,43 +5110,11 @@ class GithubWorkflowOptions:
|
|
|
3836
5110
|
return not (rhs == self)
|
|
3837
5111
|
|
|
3838
5112
|
def __repr__(self) -> str:
|
|
3839
|
-
return "
|
|
5113
|
+
return "MergeQueueOptions(%s)" % ", ".join(
|
|
3840
5114
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
3841
5115
|
)
|
|
3842
5116
|
|
|
3843
5117
|
|
|
3844
|
-
@jsii.interface(jsii_type="projen.github.IAddConditionsLater")
|
|
3845
|
-
class IAddConditionsLater(typing_extensions.Protocol):
|
|
3846
|
-
'''
|
|
3847
|
-
:stability: experimental
|
|
3848
|
-
'''
|
|
3849
|
-
|
|
3850
|
-
@jsii.member(jsii_name="render")
|
|
3851
|
-
def render(self) -> typing.List[builtins.str]:
|
|
3852
|
-
'''
|
|
3853
|
-
:stability: experimental
|
|
3854
|
-
'''
|
|
3855
|
-
...
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
class _IAddConditionsLaterProxy:
|
|
3859
|
-
'''
|
|
3860
|
-
:stability: experimental
|
|
3861
|
-
'''
|
|
3862
|
-
|
|
3863
|
-
__jsii_type__: typing.ClassVar[str] = "projen.github.IAddConditionsLater"
|
|
3864
|
-
|
|
3865
|
-
@jsii.member(jsii_name="render")
|
|
3866
|
-
def render(self) -> typing.List[builtins.str]:
|
|
3867
|
-
'''
|
|
3868
|
-
:stability: experimental
|
|
3869
|
-
'''
|
|
3870
|
-
return typing.cast(typing.List[builtins.str], jsii.invoke(self, "render", []))
|
|
3871
|
-
|
|
3872
|
-
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
3873
|
-
typing.cast(typing.Any, IAddConditionsLater).__jsii_proxy_class__ = lambda : _IAddConditionsLaterProxy
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
5118
|
class Mergify(
|
|
3877
5119
|
_Component_2b0ad27f,
|
|
3878
5120
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3891,8 +5133,8 @@ class Mergify(
|
|
|
3891
5133
|
) -> None:
|
|
3892
5134
|
'''
|
|
3893
5135
|
:param github: -
|
|
3894
|
-
:param queues:
|
|
3895
|
-
:param rules:
|
|
5136
|
+
:param queues: (experimental) The available merge queues.
|
|
5137
|
+
:param rules: (experimental) Pull request automation rules.
|
|
3896
5138
|
|
|
3897
5139
|
:stability: experimental
|
|
3898
5140
|
'''
|
|
@@ -3907,23 +5149,32 @@ class Mergify(
|
|
|
3907
5149
|
def add_queue(
|
|
3908
5150
|
self,
|
|
3909
5151
|
*,
|
|
3910
|
-
|
|
5152
|
+
commit_message_template: builtins.str,
|
|
3911
5153
|
name: builtins.str,
|
|
5154
|
+
conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union["MergifyConditionalOperator", typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
5155
|
+
merge_conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union["MergifyConditionalOperator", typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
3912
5156
|
merge_method: typing.Optional[builtins.str] = None,
|
|
5157
|
+
queue_conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union["MergifyConditionalOperator", typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
3913
5158
|
update_method: typing.Optional[builtins.str] = None,
|
|
3914
5159
|
) -> None:
|
|
3915
5160
|
'''
|
|
3916
|
-
:param
|
|
5161
|
+
:param commit_message_template: (experimental) Template to use as the commit message when using the merge or squash merge method.
|
|
3917
5162
|
:param name: (experimental) The name of the queue.
|
|
5163
|
+
:param conditions: (deprecated) The list of conditions that needs to match to queue the pull request.
|
|
5164
|
+
:param merge_conditions: (experimental) The list of conditions to match to get the queued pull request merged. This automatically includes the queueConditions. In case of speculative merge pull request, the merge conditions are evaluated against the temporary pull request instead of the original one.
|
|
3918
5165
|
:param merge_method: (experimental) Merge method to use. Possible values are ``merge``, ``squash``, ``rebase`` or ``fast-forward``. ``fast-forward`` is not supported on queues with ``speculative_checks`` > 1, ``batch_size`` > 1, or with ``allow_inplace_checks`` set to false. Default: "merge"
|
|
5166
|
+
:param queue_conditions: (experimental) The list of conditions that needs to match to queue the pull request.
|
|
3919
5167
|
:param update_method: (experimental) Method to use to update the pull request with its base branch when the speculative check is done in-place. Possible values: - ``merge`` to merge the base branch into the pull request. - ``rebase`` to rebase the pull request against its base branch. Note that the ``rebase`` method has some drawbacks, see Mergify docs for details. Default: - ``merge`` for all merge methods except ``fast-forward`` where ``rebase`` is used
|
|
3920
5168
|
|
|
3921
5169
|
:stability: experimental
|
|
3922
5170
|
'''
|
|
3923
5171
|
queue = MergifyQueue(
|
|
3924
|
-
|
|
5172
|
+
commit_message_template=commit_message_template,
|
|
3925
5173
|
name=name,
|
|
5174
|
+
conditions=conditions,
|
|
5175
|
+
merge_conditions=merge_conditions,
|
|
3926
5176
|
merge_method=merge_method,
|
|
5177
|
+
queue_conditions=queue_conditions,
|
|
3927
5178
|
update_method=update_method,
|
|
3928
5179
|
)
|
|
3929
5180
|
|
|
@@ -4025,10 +5276,14 @@ class MergifyOptions:
|
|
|
4025
5276
|
queues: typing.Optional[typing.Sequence[typing.Union["MergifyQueue", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4026
5277
|
rules: typing.Optional[typing.Sequence[typing.Union["MergifyRule", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4027
5278
|
) -> None:
|
|
4028
|
-
'''
|
|
4029
|
-
:param queues:
|
|
4030
|
-
:param rules:
|
|
5279
|
+
'''(experimental) Configure Mergify.
|
|
4031
5280
|
|
|
5281
|
+
This currently only offers a subset of options available.
|
|
5282
|
+
|
|
5283
|
+
:param queues: (experimental) The available merge queues.
|
|
5284
|
+
:param rules: (experimental) Pull request automation rules.
|
|
5285
|
+
|
|
5286
|
+
:see: https://docs.mergify.com/configuration/file-format/
|
|
4032
5287
|
:stability: experimental
|
|
4033
5288
|
'''
|
|
4034
5289
|
if __debug__:
|
|
@@ -4043,7 +5298,8 @@ class MergifyOptions:
|
|
|
4043
5298
|
|
|
4044
5299
|
@builtins.property
|
|
4045
5300
|
def queues(self) -> typing.Optional[typing.List["MergifyQueue"]]:
|
|
4046
|
-
'''
|
|
5301
|
+
'''(experimental) The available merge queues.
|
|
5302
|
+
|
|
4047
5303
|
:stability: experimental
|
|
4048
5304
|
'''
|
|
4049
5305
|
result = self._values.get("queues")
|
|
@@ -4051,7 +5307,8 @@ class MergifyOptions:
|
|
|
4051
5307
|
|
|
4052
5308
|
@builtins.property
|
|
4053
5309
|
def rules(self) -> typing.Optional[typing.List["MergifyRule"]]:
|
|
4054
|
-
'''
|
|
5310
|
+
'''(experimental) Pull request automation rules.
|
|
5311
|
+
|
|
4055
5312
|
:stability: experimental
|
|
4056
5313
|
'''
|
|
4057
5314
|
result = self._values.get("rules")
|
|
@@ -4073,9 +5330,12 @@ class MergifyOptions:
|
|
|
4073
5330
|
jsii_type="projen.github.MergifyQueue",
|
|
4074
5331
|
jsii_struct_bases=[],
|
|
4075
5332
|
name_mapping={
|
|
4076
|
-
"
|
|
5333
|
+
"commit_message_template": "commitMessageTemplate",
|
|
4077
5334
|
"name": "name",
|
|
5335
|
+
"conditions": "conditions",
|
|
5336
|
+
"merge_conditions": "mergeConditions",
|
|
4078
5337
|
"merge_method": "mergeMethod",
|
|
5338
|
+
"queue_conditions": "queueConditions",
|
|
4079
5339
|
"update_method": "updateMethod",
|
|
4080
5340
|
},
|
|
4081
5341
|
)
|
|
@@ -4083,46 +5343,58 @@ class MergifyQueue:
|
|
|
4083
5343
|
def __init__(
|
|
4084
5344
|
self,
|
|
4085
5345
|
*,
|
|
4086
|
-
|
|
5346
|
+
commit_message_template: builtins.str,
|
|
4087
5347
|
name: builtins.str,
|
|
5348
|
+
conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union[MergifyConditionalOperator, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
5349
|
+
merge_conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union[MergifyConditionalOperator, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
4088
5350
|
merge_method: typing.Optional[builtins.str] = None,
|
|
5351
|
+
queue_conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union[MergifyConditionalOperator, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
4089
5352
|
update_method: typing.Optional[builtins.str] = None,
|
|
4090
5353
|
) -> None:
|
|
4091
5354
|
'''
|
|
4092
|
-
:param
|
|
5355
|
+
:param commit_message_template: (experimental) Template to use as the commit message when using the merge or squash merge method.
|
|
4093
5356
|
:param name: (experimental) The name of the queue.
|
|
5357
|
+
:param conditions: (deprecated) The list of conditions that needs to match to queue the pull request.
|
|
5358
|
+
:param merge_conditions: (experimental) The list of conditions to match to get the queued pull request merged. This automatically includes the queueConditions. In case of speculative merge pull request, the merge conditions are evaluated against the temporary pull request instead of the original one.
|
|
4094
5359
|
:param merge_method: (experimental) Merge method to use. Possible values are ``merge``, ``squash``, ``rebase`` or ``fast-forward``. ``fast-forward`` is not supported on queues with ``speculative_checks`` > 1, ``batch_size`` > 1, or with ``allow_inplace_checks`` set to false. Default: "merge"
|
|
5360
|
+
:param queue_conditions: (experimental) The list of conditions that needs to match to queue the pull request.
|
|
4095
5361
|
:param update_method: (experimental) Method to use to update the pull request with its base branch when the speculative check is done in-place. Possible values: - ``merge`` to merge the base branch into the pull request. - ``rebase`` to rebase the pull request against its base branch. Note that the ``rebase`` method has some drawbacks, see Mergify docs for details. Default: - ``merge`` for all merge methods except ``fast-forward`` where ``rebase`` is used
|
|
4096
5362
|
|
|
4097
5363
|
:stability: experimental
|
|
4098
5364
|
'''
|
|
4099
5365
|
if __debug__:
|
|
4100
5366
|
type_hints = typing.get_type_hints(_typecheckingstub__0471efd0a49bc64e556512e765a1df23d4a975f26cb6de765579b4173907f467)
|
|
4101
|
-
check_type(argname="argument
|
|
5367
|
+
check_type(argname="argument commit_message_template", value=commit_message_template, expected_type=type_hints["commit_message_template"])
|
|
4102
5368
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
5369
|
+
check_type(argname="argument conditions", value=conditions, expected_type=type_hints["conditions"])
|
|
5370
|
+
check_type(argname="argument merge_conditions", value=merge_conditions, expected_type=type_hints["merge_conditions"])
|
|
4103
5371
|
check_type(argname="argument merge_method", value=merge_method, expected_type=type_hints["merge_method"])
|
|
5372
|
+
check_type(argname="argument queue_conditions", value=queue_conditions, expected_type=type_hints["queue_conditions"])
|
|
4104
5373
|
check_type(argname="argument update_method", value=update_method, expected_type=type_hints["update_method"])
|
|
4105
5374
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4106
|
-
"
|
|
5375
|
+
"commit_message_template": commit_message_template,
|
|
4107
5376
|
"name": name,
|
|
4108
5377
|
}
|
|
5378
|
+
if conditions is not None:
|
|
5379
|
+
self._values["conditions"] = conditions
|
|
5380
|
+
if merge_conditions is not None:
|
|
5381
|
+
self._values["merge_conditions"] = merge_conditions
|
|
4109
5382
|
if merge_method is not None:
|
|
4110
5383
|
self._values["merge_method"] = merge_method
|
|
5384
|
+
if queue_conditions is not None:
|
|
5385
|
+
self._values["queue_conditions"] = queue_conditions
|
|
4111
5386
|
if update_method is not None:
|
|
4112
5387
|
self._values["update_method"] = update_method
|
|
4113
5388
|
|
|
4114
5389
|
@builtins.property
|
|
4115
|
-
def
|
|
4116
|
-
|
|
4117
|
-
) -> typing.List[typing.Union[builtins.str, MergifyConditionalOperator]]:
|
|
4118
|
-
'''(experimental) A list of Conditions string that must match against the pull request for the pull request to be added to the queue.
|
|
5390
|
+
def commit_message_template(self) -> builtins.str:
|
|
5391
|
+
'''(experimental) Template to use as the commit message when using the merge or squash merge method.
|
|
4119
5392
|
|
|
4120
|
-
:see: https://docs.mergify.com/conditions/#conditions
|
|
4121
5393
|
:stability: experimental
|
|
4122
5394
|
'''
|
|
4123
|
-
result = self._values.get("
|
|
4124
|
-
assert result is not None, "Required property '
|
|
4125
|
-
return typing.cast(
|
|
5395
|
+
result = self._values.get("commit_message_template")
|
|
5396
|
+
assert result is not None, "Required property 'commit_message_template' is missing"
|
|
5397
|
+
return typing.cast(builtins.str, result)
|
|
4126
5398
|
|
|
4127
5399
|
@builtins.property
|
|
4128
5400
|
def name(self) -> builtins.str:
|
|
@@ -4134,6 +5406,35 @@ class MergifyQueue:
|
|
|
4134
5406
|
assert result is not None, "Required property 'name' is missing"
|
|
4135
5407
|
return typing.cast(builtins.str, result)
|
|
4136
5408
|
|
|
5409
|
+
@builtins.property
|
|
5410
|
+
def conditions(
|
|
5411
|
+
self,
|
|
5412
|
+
) -> typing.Optional[typing.List[typing.Union[builtins.str, MergifyConditionalOperator]]]:
|
|
5413
|
+
'''(deprecated) The list of conditions that needs to match to queue the pull request.
|
|
5414
|
+
|
|
5415
|
+
:deprecated: use ``queueConditions`` instead
|
|
5416
|
+
|
|
5417
|
+
:see: https://docs.mergify.com/configuration/file-format/#queue-rules
|
|
5418
|
+
:stability: deprecated
|
|
5419
|
+
'''
|
|
5420
|
+
result = self._values.get("conditions")
|
|
5421
|
+
return typing.cast(typing.Optional[typing.List[typing.Union[builtins.str, MergifyConditionalOperator]]], result)
|
|
5422
|
+
|
|
5423
|
+
@builtins.property
|
|
5424
|
+
def merge_conditions(
|
|
5425
|
+
self,
|
|
5426
|
+
) -> typing.Optional[typing.List[typing.Union[builtins.str, MergifyConditionalOperator]]]:
|
|
5427
|
+
'''(experimental) The list of conditions to match to get the queued pull request merged.
|
|
5428
|
+
|
|
5429
|
+
This automatically includes the queueConditions.
|
|
5430
|
+
In case of speculative merge pull request, the merge conditions are evaluated against the temporary pull request instead of the original one.
|
|
5431
|
+
|
|
5432
|
+
:see: https://docs.mergify.com/conditions/#conditions
|
|
5433
|
+
:stability: experimental
|
|
5434
|
+
'''
|
|
5435
|
+
result = self._values.get("merge_conditions")
|
|
5436
|
+
return typing.cast(typing.Optional[typing.List[typing.Union[builtins.str, MergifyConditionalOperator]]], result)
|
|
5437
|
+
|
|
4137
5438
|
@builtins.property
|
|
4138
5439
|
def merge_method(self) -> typing.Optional[builtins.str]:
|
|
4139
5440
|
'''(experimental) Merge method to use.
|
|
@@ -4148,104 +5449,336 @@ class MergifyQueue:
|
|
|
4148
5449
|
result = self._values.get("merge_method")
|
|
4149
5450
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
4150
5451
|
|
|
5452
|
+
@builtins.property
|
|
5453
|
+
def queue_conditions(
|
|
5454
|
+
self,
|
|
5455
|
+
) -> typing.Optional[typing.List[typing.Union[builtins.str, MergifyConditionalOperator]]]:
|
|
5456
|
+
'''(experimental) The list of conditions that needs to match to queue the pull request.
|
|
5457
|
+
|
|
5458
|
+
:see: https://docs.mergify.com/conditions/#conditions
|
|
5459
|
+
:stability: experimental
|
|
5460
|
+
'''
|
|
5461
|
+
result = self._values.get("queue_conditions")
|
|
5462
|
+
return typing.cast(typing.Optional[typing.List[typing.Union[builtins.str, MergifyConditionalOperator]]], result)
|
|
5463
|
+
|
|
4151
5464
|
@builtins.property
|
|
4152
5465
|
def update_method(self) -> typing.Optional[builtins.str]:
|
|
4153
5466
|
'''(experimental) Method to use to update the pull request with its base branch when the speculative check is done in-place.
|
|
4154
5467
|
|
|
4155
|
-
Possible values:
|
|
5468
|
+
Possible values:
|
|
5469
|
+
|
|
5470
|
+
- ``merge`` to merge the base branch into the pull request.
|
|
5471
|
+
- ``rebase`` to rebase the pull request against its base branch.
|
|
5472
|
+
|
|
5473
|
+
Note that the ``rebase`` method has some drawbacks, see Mergify docs for details.
|
|
5474
|
+
|
|
5475
|
+
:default: - ``merge`` for all merge methods except ``fast-forward`` where ``rebase`` is used
|
|
5476
|
+
|
|
5477
|
+
:see: https://docs.mergify.com/actions/queue/#queue-rules
|
|
5478
|
+
:stability: experimental
|
|
5479
|
+
'''
|
|
5480
|
+
result = self._values.get("update_method")
|
|
5481
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
5482
|
+
|
|
5483
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5484
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5485
|
+
|
|
5486
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
5487
|
+
return not (rhs == self)
|
|
5488
|
+
|
|
5489
|
+
def __repr__(self) -> str:
|
|
5490
|
+
return "MergifyQueue(%s)" % ", ".join(
|
|
5491
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5492
|
+
)
|
|
5493
|
+
|
|
5494
|
+
|
|
5495
|
+
@jsii.data_type(
|
|
5496
|
+
jsii_type="projen.github.MergifyRule",
|
|
5497
|
+
jsii_struct_bases=[],
|
|
5498
|
+
name_mapping={"actions": "actions", "conditions": "conditions", "name": "name"},
|
|
5499
|
+
)
|
|
5500
|
+
class MergifyRule:
|
|
5501
|
+
def __init__(
|
|
5502
|
+
self,
|
|
5503
|
+
*,
|
|
5504
|
+
actions: typing.Mapping[builtins.str, typing.Any],
|
|
5505
|
+
conditions: typing.Sequence[typing.Union[builtins.str, typing.Union[MergifyConditionalOperator, typing.Dict[builtins.str, typing.Any]]]],
|
|
5506
|
+
name: builtins.str,
|
|
5507
|
+
) -> None:
|
|
5508
|
+
'''
|
|
5509
|
+
:param actions: (experimental) A dictionary made of Actions that will be executed on the matching pull requests.
|
|
5510
|
+
:param conditions: (experimental) A list of Conditions string that must match against the pull request for the rule to be applied.
|
|
5511
|
+
:param name: (experimental) The name of the rule. This is not used by the engine directly, but is used when reporting information about a rule.
|
|
5512
|
+
|
|
5513
|
+
:stability: experimental
|
|
5514
|
+
'''
|
|
5515
|
+
if __debug__:
|
|
5516
|
+
type_hints = typing.get_type_hints(_typecheckingstub__95405391335691b357d88cc73d37d1ee20fceae6cf671811812f639729b5accd)
|
|
5517
|
+
check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
|
|
5518
|
+
check_type(argname="argument conditions", value=conditions, expected_type=type_hints["conditions"])
|
|
5519
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
5520
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
5521
|
+
"actions": actions,
|
|
5522
|
+
"conditions": conditions,
|
|
5523
|
+
"name": name,
|
|
5524
|
+
}
|
|
5525
|
+
|
|
5526
|
+
@builtins.property
|
|
5527
|
+
def actions(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
5528
|
+
'''(experimental) A dictionary made of Actions that will be executed on the matching pull requests.
|
|
5529
|
+
|
|
5530
|
+
:see: https://docs.mergify.io/actions/#actions
|
|
5531
|
+
:stability: experimental
|
|
5532
|
+
'''
|
|
5533
|
+
result = self._values.get("actions")
|
|
5534
|
+
assert result is not None, "Required property 'actions' is missing"
|
|
5535
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], result)
|
|
5536
|
+
|
|
5537
|
+
@builtins.property
|
|
5538
|
+
def conditions(
|
|
5539
|
+
self,
|
|
5540
|
+
) -> typing.List[typing.Union[builtins.str, MergifyConditionalOperator]]:
|
|
5541
|
+
'''(experimental) A list of Conditions string that must match against the pull request for the rule to be applied.
|
|
5542
|
+
|
|
5543
|
+
:see: https://docs.mergify.io/conditions/#conditions
|
|
5544
|
+
:stability: experimental
|
|
5545
|
+
'''
|
|
5546
|
+
result = self._values.get("conditions")
|
|
5547
|
+
assert result is not None, "Required property 'conditions' is missing"
|
|
5548
|
+
return typing.cast(typing.List[typing.Union[builtins.str, MergifyConditionalOperator]], result)
|
|
5549
|
+
|
|
5550
|
+
@builtins.property
|
|
5551
|
+
def name(self) -> builtins.str:
|
|
5552
|
+
'''(experimental) The name of the rule.
|
|
5553
|
+
|
|
5554
|
+
This is not used by the engine directly,
|
|
5555
|
+
but is used when reporting information about a rule.
|
|
5556
|
+
|
|
5557
|
+
:stability: experimental
|
|
5558
|
+
'''
|
|
5559
|
+
result = self._values.get("name")
|
|
5560
|
+
assert result is not None, "Required property 'name' is missing"
|
|
5561
|
+
return typing.cast(builtins.str, result)
|
|
5562
|
+
|
|
5563
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5564
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5565
|
+
|
|
5566
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
5567
|
+
return not (rhs == self)
|
|
5568
|
+
|
|
5569
|
+
def __repr__(self) -> str:
|
|
5570
|
+
return "MergifyRule(%s)" % ", ".join(
|
|
5571
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5572
|
+
)
|
|
5573
|
+
|
|
5574
|
+
|
|
5575
|
+
class PullRequestBackport(
|
|
5576
|
+
_Component_2b0ad27f,
|
|
5577
|
+
metaclass=jsii.JSIIMeta,
|
|
5578
|
+
jsii_type="projen.github.PullRequestBackport",
|
|
5579
|
+
):
|
|
5580
|
+
'''
|
|
5581
|
+
:stability: experimental
|
|
5582
|
+
'''
|
|
5583
|
+
|
|
5584
|
+
def __init__(
|
|
5585
|
+
self,
|
|
5586
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
5587
|
+
*,
|
|
5588
|
+
auto_approve_backport: typing.Optional[builtins.bool] = None,
|
|
5589
|
+
backport_branch_name_prefix: typing.Optional[builtins.str] = None,
|
|
5590
|
+
backport_pr_labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5591
|
+
branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5592
|
+
create_with_conflicts: typing.Optional[builtins.bool] = None,
|
|
5593
|
+
label_prefix: typing.Optional[builtins.str] = None,
|
|
5594
|
+
workflow_name: typing.Optional[builtins.str] = None,
|
|
5595
|
+
) -> None:
|
|
5596
|
+
'''
|
|
5597
|
+
:param scope: -
|
|
5598
|
+
:param auto_approve_backport: (experimental) Automatically approve backport PRs if the 'auto approve' workflow is available. Default: true
|
|
5599
|
+
:param backport_branch_name_prefix: (experimental) The prefix used to name backport branches. Make sure to include a separator at the end like ``/`` or ``_``. Default: "backport/"
|
|
5600
|
+
:param backport_pr_labels: (experimental) The labels added to the created backport PR. Default: ["backport"]
|
|
5601
|
+
:param branches: (experimental) List of branches that can be a target for backports. Default: - allow backports to all release branches
|
|
5602
|
+
:param create_with_conflicts: (experimental) Should this created Backport PRs with conflicts. Conflicts will have to be resolved manually, but a PR is always created. Set to ``false`` to prevent the backport PR from being created if there are conflicts. Default: true
|
|
5603
|
+
:param label_prefix: (experimental) The prefix used to detect PRs that should be backported. Default: "backport-to-"
|
|
5604
|
+
:param workflow_name: (experimental) The name of the workflow. Default: "backport"
|
|
5605
|
+
|
|
5606
|
+
:stability: experimental
|
|
5607
|
+
'''
|
|
5608
|
+
if __debug__:
|
|
5609
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a321227b5ffc19f1220367db19ad9a6c84aec3e2bf74ba19db5a89f3ee8c9ce4)
|
|
5610
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
5611
|
+
options = PullRequestBackportOptions(
|
|
5612
|
+
auto_approve_backport=auto_approve_backport,
|
|
5613
|
+
backport_branch_name_prefix=backport_branch_name_prefix,
|
|
5614
|
+
backport_pr_labels=backport_pr_labels,
|
|
5615
|
+
branches=branches,
|
|
5616
|
+
create_with_conflicts=create_with_conflicts,
|
|
5617
|
+
label_prefix=label_prefix,
|
|
5618
|
+
workflow_name=workflow_name,
|
|
5619
|
+
)
|
|
5620
|
+
|
|
5621
|
+
jsii.create(self.__class__, self, [scope, options])
|
|
5622
|
+
|
|
5623
|
+
@builtins.property
|
|
5624
|
+
@jsii.member(jsii_name="file")
|
|
5625
|
+
def file(self) -> _JsonFile_fa8164db:
|
|
5626
|
+
'''
|
|
5627
|
+
:stability: experimental
|
|
5628
|
+
'''
|
|
5629
|
+
return typing.cast(_JsonFile_fa8164db, jsii.get(self, "file"))
|
|
5630
|
+
|
|
5631
|
+
@builtins.property
|
|
5632
|
+
@jsii.member(jsii_name="workflow")
|
|
5633
|
+
def workflow(self) -> GithubWorkflow:
|
|
5634
|
+
'''
|
|
5635
|
+
:stability: experimental
|
|
5636
|
+
'''
|
|
5637
|
+
return typing.cast(GithubWorkflow, jsii.get(self, "workflow"))
|
|
5638
|
+
|
|
5639
|
+
|
|
5640
|
+
@jsii.data_type(
|
|
5641
|
+
jsii_type="projen.github.PullRequestBackportOptions",
|
|
5642
|
+
jsii_struct_bases=[],
|
|
5643
|
+
name_mapping={
|
|
5644
|
+
"auto_approve_backport": "autoApproveBackport",
|
|
5645
|
+
"backport_branch_name_prefix": "backportBranchNamePrefix",
|
|
5646
|
+
"backport_pr_labels": "backportPRLabels",
|
|
5647
|
+
"branches": "branches",
|
|
5648
|
+
"create_with_conflicts": "createWithConflicts",
|
|
5649
|
+
"label_prefix": "labelPrefix",
|
|
5650
|
+
"workflow_name": "workflowName",
|
|
5651
|
+
},
|
|
5652
|
+
)
|
|
5653
|
+
class PullRequestBackportOptions:
|
|
5654
|
+
def __init__(
|
|
5655
|
+
self,
|
|
5656
|
+
*,
|
|
5657
|
+
auto_approve_backport: typing.Optional[builtins.bool] = None,
|
|
5658
|
+
backport_branch_name_prefix: typing.Optional[builtins.str] = None,
|
|
5659
|
+
backport_pr_labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5660
|
+
branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5661
|
+
create_with_conflicts: typing.Optional[builtins.bool] = None,
|
|
5662
|
+
label_prefix: typing.Optional[builtins.str] = None,
|
|
5663
|
+
workflow_name: typing.Optional[builtins.str] = None,
|
|
5664
|
+
) -> None:
|
|
5665
|
+
'''
|
|
5666
|
+
:param auto_approve_backport: (experimental) Automatically approve backport PRs if the 'auto approve' workflow is available. Default: true
|
|
5667
|
+
:param backport_branch_name_prefix: (experimental) The prefix used to name backport branches. Make sure to include a separator at the end like ``/`` or ``_``. Default: "backport/"
|
|
5668
|
+
:param backport_pr_labels: (experimental) The labels added to the created backport PR. Default: ["backport"]
|
|
5669
|
+
:param branches: (experimental) List of branches that can be a target for backports. Default: - allow backports to all release branches
|
|
5670
|
+
:param create_with_conflicts: (experimental) Should this created Backport PRs with conflicts. Conflicts will have to be resolved manually, but a PR is always created. Set to ``false`` to prevent the backport PR from being created if there are conflicts. Default: true
|
|
5671
|
+
:param label_prefix: (experimental) The prefix used to detect PRs that should be backported. Default: "backport-to-"
|
|
5672
|
+
:param workflow_name: (experimental) The name of the workflow. Default: "backport"
|
|
5673
|
+
|
|
5674
|
+
:stability: experimental
|
|
5675
|
+
'''
|
|
5676
|
+
if __debug__:
|
|
5677
|
+
type_hints = typing.get_type_hints(_typecheckingstub__066696cdba0d516ea035e9580a9e5c79c5a552ca23f78e5291d21811124a2a62)
|
|
5678
|
+
check_type(argname="argument auto_approve_backport", value=auto_approve_backport, expected_type=type_hints["auto_approve_backport"])
|
|
5679
|
+
check_type(argname="argument backport_branch_name_prefix", value=backport_branch_name_prefix, expected_type=type_hints["backport_branch_name_prefix"])
|
|
5680
|
+
check_type(argname="argument backport_pr_labels", value=backport_pr_labels, expected_type=type_hints["backport_pr_labels"])
|
|
5681
|
+
check_type(argname="argument branches", value=branches, expected_type=type_hints["branches"])
|
|
5682
|
+
check_type(argname="argument create_with_conflicts", value=create_with_conflicts, expected_type=type_hints["create_with_conflicts"])
|
|
5683
|
+
check_type(argname="argument label_prefix", value=label_prefix, expected_type=type_hints["label_prefix"])
|
|
5684
|
+
check_type(argname="argument workflow_name", value=workflow_name, expected_type=type_hints["workflow_name"])
|
|
5685
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
5686
|
+
if auto_approve_backport is not None:
|
|
5687
|
+
self._values["auto_approve_backport"] = auto_approve_backport
|
|
5688
|
+
if backport_branch_name_prefix is not None:
|
|
5689
|
+
self._values["backport_branch_name_prefix"] = backport_branch_name_prefix
|
|
5690
|
+
if backport_pr_labels is not None:
|
|
5691
|
+
self._values["backport_pr_labels"] = backport_pr_labels
|
|
5692
|
+
if branches is not None:
|
|
5693
|
+
self._values["branches"] = branches
|
|
5694
|
+
if create_with_conflicts is not None:
|
|
5695
|
+
self._values["create_with_conflicts"] = create_with_conflicts
|
|
5696
|
+
if label_prefix is not None:
|
|
5697
|
+
self._values["label_prefix"] = label_prefix
|
|
5698
|
+
if workflow_name is not None:
|
|
5699
|
+
self._values["workflow_name"] = workflow_name
|
|
5700
|
+
|
|
5701
|
+
@builtins.property
|
|
5702
|
+
def auto_approve_backport(self) -> typing.Optional[builtins.bool]:
|
|
5703
|
+
'''(experimental) Automatically approve backport PRs if the 'auto approve' workflow is available.
|
|
5704
|
+
|
|
5705
|
+
:default: true
|
|
5706
|
+
|
|
5707
|
+
:stability: experimental
|
|
5708
|
+
'''
|
|
5709
|
+
result = self._values.get("auto_approve_backport")
|
|
5710
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4156
5711
|
|
|
4157
|
-
|
|
4158
|
-
|
|
5712
|
+
@builtins.property
|
|
5713
|
+
def backport_branch_name_prefix(self) -> typing.Optional[builtins.str]:
|
|
5714
|
+
'''(experimental) The prefix used to name backport branches.
|
|
4159
5715
|
|
|
4160
|
-
|
|
5716
|
+
Make sure to include a separator at the end like ``/`` or ``_``.
|
|
4161
5717
|
|
|
4162
|
-
:default:
|
|
5718
|
+
:default: "backport/"
|
|
4163
5719
|
|
|
4164
|
-
:see: https://docs.mergify.com/actions/queue/#queue-rules
|
|
4165
5720
|
:stability: experimental
|
|
4166
5721
|
'''
|
|
4167
|
-
result = self._values.get("
|
|
5722
|
+
result = self._values.get("backport_branch_name_prefix")
|
|
4168
5723
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
4169
5724
|
|
|
4170
|
-
|
|
4171
|
-
|
|
5725
|
+
@builtins.property
|
|
5726
|
+
def backport_pr_labels(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
5727
|
+
'''(experimental) The labels added to the created backport PR.
|
|
4172
5728
|
|
|
4173
|
-
|
|
4174
|
-
return not (rhs == self)
|
|
5729
|
+
:default: ["backport"]
|
|
4175
5730
|
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
)
|
|
5731
|
+
:stability: experimental
|
|
5732
|
+
'''
|
|
5733
|
+
result = self._values.get("backport_pr_labels")
|
|
5734
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
4180
5735
|
|
|
5736
|
+
@builtins.property
|
|
5737
|
+
def branches(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
5738
|
+
'''(experimental) List of branches that can be a target for backports.
|
|
4181
5739
|
|
|
4182
|
-
|
|
4183
|
-
jsii_type="projen.github.MergifyRule",
|
|
4184
|
-
jsii_struct_bases=[],
|
|
4185
|
-
name_mapping={"actions": "actions", "conditions": "conditions", "name": "name"},
|
|
4186
|
-
)
|
|
4187
|
-
class MergifyRule:
|
|
4188
|
-
def __init__(
|
|
4189
|
-
self,
|
|
4190
|
-
*,
|
|
4191
|
-
actions: typing.Mapping[builtins.str, typing.Any],
|
|
4192
|
-
conditions: typing.Sequence[typing.Union[builtins.str, typing.Union[MergifyConditionalOperator, typing.Dict[builtins.str, typing.Any]]]],
|
|
4193
|
-
name: builtins.str,
|
|
4194
|
-
) -> None:
|
|
4195
|
-
'''
|
|
4196
|
-
:param actions: (experimental) A dictionary made of Actions that will be executed on the matching pull requests.
|
|
4197
|
-
:param conditions: (experimental) A list of Conditions string that must match against the pull request for the rule to be applied.
|
|
4198
|
-
:param name: (experimental) The name of the rule. This is not used by the engine directly, but is used when reporting information about a rule.
|
|
5740
|
+
:default: - allow backports to all release branches
|
|
4199
5741
|
|
|
4200
5742
|
:stability: experimental
|
|
4201
5743
|
'''
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
|
|
4205
|
-
check_type(argname="argument conditions", value=conditions, expected_type=type_hints["conditions"])
|
|
4206
|
-
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
4207
|
-
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4208
|
-
"actions": actions,
|
|
4209
|
-
"conditions": conditions,
|
|
4210
|
-
"name": name,
|
|
4211
|
-
}
|
|
5744
|
+
result = self._values.get("branches")
|
|
5745
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
4212
5746
|
|
|
4213
5747
|
@builtins.property
|
|
4214
|
-
def
|
|
4215
|
-
'''(experimental)
|
|
5748
|
+
def create_with_conflicts(self) -> typing.Optional[builtins.bool]:
|
|
5749
|
+
'''(experimental) Should this created Backport PRs with conflicts.
|
|
5750
|
+
|
|
5751
|
+
Conflicts will have to be resolved manually, but a PR is always created.
|
|
5752
|
+
Set to ``false`` to prevent the backport PR from being created if there are conflicts.
|
|
5753
|
+
|
|
5754
|
+
:default: true
|
|
4216
5755
|
|
|
4217
|
-
:see: https://docs.mergify.io/actions/#actions
|
|
4218
5756
|
:stability: experimental
|
|
4219
5757
|
'''
|
|
4220
|
-
result = self._values.get("
|
|
4221
|
-
|
|
4222
|
-
return typing.cast(typing.Mapping[builtins.str, typing.Any], result)
|
|
5758
|
+
result = self._values.get("create_with_conflicts")
|
|
5759
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4223
5760
|
|
|
4224
5761
|
@builtins.property
|
|
4225
|
-
def
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
5762
|
+
def label_prefix(self) -> typing.Optional[builtins.str]:
|
|
5763
|
+
'''(experimental) The prefix used to detect PRs that should be backported.
|
|
5764
|
+
|
|
5765
|
+
:default: "backport-to-"
|
|
4229
5766
|
|
|
4230
|
-
:see: https://docs.mergify.io/conditions/#conditions
|
|
4231
5767
|
:stability: experimental
|
|
4232
5768
|
'''
|
|
4233
|
-
result = self._values.get("
|
|
4234
|
-
|
|
4235
|
-
return typing.cast(typing.List[typing.Union[builtins.str, MergifyConditionalOperator]], result)
|
|
5769
|
+
result = self._values.get("label_prefix")
|
|
5770
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4236
5771
|
|
|
4237
5772
|
@builtins.property
|
|
4238
|
-
def
|
|
4239
|
-
'''(experimental) The name of the
|
|
5773
|
+
def workflow_name(self) -> typing.Optional[builtins.str]:
|
|
5774
|
+
'''(experimental) The name of the workflow.
|
|
4240
5775
|
|
|
4241
|
-
|
|
4242
|
-
but is used when reporting information about a rule.
|
|
5776
|
+
:default: "backport"
|
|
4243
5777
|
|
|
4244
5778
|
:stability: experimental
|
|
4245
5779
|
'''
|
|
4246
|
-
result = self._values.get("
|
|
4247
|
-
|
|
4248
|
-
return typing.cast(builtins.str, result)
|
|
5780
|
+
result = self._values.get("workflow_name")
|
|
5781
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4249
5782
|
|
|
4250
5783
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4251
5784
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -4254,7 +5787,7 @@ class MergifyRule:
|
|
|
4254
5787
|
return not (rhs == self)
|
|
4255
5788
|
|
|
4256
5789
|
def __repr__(self) -> str:
|
|
4257
|
-
return "
|
|
5790
|
+
return "PullRequestBackportOptions(%s)" % ", ".join(
|
|
4258
5791
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
4259
5792
|
)
|
|
4260
5793
|
|
|
@@ -4310,7 +5843,7 @@ class PullRequestFromPatchOptions(CreatePullRequestOptions):
|
|
|
4310
5843
|
:param base_branch: (experimental) Sets the pull request base branch. Default: - The branch checked out in the workflow.
|
|
4311
5844
|
:param branch_name: (experimental) The pull request branch name. Default: ``github-actions/${options.workflowName}``
|
|
4312
5845
|
:param credentials: (experimental) The job credentials used to create the pull request. Provided credentials must have permissions to create a pull request on the repository.
|
|
4313
|
-
:param git_identity: (experimental) The git identity used to create the commit. Default: -
|
|
5846
|
+
:param git_identity: (experimental) The git identity used to create the commit. Default: - default GitHub Actions user
|
|
4314
5847
|
:param labels: (experimental) Labels to apply on the PR. Default: - no labels.
|
|
4315
5848
|
:param signoff: (experimental) Add Signed-off-by line by the committer at the end of the commit log message. Default: true
|
|
4316
5849
|
:param step_id: (experimental) The step ID which produces the output which indicates if a patch was created. Default: "create_pr"
|
|
@@ -4459,7 +5992,7 @@ class PullRequestFromPatchOptions(CreatePullRequestOptions):
|
|
|
4459
5992
|
def git_identity(self) -> typing.Optional[GitIdentity]:
|
|
4460
5993
|
'''(experimental) The git identity used to create the commit.
|
|
4461
5994
|
|
|
4462
|
-
:default: -
|
|
5995
|
+
:default: - default GitHub Actions user
|
|
4463
5996
|
|
|
4464
5997
|
:stability: experimental
|
|
4465
5998
|
'''
|
|
@@ -4779,6 +6312,7 @@ class PullRequestLintOptions:
|
|
|
4779
6312
|
name_mapping={
|
|
4780
6313
|
"fetch_depth": "fetchDepth",
|
|
4781
6314
|
"lfs": "lfs",
|
|
6315
|
+
"path": "path",
|
|
4782
6316
|
"ref": "ref",
|
|
4783
6317
|
"repository": "repository",
|
|
4784
6318
|
"token": "token",
|
|
@@ -4793,6 +6327,7 @@ class PullRequestPatchSource(CheckoutWithPatchOptions):
|
|
|
4793
6327
|
*,
|
|
4794
6328
|
fetch_depth: typing.Optional[jsii.Number] = None,
|
|
4795
6329
|
lfs: typing.Optional[builtins.bool] = None,
|
|
6330
|
+
path: typing.Optional[builtins.str] = None,
|
|
4796
6331
|
ref: typing.Optional[builtins.str] = None,
|
|
4797
6332
|
repository: typing.Optional[builtins.str] = None,
|
|
4798
6333
|
token: typing.Optional[builtins.str] = None,
|
|
@@ -4803,6 +6338,7 @@ class PullRequestPatchSource(CheckoutWithPatchOptions):
|
|
|
4803
6338
|
'''
|
|
4804
6339
|
:param fetch_depth: (experimental) Number of commits to fetch. 0 indicates all history for all branches and tags. Default: 1
|
|
4805
6340
|
:param lfs: (experimental) Whether LFS is enabled for the GitHub repository. Default: false
|
|
6341
|
+
:param path: (experimental) Relative path under $GITHUB_WORKSPACE to place the repository. Default: - $GITHUB_WORKSPACE
|
|
4806
6342
|
:param ref: (experimental) Branch or tag name. Default: - the default branch is implicitly used
|
|
4807
6343
|
:param repository: (experimental) The repository (owner/repo) to use. Default: - the default repository is implicitly used
|
|
4808
6344
|
:param token: (experimental) A GitHub token to use when checking out the repository. If the intent is to push changes back to the branch, then you must use a PAT with ``repo`` (and possibly ``workflows``) permissions. Default: - the default GITHUB_TOKEN is implicitly used
|
|
@@ -4816,6 +6352,7 @@ class PullRequestPatchSource(CheckoutWithPatchOptions):
|
|
|
4816
6352
|
type_hints = typing.get_type_hints(_typecheckingstub__c3c9a28aa8266154d9a36adad571b3695e958b931e79b9eaff4a7dc55e95dec8)
|
|
4817
6353
|
check_type(argname="argument fetch_depth", value=fetch_depth, expected_type=type_hints["fetch_depth"])
|
|
4818
6354
|
check_type(argname="argument lfs", value=lfs, expected_type=type_hints["lfs"])
|
|
6355
|
+
check_type(argname="argument path", value=path, expected_type=type_hints["path"])
|
|
4819
6356
|
check_type(argname="argument ref", value=ref, expected_type=type_hints["ref"])
|
|
4820
6357
|
check_type(argname="argument repository", value=repository, expected_type=type_hints["repository"])
|
|
4821
6358
|
check_type(argname="argument token", value=token, expected_type=type_hints["token"])
|
|
@@ -4830,6 +6367,8 @@ class PullRequestPatchSource(CheckoutWithPatchOptions):
|
|
|
4830
6367
|
self._values["fetch_depth"] = fetch_depth
|
|
4831
6368
|
if lfs is not None:
|
|
4832
6369
|
self._values["lfs"] = lfs
|
|
6370
|
+
if path is not None:
|
|
6371
|
+
self._values["path"] = path
|
|
4833
6372
|
if ref is not None:
|
|
4834
6373
|
self._values["ref"] = ref
|
|
4835
6374
|
if repository is not None:
|
|
@@ -4863,6 +6402,17 @@ class PullRequestPatchSource(CheckoutWithPatchOptions):
|
|
|
4863
6402
|
result = self._values.get("lfs")
|
|
4864
6403
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4865
6404
|
|
|
6405
|
+
@builtins.property
|
|
6406
|
+
def path(self) -> typing.Optional[builtins.str]:
|
|
6407
|
+
'''(experimental) Relative path under $GITHUB_WORKSPACE to place the repository.
|
|
6408
|
+
|
|
6409
|
+
:default: - $GITHUB_WORKSPACE
|
|
6410
|
+
|
|
6411
|
+
:stability: experimental
|
|
6412
|
+
'''
|
|
6413
|
+
result = self._values.get("path")
|
|
6414
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6415
|
+
|
|
4866
6416
|
@builtins.property
|
|
4867
6417
|
def ref(self) -> typing.Optional[builtins.str]:
|
|
4868
6418
|
'''(experimental) Branch or tag name.
|
|
@@ -5040,18 +6590,24 @@ class PullRequestTemplateOptions:
|
|
|
5040
6590
|
@jsii.data_type(
|
|
5041
6591
|
jsii_type="projen.github.SemanticTitleOptions",
|
|
5042
6592
|
jsii_struct_bases=[],
|
|
5043
|
-
name_mapping={
|
|
6593
|
+
name_mapping={
|
|
6594
|
+
"require_scope": "requireScope",
|
|
6595
|
+
"scopes": "scopes",
|
|
6596
|
+
"types": "types",
|
|
6597
|
+
},
|
|
5044
6598
|
)
|
|
5045
6599
|
class SemanticTitleOptions:
|
|
5046
6600
|
def __init__(
|
|
5047
6601
|
self,
|
|
5048
6602
|
*,
|
|
5049
6603
|
require_scope: typing.Optional[builtins.bool] = None,
|
|
6604
|
+
scopes: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5050
6605
|
types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5051
6606
|
) -> None:
|
|
5052
6607
|
'''(experimental) Options for linting that PR titles follow Conventional Commits.
|
|
5053
6608
|
|
|
5054
6609
|
:param require_scope: (experimental) Configure that a scope must always be provided. e.g. feat(ui), fix(core) Default: false
|
|
6610
|
+
:param scopes: (experimental) Configure which scopes are allowed (newline-delimited). These are regex patterns auto-wrapped in ``^ $``. Default: - all scopes allowed
|
|
5055
6611
|
:param types: (experimental) Configure a list of commit types that are allowed. Default: ["feat", "fix", "chore"]
|
|
5056
6612
|
|
|
5057
6613
|
:see: https://www.conventionalcommits.org/
|
|
@@ -5060,10 +6616,13 @@ class SemanticTitleOptions:
|
|
|
5060
6616
|
if __debug__:
|
|
5061
6617
|
type_hints = typing.get_type_hints(_typecheckingstub__9d043d0484269cca19493b2d2d5c51f9cfe65a12520148f80ef37f6855457de0)
|
|
5062
6618
|
check_type(argname="argument require_scope", value=require_scope, expected_type=type_hints["require_scope"])
|
|
6619
|
+
check_type(argname="argument scopes", value=scopes, expected_type=type_hints["scopes"])
|
|
5063
6620
|
check_type(argname="argument types", value=types, expected_type=type_hints["types"])
|
|
5064
6621
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
5065
6622
|
if require_scope is not None:
|
|
5066
6623
|
self._values["require_scope"] = require_scope
|
|
6624
|
+
if scopes is not None:
|
|
6625
|
+
self._values["scopes"] = scopes
|
|
5067
6626
|
if types is not None:
|
|
5068
6627
|
self._values["types"] = types
|
|
5069
6628
|
|
|
@@ -5080,6 +6639,19 @@ class SemanticTitleOptions:
|
|
|
5080
6639
|
result = self._values.get("require_scope")
|
|
5081
6640
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
5082
6641
|
|
|
6642
|
+
@builtins.property
|
|
6643
|
+
def scopes(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
6644
|
+
'''(experimental) Configure which scopes are allowed (newline-delimited).
|
|
6645
|
+
|
|
6646
|
+
These are regex patterns auto-wrapped in ``^ $``.
|
|
6647
|
+
|
|
6648
|
+
:default: - all scopes allowed
|
|
6649
|
+
|
|
6650
|
+
:stability: experimental
|
|
6651
|
+
'''
|
|
6652
|
+
result = self._values.get("scopes")
|
|
6653
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
6654
|
+
|
|
5083
6655
|
@builtins.property
|
|
5084
6656
|
def types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
5085
6657
|
'''(experimental) Configure a list of commit types that are allowed.
|
|
@@ -5111,6 +6683,7 @@ class SemanticTitleOptions:
|
|
|
5111
6683
|
"id": "id",
|
|
5112
6684
|
"if_": "if",
|
|
5113
6685
|
"name": "name",
|
|
6686
|
+
"shell": "shell",
|
|
5114
6687
|
"working_directory": "workingDirectory",
|
|
5115
6688
|
"continue_on_error": "continueOnError",
|
|
5116
6689
|
"timeout_minutes": "timeoutMinutes",
|
|
@@ -5125,6 +6698,7 @@ class SetupGitIdentityOptions(_JobStepConfiguration_9caff420):
|
|
|
5125
6698
|
id: typing.Optional[builtins.str] = None,
|
|
5126
6699
|
if_: typing.Optional[builtins.str] = None,
|
|
5127
6700
|
name: typing.Optional[builtins.str] = None,
|
|
6701
|
+
shell: typing.Optional[builtins.str] = None,
|
|
5128
6702
|
working_directory: typing.Optional[builtins.str] = None,
|
|
5129
6703
|
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
5130
6704
|
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
@@ -5135,6 +6709,7 @@ class SetupGitIdentityOptions(_JobStepConfiguration_9caff420):
|
|
|
5135
6709
|
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
5136
6710
|
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
5137
6711
|
:param name: (experimental) A name for your step to display on GitHub.
|
|
6712
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
5138
6713
|
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
5139
6714
|
:param continue_on_error: (experimental) Prevents a job from failing when a step fails. Set to true to allow a job to pass when this step fails.
|
|
5140
6715
|
:param timeout_minutes: (experimental) The maximum number of minutes to run the step before killing the process.
|
|
@@ -5150,6 +6725,7 @@ class SetupGitIdentityOptions(_JobStepConfiguration_9caff420):
|
|
|
5150
6725
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
5151
6726
|
check_type(argname="argument if_", value=if_, expected_type=type_hints["if_"])
|
|
5152
6727
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
6728
|
+
check_type(argname="argument shell", value=shell, expected_type=type_hints["shell"])
|
|
5153
6729
|
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
5154
6730
|
check_type(argname="argument continue_on_error", value=continue_on_error, expected_type=type_hints["continue_on_error"])
|
|
5155
6731
|
check_type(argname="argument timeout_minutes", value=timeout_minutes, expected_type=type_hints["timeout_minutes"])
|
|
@@ -5165,6 +6741,8 @@ class SetupGitIdentityOptions(_JobStepConfiguration_9caff420):
|
|
|
5165
6741
|
self._values["if_"] = if_
|
|
5166
6742
|
if name is not None:
|
|
5167
6743
|
self._values["name"] = name
|
|
6744
|
+
if shell is not None:
|
|
6745
|
+
self._values["shell"] = shell
|
|
5168
6746
|
if working_directory is not None:
|
|
5169
6747
|
self._values["working_directory"] = working_directory
|
|
5170
6748
|
if continue_on_error is not None:
|
|
@@ -5216,6 +6794,18 @@ class SetupGitIdentityOptions(_JobStepConfiguration_9caff420):
|
|
|
5216
6794
|
result = self._values.get("name")
|
|
5217
6795
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
5218
6796
|
|
|
6797
|
+
@builtins.property
|
|
6798
|
+
def shell(self) -> typing.Optional[builtins.str]:
|
|
6799
|
+
'''(experimental) Overrides the default shell settings in the runner's operating system and the job's default.
|
|
6800
|
+
|
|
6801
|
+
Refer to GitHub documentation for allowed values.
|
|
6802
|
+
|
|
6803
|
+
:see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
|
|
6804
|
+
:stability: experimental
|
|
6805
|
+
'''
|
|
6806
|
+
result = self._values.get("shell")
|
|
6807
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6808
|
+
|
|
5219
6809
|
@builtins.property
|
|
5220
6810
|
def working_directory(self) -> typing.Optional[builtins.str]:
|
|
5221
6811
|
'''(experimental) Specifies a working directory for a step.
|
|
@@ -5617,6 +7207,7 @@ class TaskWorkflow(
|
|
|
5617
7207
|
container: typing.Optional[typing.Union[_ContainerOptions_f50907af, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5618
7208
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
5619
7209
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
7210
|
+
environment: typing.Optional[builtins.str] = None,
|
|
5620
7211
|
git_identity: typing.Optional[typing.Union[GitIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5621
7212
|
job_defaults: typing.Optional[typing.Union[_JobDefaults_965f0d10, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5622
7213
|
outputs: typing.Optional[typing.Mapping[builtins.str, typing.Union[_JobStepOutput_acebe827, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -5639,7 +7230,8 @@ class TaskWorkflow(
|
|
|
5639
7230
|
:param container: Default: - default image
|
|
5640
7231
|
:param download_lfs: (experimental) Whether to download files from Git LFS for this workflow. Default: - Use the setting on the corresponding GitHub project
|
|
5641
7232
|
:param env: (experimental) Workflow environment variables. Default: {}
|
|
5642
|
-
:param
|
|
7233
|
+
:param environment: (experimental) The GitHub Actions environment used for the job. Default: - no environment used
|
|
7234
|
+
:param git_identity: (experimental) The git identity to use in this workflow. Default: - default GitHub Actions user
|
|
5643
7235
|
:param job_defaults: (experimental) Default settings for all steps in the TaskWorkflow Job.
|
|
5644
7236
|
:param outputs: (experimental) Mapping of job output names to values/expressions. Default: {}
|
|
5645
7237
|
:param post_build_steps: (experimental) Actions to run after the main build step. Default: - not set
|
|
@@ -5665,6 +7257,7 @@ class TaskWorkflow(
|
|
|
5665
7257
|
container=container,
|
|
5666
7258
|
download_lfs=download_lfs,
|
|
5667
7259
|
env=env,
|
|
7260
|
+
environment=environment,
|
|
5668
7261
|
git_identity=git_identity,
|
|
5669
7262
|
job_defaults=job_defaults,
|
|
5670
7263
|
outputs=outputs,
|
|
@@ -5717,6 +7310,7 @@ class TaskWorkflowJob(
|
|
|
5717
7310
|
container: typing.Optional[typing.Union[_ContainerOptions_f50907af, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5718
7311
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
5719
7312
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
7313
|
+
environment: typing.Optional[builtins.str] = None,
|
|
5720
7314
|
git_identity: typing.Optional[typing.Union[GitIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5721
7315
|
job_defaults: typing.Optional[typing.Union[_JobDefaults_965f0d10, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5722
7316
|
outputs: typing.Optional[typing.Mapping[builtins.str, typing.Union[_JobStepOutput_acebe827, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -5736,7 +7330,8 @@ class TaskWorkflowJob(
|
|
|
5736
7330
|
:param container: Default: - default image
|
|
5737
7331
|
:param download_lfs: (experimental) Whether to download files from Git LFS for this workflow. Default: - Use the setting on the corresponding GitHub project
|
|
5738
7332
|
:param env: (experimental) Workflow environment variables. Default: {}
|
|
5739
|
-
:param
|
|
7333
|
+
:param environment: (experimental) The GitHub Actions environment used for the job. Default: - no environment used
|
|
7334
|
+
:param git_identity: (experimental) The git identity to use in this workflow. Default: - default GitHub Actions user
|
|
5740
7335
|
:param job_defaults: (experimental) Default settings for all steps in the TaskWorkflow Job.
|
|
5741
7336
|
:param outputs: (experimental) Mapping of job output names to values/expressions. Default: {}
|
|
5742
7337
|
:param post_build_steps: (experimental) Actions to run after the main build step. Default: - not set
|
|
@@ -5759,6 +7354,7 @@ class TaskWorkflowJob(
|
|
|
5759
7354
|
container=container,
|
|
5760
7355
|
download_lfs=download_lfs,
|
|
5761
7356
|
env=env,
|
|
7357
|
+
environment=environment,
|
|
5762
7358
|
git_identity=git_identity,
|
|
5763
7359
|
job_defaults=job_defaults,
|
|
5764
7360
|
outputs=outputs,
|
|
@@ -5829,11 +7425,11 @@ class TaskWorkflowJob(
|
|
|
5829
7425
|
|
|
5830
7426
|
@builtins.property
|
|
5831
7427
|
@jsii.member(jsii_name="environment")
|
|
5832
|
-
def environment(self) -> typing.
|
|
7428
|
+
def environment(self) -> typing.Optional[builtins.str]:
|
|
5833
7429
|
'''
|
|
5834
7430
|
:stability: experimental
|
|
5835
7431
|
'''
|
|
5836
|
-
return typing.cast(typing.
|
|
7432
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "environment"))
|
|
5837
7433
|
|
|
5838
7434
|
@builtins.property
|
|
5839
7435
|
@jsii.member(jsii_name="if")
|
|
@@ -5931,6 +7527,7 @@ class TaskWorkflowJob(
|
|
|
5931
7527
|
"container": "container",
|
|
5932
7528
|
"download_lfs": "downloadLfs",
|
|
5933
7529
|
"env": "env",
|
|
7530
|
+
"environment": "environment",
|
|
5934
7531
|
"git_identity": "gitIdentity",
|
|
5935
7532
|
"job_defaults": "jobDefaults",
|
|
5936
7533
|
"outputs": "outputs",
|
|
@@ -5952,6 +7549,7 @@ class TaskWorkflowJobOptions:
|
|
|
5952
7549
|
container: typing.Optional[typing.Union[_ContainerOptions_f50907af, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5953
7550
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
5954
7551
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
7552
|
+
environment: typing.Optional[builtins.str] = None,
|
|
5955
7553
|
git_identity: typing.Optional[typing.Union[GitIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5956
7554
|
job_defaults: typing.Optional[typing.Union[_JobDefaults_965f0d10, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5957
7555
|
outputs: typing.Optional[typing.Mapping[builtins.str, typing.Union[_JobStepOutput_acebe827, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -5970,7 +7568,8 @@ class TaskWorkflowJobOptions:
|
|
|
5970
7568
|
:param container: Default: - default image
|
|
5971
7569
|
:param download_lfs: (experimental) Whether to download files from Git LFS for this workflow. Default: - Use the setting on the corresponding GitHub project
|
|
5972
7570
|
:param env: (experimental) Workflow environment variables. Default: {}
|
|
5973
|
-
:param
|
|
7571
|
+
:param environment: (experimental) The GitHub Actions environment used for the job. Default: - no environment used
|
|
7572
|
+
:param git_identity: (experimental) The git identity to use in this workflow. Default: - default GitHub Actions user
|
|
5974
7573
|
:param job_defaults: (experimental) Default settings for all steps in the TaskWorkflow Job.
|
|
5975
7574
|
:param outputs: (experimental) Mapping of job output names to values/expressions. Default: {}
|
|
5976
7575
|
:param post_build_steps: (experimental) Actions to run after the main build step. Default: - not set
|
|
@@ -6002,6 +7601,7 @@ class TaskWorkflowJobOptions:
|
|
|
6002
7601
|
check_type(argname="argument container", value=container, expected_type=type_hints["container"])
|
|
6003
7602
|
check_type(argname="argument download_lfs", value=download_lfs, expected_type=type_hints["download_lfs"])
|
|
6004
7603
|
check_type(argname="argument env", value=env, expected_type=type_hints["env"])
|
|
7604
|
+
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
6005
7605
|
check_type(argname="argument git_identity", value=git_identity, expected_type=type_hints["git_identity"])
|
|
6006
7606
|
check_type(argname="argument job_defaults", value=job_defaults, expected_type=type_hints["job_defaults"])
|
|
6007
7607
|
check_type(argname="argument outputs", value=outputs, expected_type=type_hints["outputs"])
|
|
@@ -6025,6 +7625,8 @@ class TaskWorkflowJobOptions:
|
|
|
6025
7625
|
self._values["download_lfs"] = download_lfs
|
|
6026
7626
|
if env is not None:
|
|
6027
7627
|
self._values["env"] = env
|
|
7628
|
+
if environment is not None:
|
|
7629
|
+
self._values["environment"] = environment
|
|
6028
7630
|
if git_identity is not None:
|
|
6029
7631
|
self._values["git_identity"] = git_identity
|
|
6030
7632
|
if job_defaults is not None:
|
|
@@ -6115,10 +7717,23 @@ class TaskWorkflowJobOptions:
|
|
|
6115
7717
|
result = self._values.get("env")
|
|
6116
7718
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
6117
7719
|
|
|
7720
|
+
@builtins.property
|
|
7721
|
+
def environment(self) -> typing.Optional[builtins.str]:
|
|
7722
|
+
'''(experimental) The GitHub Actions environment used for the job.
|
|
7723
|
+
|
|
7724
|
+
:default: - no environment used
|
|
7725
|
+
|
|
7726
|
+
:stability: experimental
|
|
7727
|
+
'''
|
|
7728
|
+
result = self._values.get("environment")
|
|
7729
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
7730
|
+
|
|
6118
7731
|
@builtins.property
|
|
6119
7732
|
def git_identity(self) -> typing.Optional[GitIdentity]:
|
|
6120
7733
|
'''(experimental) The git identity to use in this workflow.
|
|
6121
7734
|
|
|
7735
|
+
:default: - default GitHub Actions user
|
|
7736
|
+
|
|
6122
7737
|
:stability: experimental
|
|
6123
7738
|
'''
|
|
6124
7739
|
result = self._values.get("git_identity")
|
|
@@ -6226,6 +7841,7 @@ class TaskWorkflowJobOptions:
|
|
|
6226
7841
|
"container": "container",
|
|
6227
7842
|
"download_lfs": "downloadLfs",
|
|
6228
7843
|
"env": "env",
|
|
7844
|
+
"environment": "environment",
|
|
6229
7845
|
"git_identity": "gitIdentity",
|
|
6230
7846
|
"job_defaults": "jobDefaults",
|
|
6231
7847
|
"outputs": "outputs",
|
|
@@ -6251,6 +7867,7 @@ class TaskWorkflowOptions(TaskWorkflowJobOptions):
|
|
|
6251
7867
|
container: typing.Optional[typing.Union[_ContainerOptions_f50907af, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6252
7868
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
6253
7869
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
7870
|
+
environment: typing.Optional[builtins.str] = None,
|
|
6254
7871
|
git_identity: typing.Optional[typing.Union[GitIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6255
7872
|
job_defaults: typing.Optional[typing.Union[_JobDefaults_965f0d10, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6256
7873
|
outputs: typing.Optional[typing.Mapping[builtins.str, typing.Union[_JobStepOutput_acebe827, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -6273,7 +7890,8 @@ class TaskWorkflowOptions(TaskWorkflowJobOptions):
|
|
|
6273
7890
|
:param container: Default: - default image
|
|
6274
7891
|
:param download_lfs: (experimental) Whether to download files from Git LFS for this workflow. Default: - Use the setting on the corresponding GitHub project
|
|
6275
7892
|
:param env: (experimental) Workflow environment variables. Default: {}
|
|
6276
|
-
:param
|
|
7893
|
+
:param environment: (experimental) The GitHub Actions environment used for the job. Default: - no environment used
|
|
7894
|
+
:param git_identity: (experimental) The git identity to use in this workflow. Default: - default GitHub Actions user
|
|
6277
7895
|
:param job_defaults: (experimental) Default settings for all steps in the TaskWorkflow Job.
|
|
6278
7896
|
:param outputs: (experimental) Mapping of job output names to values/expressions. Default: {}
|
|
6279
7897
|
:param post_build_steps: (experimental) Actions to run after the main build step. Default: - not set
|
|
@@ -6311,6 +7929,7 @@ class TaskWorkflowOptions(TaskWorkflowJobOptions):
|
|
|
6311
7929
|
check_type(argname="argument container", value=container, expected_type=type_hints["container"])
|
|
6312
7930
|
check_type(argname="argument download_lfs", value=download_lfs, expected_type=type_hints["download_lfs"])
|
|
6313
7931
|
check_type(argname="argument env", value=env, expected_type=type_hints["env"])
|
|
7932
|
+
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
6314
7933
|
check_type(argname="argument git_identity", value=git_identity, expected_type=type_hints["git_identity"])
|
|
6315
7934
|
check_type(argname="argument job_defaults", value=job_defaults, expected_type=type_hints["job_defaults"])
|
|
6316
7935
|
check_type(argname="argument outputs", value=outputs, expected_type=type_hints["outputs"])
|
|
@@ -6340,6 +7959,8 @@ class TaskWorkflowOptions(TaskWorkflowJobOptions):
|
|
|
6340
7959
|
self._values["download_lfs"] = download_lfs
|
|
6341
7960
|
if env is not None:
|
|
6342
7961
|
self._values["env"] = env
|
|
7962
|
+
if environment is not None:
|
|
7963
|
+
self._values["environment"] = environment
|
|
6343
7964
|
if git_identity is not None:
|
|
6344
7965
|
self._values["git_identity"] = git_identity
|
|
6345
7966
|
if job_defaults is not None:
|
|
@@ -6434,10 +8055,23 @@ class TaskWorkflowOptions(TaskWorkflowJobOptions):
|
|
|
6434
8055
|
result = self._values.get("env")
|
|
6435
8056
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
6436
8057
|
|
|
8058
|
+
@builtins.property
|
|
8059
|
+
def environment(self) -> typing.Optional[builtins.str]:
|
|
8060
|
+
'''(experimental) The GitHub Actions environment used for the job.
|
|
8061
|
+
|
|
8062
|
+
:default: - no environment used
|
|
8063
|
+
|
|
8064
|
+
:stability: experimental
|
|
8065
|
+
'''
|
|
8066
|
+
result = self._values.get("environment")
|
|
8067
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
8068
|
+
|
|
6437
8069
|
@builtins.property
|
|
6438
8070
|
def git_identity(self) -> typing.Optional[GitIdentity]:
|
|
6439
8071
|
'''(experimental) The git identity to use in this workflow.
|
|
6440
8072
|
|
|
8073
|
+
:default: - default GitHub Actions user
|
|
8074
|
+
|
|
6441
8075
|
:stability: experimental
|
|
6442
8076
|
'''
|
|
6443
8077
|
result = self._values.get("git_identity")
|
|
@@ -6584,6 +8218,7 @@ class TaskWorkflowOptions(TaskWorkflowJobOptions):
|
|
|
6584
8218
|
"id": "id",
|
|
6585
8219
|
"if_": "if",
|
|
6586
8220
|
"name": "name",
|
|
8221
|
+
"shell": "shell",
|
|
6587
8222
|
"working_directory": "workingDirectory",
|
|
6588
8223
|
"continue_on_error": "continueOnError",
|
|
6589
8224
|
"timeout_minutes": "timeoutMinutes",
|
|
@@ -6598,6 +8233,7 @@ class UploadArtifactOptions(_JobStepConfiguration_9caff420):
|
|
|
6598
8233
|
id: typing.Optional[builtins.str] = None,
|
|
6599
8234
|
if_: typing.Optional[builtins.str] = None,
|
|
6600
8235
|
name: typing.Optional[builtins.str] = None,
|
|
8236
|
+
shell: typing.Optional[builtins.str] = None,
|
|
6601
8237
|
working_directory: typing.Optional[builtins.str] = None,
|
|
6602
8238
|
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
6603
8239
|
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
@@ -6608,6 +8244,7 @@ class UploadArtifactOptions(_JobStepConfiguration_9caff420):
|
|
|
6608
8244
|
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
6609
8245
|
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
6610
8246
|
:param name: (experimental) A name for your step to display on GitHub.
|
|
8247
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
6611
8248
|
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
6612
8249
|
:param continue_on_error: (experimental) Prevents a job from failing when a step fails. Set to true to allow a job to pass when this step fails.
|
|
6613
8250
|
:param timeout_minutes: (experimental) The maximum number of minutes to run the step before killing the process.
|
|
@@ -6623,6 +8260,7 @@ class UploadArtifactOptions(_JobStepConfiguration_9caff420):
|
|
|
6623
8260
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
6624
8261
|
check_type(argname="argument if_", value=if_, expected_type=type_hints["if_"])
|
|
6625
8262
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
8263
|
+
check_type(argname="argument shell", value=shell, expected_type=type_hints["shell"])
|
|
6626
8264
|
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
6627
8265
|
check_type(argname="argument continue_on_error", value=continue_on_error, expected_type=type_hints["continue_on_error"])
|
|
6628
8266
|
check_type(argname="argument timeout_minutes", value=timeout_minutes, expected_type=type_hints["timeout_minutes"])
|
|
@@ -6638,6 +8276,8 @@ class UploadArtifactOptions(_JobStepConfiguration_9caff420):
|
|
|
6638
8276
|
self._values["if_"] = if_
|
|
6639
8277
|
if name is not None:
|
|
6640
8278
|
self._values["name"] = name
|
|
8279
|
+
if shell is not None:
|
|
8280
|
+
self._values["shell"] = shell
|
|
6641
8281
|
if working_directory is not None:
|
|
6642
8282
|
self._values["working_directory"] = working_directory
|
|
6643
8283
|
if continue_on_error is not None:
|
|
@@ -6689,6 +8329,18 @@ class UploadArtifactOptions(_JobStepConfiguration_9caff420):
|
|
|
6689
8329
|
result = self._values.get("name")
|
|
6690
8330
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
6691
8331
|
|
|
8332
|
+
@builtins.property
|
|
8333
|
+
def shell(self) -> typing.Optional[builtins.str]:
|
|
8334
|
+
'''(experimental) Overrides the default shell settings in the runner's operating system and the job's default.
|
|
8335
|
+
|
|
8336
|
+
Refer to GitHub documentation for allowed values.
|
|
8337
|
+
|
|
8338
|
+
:see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
|
|
8339
|
+
:stability: experimental
|
|
8340
|
+
'''
|
|
8341
|
+
result = self._values.get("shell")
|
|
8342
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
8343
|
+
|
|
6692
8344
|
@builtins.property
|
|
6693
8345
|
def working_directory(self) -> typing.Optional[builtins.str]:
|
|
6694
8346
|
'''(experimental) Specifies a working directory for a step.
|
|
@@ -6750,7 +8402,9 @@ class UploadArtifactOptions(_JobStepConfiguration_9caff420):
|
|
|
6750
8402
|
"path": "path",
|
|
6751
8403
|
"compression_level": "compressionLevel",
|
|
6752
8404
|
"if_no_files_found": "ifNoFilesFound",
|
|
8405
|
+
"include_hidden_files": "includeHiddenFiles",
|
|
6753
8406
|
"name": "name",
|
|
8407
|
+
"overwrite": "overwrite",
|
|
6754
8408
|
"retention_days": "retentionDays",
|
|
6755
8409
|
},
|
|
6756
8410
|
)
|
|
@@ -6761,14 +8415,18 @@ class UploadArtifactWith:
|
|
|
6761
8415
|
path: builtins.str,
|
|
6762
8416
|
compression_level: typing.Optional[jsii.Number] = None,
|
|
6763
8417
|
if_no_files_found: typing.Optional[builtins.str] = None,
|
|
8418
|
+
include_hidden_files: typing.Optional[builtins.bool] = None,
|
|
6764
8419
|
name: typing.Optional[builtins.str] = None,
|
|
8420
|
+
overwrite: typing.Optional[builtins.bool] = None,
|
|
6765
8421
|
retention_days: typing.Optional[jsii.Number] = None,
|
|
6766
8422
|
) -> None:
|
|
6767
8423
|
'''
|
|
6768
8424
|
:param path: (experimental) A file, directory or wildcard pattern that describes what to upload.
|
|
6769
8425
|
:param compression_level: (experimental) The level of compression for Zlib to be applied to the artifact archive. The value can range from 0 to 9. For large files that are not easily compressed, a value of 0 is recommended for significantly faster uploads. Default: 6
|
|
6770
8426
|
:param if_no_files_found: (experimental) The desired behavior if no files are found using the provided path. Available Options: warn: Output a warning but do not fail the action error: Fail the action with an error message ignore: Do not output any warnings or errors, the action does not fail Default: "warn"
|
|
8427
|
+
:param include_hidden_files: (experimental) Whether to include hidden files in the provided path in the artifact. The file contents of any hidden files in the path should be validated before enabled this to avoid uploading sensitive information. Default: false
|
|
6771
8428
|
:param name: (experimental) Name of the artifact to upload. Default: "artifact"
|
|
8429
|
+
:param overwrite: (experimental) Whether action should overwrite an existing artifact with the same name (should one exist). Introduced in v4 and represents a breaking change from the behavior of the v3 action. To maintain backwards compatibility with existing, this should be set the ``true`` (the default). Default: true
|
|
6772
8430
|
:param retention_days: (experimental) Duration after which artifact will expire in days. 0 means using default repository retention. Minimum 1 day. Maximum 90 days unless changed from the repository settings page. Default: - The default repository retention
|
|
6773
8431
|
|
|
6774
8432
|
:stability: experimental
|
|
@@ -6778,7 +8436,9 @@ class UploadArtifactWith:
|
|
|
6778
8436
|
check_type(argname="argument path", value=path, expected_type=type_hints["path"])
|
|
6779
8437
|
check_type(argname="argument compression_level", value=compression_level, expected_type=type_hints["compression_level"])
|
|
6780
8438
|
check_type(argname="argument if_no_files_found", value=if_no_files_found, expected_type=type_hints["if_no_files_found"])
|
|
8439
|
+
check_type(argname="argument include_hidden_files", value=include_hidden_files, expected_type=type_hints["include_hidden_files"])
|
|
6781
8440
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
8441
|
+
check_type(argname="argument overwrite", value=overwrite, expected_type=type_hints["overwrite"])
|
|
6782
8442
|
check_type(argname="argument retention_days", value=retention_days, expected_type=type_hints["retention_days"])
|
|
6783
8443
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6784
8444
|
"path": path,
|
|
@@ -6787,8 +8447,12 @@ class UploadArtifactWith:
|
|
|
6787
8447
|
self._values["compression_level"] = compression_level
|
|
6788
8448
|
if if_no_files_found is not None:
|
|
6789
8449
|
self._values["if_no_files_found"] = if_no_files_found
|
|
8450
|
+
if include_hidden_files is not None:
|
|
8451
|
+
self._values["include_hidden_files"] = include_hidden_files
|
|
6790
8452
|
if name is not None:
|
|
6791
8453
|
self._values["name"] = name
|
|
8454
|
+
if overwrite is not None:
|
|
8455
|
+
self._values["overwrite"] = overwrite
|
|
6792
8456
|
if retention_days is not None:
|
|
6793
8457
|
self._values["retention_days"] = retention_days
|
|
6794
8458
|
|
|
@@ -6832,6 +8496,19 @@ class UploadArtifactWith:
|
|
|
6832
8496
|
result = self._values.get("if_no_files_found")
|
|
6833
8497
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
6834
8498
|
|
|
8499
|
+
@builtins.property
|
|
8500
|
+
def include_hidden_files(self) -> typing.Optional[builtins.bool]:
|
|
8501
|
+
'''(experimental) Whether to include hidden files in the provided path in the artifact.
|
|
8502
|
+
|
|
8503
|
+
The file contents of any hidden files in the path should be validated before enabled this to avoid uploading sensitive information.
|
|
8504
|
+
|
|
8505
|
+
:default: false
|
|
8506
|
+
|
|
8507
|
+
:stability: experimental
|
|
8508
|
+
'''
|
|
8509
|
+
result = self._values.get("include_hidden_files")
|
|
8510
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
8511
|
+
|
|
6835
8512
|
@builtins.property
|
|
6836
8513
|
def name(self) -> typing.Optional[builtins.str]:
|
|
6837
8514
|
'''(experimental) Name of the artifact to upload.
|
|
@@ -6843,6 +8520,20 @@ class UploadArtifactWith:
|
|
|
6843
8520
|
result = self._values.get("name")
|
|
6844
8521
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
6845
8522
|
|
|
8523
|
+
@builtins.property
|
|
8524
|
+
def overwrite(self) -> typing.Optional[builtins.bool]:
|
|
8525
|
+
'''(experimental) Whether action should overwrite an existing artifact with the same name (should one exist).
|
|
8526
|
+
|
|
8527
|
+
Introduced in v4 and represents a breaking change from the behavior of the v3 action.
|
|
8528
|
+
To maintain backwards compatibility with existing, this should be set the ``true`` (the default).
|
|
8529
|
+
|
|
8530
|
+
:default: true
|
|
8531
|
+
|
|
8532
|
+
:stability: experimental
|
|
8533
|
+
'''
|
|
8534
|
+
result = self._values.get("overwrite")
|
|
8535
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
8536
|
+
|
|
6846
8537
|
@builtins.property
|
|
6847
8538
|
def retention_days(self) -> typing.Optional[jsii.Number]:
|
|
6848
8539
|
'''(experimental) Duration after which artifact will expire in days. 0 means using default repository retention.
|
|
@@ -7047,6 +8738,7 @@ class WorkflowActions(
|
|
|
7047
8738
|
patch_file: typing.Optional[builtins.str] = None,
|
|
7048
8739
|
fetch_depth: typing.Optional[jsii.Number] = None,
|
|
7049
8740
|
lfs: typing.Optional[builtins.bool] = None,
|
|
8741
|
+
path: typing.Optional[builtins.str] = None,
|
|
7050
8742
|
ref: typing.Optional[builtins.str] = None,
|
|
7051
8743
|
repository: typing.Optional[builtins.str] = None,
|
|
7052
8744
|
token: typing.Optional[builtins.str] = None,
|
|
@@ -7056,6 +8748,7 @@ class WorkflowActions(
|
|
|
7056
8748
|
:param patch_file: (experimental) The name of the artifact the patch is stored as. Default: ".repo.patch"
|
|
7057
8749
|
:param fetch_depth: (experimental) Number of commits to fetch. 0 indicates all history for all branches and tags. Default: 1
|
|
7058
8750
|
:param lfs: (experimental) Whether LFS is enabled for the GitHub repository. Default: false
|
|
8751
|
+
:param path: (experimental) Relative path under $GITHUB_WORKSPACE to place the repository. Default: - $GITHUB_WORKSPACE
|
|
7059
8752
|
:param ref: (experimental) Branch or tag name. Default: - the default branch is implicitly used
|
|
7060
8753
|
:param repository: (experimental) The repository (owner/repo) to use. Default: - the default repository is implicitly used
|
|
7061
8754
|
:param token: (experimental) A GitHub token to use when checking out the repository. If the intent is to push changes back to the branch, then you must use a PAT with ``repo`` (and possibly ``workflows``) permissions. Default: - the default GITHUB_TOKEN is implicitly used
|
|
@@ -7068,6 +8761,7 @@ class WorkflowActions(
|
|
|
7068
8761
|
patch_file=patch_file,
|
|
7069
8762
|
fetch_depth=fetch_depth,
|
|
7070
8763
|
lfs=lfs,
|
|
8764
|
+
path=path,
|
|
7071
8765
|
ref=ref,
|
|
7072
8766
|
repository=repository,
|
|
7073
8767
|
token=token,
|
|
@@ -7102,7 +8796,7 @@ class WorkflowActions(
|
|
|
7102
8796
|
:param base_branch: (experimental) Sets the pull request base branch. Default: - The branch checked out in the workflow.
|
|
7103
8797
|
:param branch_name: (experimental) The pull request branch name. Default: ``github-actions/${options.workflowName}``
|
|
7104
8798
|
:param credentials: (experimental) The job credentials used to create the pull request. Provided credentials must have permissions to create a pull request on the repository.
|
|
7105
|
-
:param git_identity: (experimental) The git identity used to create the commit. Default: -
|
|
8799
|
+
:param git_identity: (experimental) The git identity used to create the commit. Default: - default GitHub Actions user
|
|
7106
8800
|
:param labels: (experimental) Labels to apply on the PR. Default: - no labels.
|
|
7107
8801
|
:param signoff: (experimental) Add Signed-off-by line by the committer at the end of the commit log message. Default: true
|
|
7108
8802
|
:param step_id: (experimental) The step ID which produces the output which indicates if a patch was created. Default: "create_pr"
|
|
@@ -7235,7 +8929,7 @@ class WorkflowJobs(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowJob
|
|
|
7235
8929
|
:param base_branch: (experimental) Sets the pull request base branch. Default: - The branch checked out in the workflow.
|
|
7236
8930
|
:param branch_name: (experimental) The pull request branch name. Default: ``github-actions/${options.workflowName}``
|
|
7237
8931
|
:param credentials: (experimental) The job credentials used to create the pull request. Provided credentials must have permissions to create a pull request on the repository.
|
|
7238
|
-
:param git_identity: (experimental) The git identity used to create the commit. Default: -
|
|
8932
|
+
:param git_identity: (experimental) The git identity used to create the commit. Default: - default GitHub Actions user
|
|
7239
8933
|
:param labels: (experimental) Labels to apply on the PR. Default: - no labels.
|
|
7240
8934
|
:param signoff: (experimental) Add Signed-off-by line by the committer at the end of the commit log message. Default: true
|
|
7241
8935
|
:param step_id: (experimental) The step ID which produces the output which indicates if a patch was created. Default: "create_pr"
|
|
@@ -7291,6 +8985,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7291
8985
|
id: typing.Optional[builtins.str] = None,
|
|
7292
8986
|
if_: typing.Optional[builtins.str] = None,
|
|
7293
8987
|
name: typing.Optional[builtins.str] = None,
|
|
8988
|
+
shell: typing.Optional[builtins.str] = None,
|
|
7294
8989
|
working_directory: typing.Optional[builtins.str] = None,
|
|
7295
8990
|
) -> _JobStep_c3287c05:
|
|
7296
8991
|
'''(experimental) Checks out a repository.
|
|
@@ -7302,6 +8997,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7302
8997
|
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
7303
8998
|
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
7304
8999
|
:param name: (experimental) A name for your step to display on GitHub.
|
|
9000
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
7305
9001
|
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
7306
9002
|
|
|
7307
9003
|
:return: A JobStep that checks out a repository
|
|
@@ -7316,11 +9012,57 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7316
9012
|
id=id,
|
|
7317
9013
|
if_=if_,
|
|
7318
9014
|
name=name,
|
|
9015
|
+
shell=shell,
|
|
7319
9016
|
working_directory=working_directory,
|
|
7320
9017
|
)
|
|
7321
9018
|
|
|
7322
9019
|
return typing.cast(_JobStep_c3287c05, jsii.sinvoke(cls, "checkout", [options]))
|
|
7323
9020
|
|
|
9021
|
+
@jsii.member(jsii_name="downloadArtifact")
|
|
9022
|
+
@builtins.classmethod
|
|
9023
|
+
def download_artifact(
|
|
9024
|
+
cls,
|
|
9025
|
+
*,
|
|
9026
|
+
with_: typing.Union[DownloadArtifactWith, typing.Dict[builtins.str, typing.Any]],
|
|
9027
|
+
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
9028
|
+
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
9029
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
9030
|
+
id: typing.Optional[builtins.str] = None,
|
|
9031
|
+
if_: typing.Optional[builtins.str] = None,
|
|
9032
|
+
name: typing.Optional[builtins.str] = None,
|
|
9033
|
+
shell: typing.Optional[builtins.str] = None,
|
|
9034
|
+
working_directory: typing.Optional[builtins.str] = None,
|
|
9035
|
+
) -> _JobStep_c3287c05:
|
|
9036
|
+
'''(experimental) Downloads an artifact.
|
|
9037
|
+
|
|
9038
|
+
:param with_: (experimental) Options for ``download-artifact``.
|
|
9039
|
+
:param continue_on_error: (experimental) Prevents a job from failing when a step fails. Set to true to allow a job to pass when this step fails.
|
|
9040
|
+
:param timeout_minutes: (experimental) The maximum number of minutes to run the step before killing the process.
|
|
9041
|
+
:param env: (experimental) Sets environment variables for steps to use in the runner environment. You can also set environment variables for the entire workflow or a job.
|
|
9042
|
+
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
9043
|
+
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
9044
|
+
:param name: (experimental) A name for your step to display on GitHub.
|
|
9045
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
9046
|
+
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
9047
|
+
|
|
9048
|
+
:return: A JobStep that downloads an artifact
|
|
9049
|
+
|
|
9050
|
+
:stability: experimental
|
|
9051
|
+
'''
|
|
9052
|
+
options = DownloadArtifactOptions(
|
|
9053
|
+
with_=with_,
|
|
9054
|
+
continue_on_error=continue_on_error,
|
|
9055
|
+
timeout_minutes=timeout_minutes,
|
|
9056
|
+
env=env,
|
|
9057
|
+
id=id,
|
|
9058
|
+
if_=if_,
|
|
9059
|
+
name=name,
|
|
9060
|
+
shell=shell,
|
|
9061
|
+
working_directory=working_directory,
|
|
9062
|
+
)
|
|
9063
|
+
|
|
9064
|
+
return typing.cast(_JobStep_c3287c05, jsii.sinvoke(cls, "downloadArtifact", [options]))
|
|
9065
|
+
|
|
7324
9066
|
@jsii.member(jsii_name="setupGitIdentity")
|
|
7325
9067
|
@builtins.classmethod
|
|
7326
9068
|
def setup_git_identity(
|
|
@@ -7333,6 +9075,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7333
9075
|
id: typing.Optional[builtins.str] = None,
|
|
7334
9076
|
if_: typing.Optional[builtins.str] = None,
|
|
7335
9077
|
name: typing.Optional[builtins.str] = None,
|
|
9078
|
+
shell: typing.Optional[builtins.str] = None,
|
|
7336
9079
|
working_directory: typing.Optional[builtins.str] = None,
|
|
7337
9080
|
) -> _JobStep_c3287c05:
|
|
7338
9081
|
'''(experimental) Configures the git identity (user name and email).
|
|
@@ -7344,6 +9087,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7344
9087
|
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
7345
9088
|
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
7346
9089
|
:param name: (experimental) A name for your step to display on GitHub.
|
|
9090
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
7347
9091
|
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
7348
9092
|
|
|
7349
9093
|
:return: Job step that configures the provided git identity
|
|
@@ -7358,6 +9102,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7358
9102
|
id=id,
|
|
7359
9103
|
if_=if_,
|
|
7360
9104
|
name=name,
|
|
9105
|
+
shell=shell,
|
|
7361
9106
|
working_directory=working_directory,
|
|
7362
9107
|
)
|
|
7363
9108
|
|
|
@@ -7375,6 +9120,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7375
9120
|
id: typing.Optional[builtins.str] = None,
|
|
7376
9121
|
if_: typing.Optional[builtins.str] = None,
|
|
7377
9122
|
name: typing.Optional[builtins.str] = None,
|
|
9123
|
+
shell: typing.Optional[builtins.str] = None,
|
|
7378
9124
|
working_directory: typing.Optional[builtins.str] = None,
|
|
7379
9125
|
) -> _JobStep_c3287c05:
|
|
7380
9126
|
'''(experimental) Checks if a tag exists.
|
|
@@ -7392,6 +9138,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7392
9138
|
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
7393
9139
|
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
7394
9140
|
:param name: (experimental) A name for your step to display on GitHub.
|
|
9141
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
7395
9142
|
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
7396
9143
|
|
|
7397
9144
|
:return: Job step that checks if the provided tag exists
|
|
@@ -7408,6 +9155,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7408
9155
|
id=id,
|
|
7409
9156
|
if_=if_,
|
|
7410
9157
|
name=name,
|
|
9158
|
+
shell=shell,
|
|
7411
9159
|
working_directory=working_directory,
|
|
7412
9160
|
)
|
|
7413
9161
|
|
|
@@ -7425,6 +9173,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7425
9173
|
id: typing.Optional[builtins.str] = None,
|
|
7426
9174
|
if_: typing.Optional[builtins.str] = None,
|
|
7427
9175
|
name: typing.Optional[builtins.str] = None,
|
|
9176
|
+
shell: typing.Optional[builtins.str] = None,
|
|
7428
9177
|
working_directory: typing.Optional[builtins.str] = None,
|
|
7429
9178
|
) -> _JobStep_c3287c05:
|
|
7430
9179
|
'''(experimental) Uploads an artifact.
|
|
@@ -7436,6 +9185,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7436
9185
|
:param id: (experimental) A unique identifier for the step. You can use the id to reference the step in contexts.
|
|
7437
9186
|
:param if_: (experimental) You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.
|
|
7438
9187
|
:param name: (experimental) A name for your step to display on GitHub.
|
|
9188
|
+
:param shell: (experimental) Overrides the default shell settings in the runner's operating system and the job's default. Refer to GitHub documentation for allowed values.
|
|
7439
9189
|
:param working_directory: (experimental) Specifies a working directory for a step. Overrides a job's working directory.
|
|
7440
9190
|
|
|
7441
9191
|
:return: A JobStep that uploads an artifact
|
|
@@ -7450,6 +9200,7 @@ class WorkflowSteps(metaclass=jsii.JSIIMeta, jsii_type="projen.github.WorkflowSt
|
|
|
7450
9200
|
id=id,
|
|
7451
9201
|
if_=if_,
|
|
7452
9202
|
name=name,
|
|
9203
|
+
shell=shell,
|
|
7453
9204
|
working_directory=working_directory,
|
|
7454
9205
|
)
|
|
7455
9206
|
|
|
@@ -7461,19 +9212,27 @@ __all__ = [
|
|
|
7461
9212
|
"AutoApproveOptions",
|
|
7462
9213
|
"AutoMerge",
|
|
7463
9214
|
"AutoMergeOptions",
|
|
9215
|
+
"AutoQueue",
|
|
9216
|
+
"AutoQueueOptions",
|
|
7464
9217
|
"CheckoutOptions",
|
|
7465
9218
|
"CheckoutWith",
|
|
7466
9219
|
"CheckoutWithPatchOptions",
|
|
9220
|
+
"ConcurrencyOptions",
|
|
7467
9221
|
"ContributorStatementOptions",
|
|
7468
9222
|
"CreatePullRequestOptions",
|
|
7469
9223
|
"Dependabot",
|
|
7470
9224
|
"DependabotAllow",
|
|
7471
9225
|
"DependabotGroup",
|
|
9226
|
+
"DependabotGroupAppliesTo",
|
|
9227
|
+
"DependabotGroupDependencyType",
|
|
9228
|
+
"DependabotGroupUpdateType",
|
|
7472
9229
|
"DependabotIgnore",
|
|
7473
9230
|
"DependabotOptions",
|
|
7474
9231
|
"DependabotRegistry",
|
|
7475
9232
|
"DependabotRegistryType",
|
|
7476
9233
|
"DependabotScheduleInterval",
|
|
9234
|
+
"DownloadArtifactOptions",
|
|
9235
|
+
"DownloadArtifactWith",
|
|
7477
9236
|
"GitHub",
|
|
7478
9237
|
"GitHubActionsProvider",
|
|
7479
9238
|
"GitHubOptions",
|
|
@@ -7486,11 +9245,16 @@ __all__ = [
|
|
|
7486
9245
|
"GithubWorkflow",
|
|
7487
9246
|
"GithubWorkflowOptions",
|
|
7488
9247
|
"IAddConditionsLater",
|
|
9248
|
+
"MergeMethod",
|
|
9249
|
+
"MergeQueue",
|
|
9250
|
+
"MergeQueueOptions",
|
|
7489
9251
|
"Mergify",
|
|
7490
9252
|
"MergifyConditionalOperator",
|
|
7491
9253
|
"MergifyOptions",
|
|
7492
9254
|
"MergifyQueue",
|
|
7493
9255
|
"MergifyRule",
|
|
9256
|
+
"PullRequestBackport",
|
|
9257
|
+
"PullRequestBackportOptions",
|
|
7494
9258
|
"PullRequestFromPatchOptions",
|
|
7495
9259
|
"PullRequestLint",
|
|
7496
9260
|
"PullRequestLintOptions",
|
|
@@ -7577,12 +9341,38 @@ def _typecheckingstub__a8ab02e50aae05e5a55d4a4adc4369d19ed7205ed83b7ca13d32b3d62
|
|
|
7577
9341
|
"""Type checking stubs"""
|
|
7578
9342
|
pass
|
|
7579
9343
|
|
|
9344
|
+
def _typecheckingstub__d1a61bf6b1de263219ae71fb7c610ca1482abce41103e188b62ebe38e0314b58(
|
|
9345
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
9346
|
+
*,
|
|
9347
|
+
allowed_usernames: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9348
|
+
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9349
|
+
merge_method: typing.Optional[MergeMethod] = None,
|
|
9350
|
+
projen_credentials: typing.Optional[GithubCredentials] = None,
|
|
9351
|
+
runs_on: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9352
|
+
target_branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9353
|
+
) -> None:
|
|
9354
|
+
"""Type checking stubs"""
|
|
9355
|
+
pass
|
|
9356
|
+
|
|
9357
|
+
def _typecheckingstub__f138097d225158d553505a4839bf1c114c4a0e41bc55b7d24234176015382a5d(
|
|
9358
|
+
*,
|
|
9359
|
+
allowed_usernames: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9360
|
+
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9361
|
+
merge_method: typing.Optional[MergeMethod] = None,
|
|
9362
|
+
projen_credentials: typing.Optional[GithubCredentials] = None,
|
|
9363
|
+
runs_on: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9364
|
+
target_branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9365
|
+
) -> None:
|
|
9366
|
+
"""Type checking stubs"""
|
|
9367
|
+
pass
|
|
9368
|
+
|
|
7580
9369
|
def _typecheckingstub__a17b4445d77135e079ad1d957d41f1a5ade398e6b6ba84b471b26b6adab221ac(
|
|
7581
9370
|
*,
|
|
7582
9371
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
7583
9372
|
id: typing.Optional[builtins.str] = None,
|
|
7584
9373
|
if_: typing.Optional[builtins.str] = None,
|
|
7585
9374
|
name: typing.Optional[builtins.str] = None,
|
|
9375
|
+
shell: typing.Optional[builtins.str] = None,
|
|
7586
9376
|
working_directory: typing.Optional[builtins.str] = None,
|
|
7587
9377
|
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
7588
9378
|
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
@@ -7595,6 +9385,7 @@ def _typecheckingstub__57379070911f0df36ef38a23c138780de73f270c4e64ea8e6b7f4f128
|
|
|
7595
9385
|
*,
|
|
7596
9386
|
fetch_depth: typing.Optional[jsii.Number] = None,
|
|
7597
9387
|
lfs: typing.Optional[builtins.bool] = None,
|
|
9388
|
+
path: typing.Optional[builtins.str] = None,
|
|
7598
9389
|
ref: typing.Optional[builtins.str] = None,
|
|
7599
9390
|
repository: typing.Optional[builtins.str] = None,
|
|
7600
9391
|
token: typing.Optional[builtins.str] = None,
|
|
@@ -7606,6 +9397,7 @@ def _typecheckingstub__c7405ea05e49b1f743e00dc103618fbd659c979bbec234492b8928ed6
|
|
|
7606
9397
|
*,
|
|
7607
9398
|
fetch_depth: typing.Optional[jsii.Number] = None,
|
|
7608
9399
|
lfs: typing.Optional[builtins.bool] = None,
|
|
9400
|
+
path: typing.Optional[builtins.str] = None,
|
|
7609
9401
|
ref: typing.Optional[builtins.str] = None,
|
|
7610
9402
|
repository: typing.Optional[builtins.str] = None,
|
|
7611
9403
|
token: typing.Optional[builtins.str] = None,
|
|
@@ -7614,6 +9406,14 @@ def _typecheckingstub__c7405ea05e49b1f743e00dc103618fbd659c979bbec234492b8928ed6
|
|
|
7614
9406
|
"""Type checking stubs"""
|
|
7615
9407
|
pass
|
|
7616
9408
|
|
|
9409
|
+
def _typecheckingstub__c4114f6f3330f94beb00dba1183281a663b31179a714c1f1412277b784153015(
|
|
9410
|
+
*,
|
|
9411
|
+
cancel_in_progress: typing.Optional[builtins.bool] = None,
|
|
9412
|
+
group: typing.Optional[builtins.str] = None,
|
|
9413
|
+
) -> None:
|
|
9414
|
+
"""Type checking stubs"""
|
|
9415
|
+
pass
|
|
9416
|
+
|
|
7617
9417
|
def _typecheckingstub__4bf4a36aad325b457168493fe21f1efbc534c83e8685d03341390fcbf3d1c0bc(
|
|
7618
9418
|
*,
|
|
7619
9419
|
exempt_labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -7653,6 +9453,7 @@ def _typecheckingstub__2caae883697ce14c090e89c8fd0dbbab7e7c0f31d6d4d66311f05a679
|
|
|
7653
9453
|
registries: typing.Optional[typing.Mapping[builtins.str, typing.Union[DependabotRegistry, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7654
9454
|
reviewers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7655
9455
|
schedule_interval: typing.Optional[DependabotScheduleInterval] = None,
|
|
9456
|
+
target_branch: typing.Optional[builtins.str] = None,
|
|
7656
9457
|
versioning_strategy: typing.Optional[VersioningStrategy] = None,
|
|
7657
9458
|
) -> None:
|
|
7658
9459
|
"""Type checking stubs"""
|
|
@@ -7681,7 +9482,10 @@ def _typecheckingstub__95f7e72bd3f0d0b83df633a27522aaab6cab1baeaf4b90de44beff992
|
|
|
7681
9482
|
def _typecheckingstub__97650f1e1a170d34a5bd50211445090d04d890ec494749c1eb3f5a1fabbec7d4(
|
|
7682
9483
|
*,
|
|
7683
9484
|
patterns: typing.Sequence[builtins.str],
|
|
9485
|
+
applies_to: typing.Optional[DependabotGroupAppliesTo] = None,
|
|
9486
|
+
dependency_type: typing.Optional[DependabotGroupDependencyType] = None,
|
|
7684
9487
|
exclude_patterns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9488
|
+
update_types: typing.Optional[typing.Sequence[DependabotGroupUpdateType]] = None,
|
|
7685
9489
|
) -> None:
|
|
7686
9490
|
"""Type checking stubs"""
|
|
7687
9491
|
pass
|
|
@@ -7706,6 +9510,7 @@ def _typecheckingstub__d0078e67a79ce21c460b876a72b4fbd4a358306502062bdf9bdb13085
|
|
|
7706
9510
|
registries: typing.Optional[typing.Mapping[builtins.str, typing.Union[DependabotRegistry, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7707
9511
|
reviewers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7708
9512
|
schedule_interval: typing.Optional[DependabotScheduleInterval] = None,
|
|
9513
|
+
target_branch: typing.Optional[builtins.str] = None,
|
|
7709
9514
|
versioning_strategy: typing.Optional[VersioningStrategy] = None,
|
|
7710
9515
|
) -> None:
|
|
7711
9516
|
"""Type checking stubs"""
|
|
@@ -7725,14 +9530,46 @@ def _typecheckingstub__71dcef0810bce091e26ea45c125fc125b6b541331dd4f1fa62466d1f5
|
|
|
7725
9530
|
"""Type checking stubs"""
|
|
7726
9531
|
pass
|
|
7727
9532
|
|
|
9533
|
+
def _typecheckingstub__c7f153d5c1001fcb119385a05448ea85e212f46cc420d578734261b8353a641b(
|
|
9534
|
+
*,
|
|
9535
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
9536
|
+
id: typing.Optional[builtins.str] = None,
|
|
9537
|
+
if_: typing.Optional[builtins.str] = None,
|
|
9538
|
+
name: typing.Optional[builtins.str] = None,
|
|
9539
|
+
shell: typing.Optional[builtins.str] = None,
|
|
9540
|
+
working_directory: typing.Optional[builtins.str] = None,
|
|
9541
|
+
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
9542
|
+
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
9543
|
+
with_: typing.Union[DownloadArtifactWith, typing.Dict[builtins.str, typing.Any]],
|
|
9544
|
+
) -> None:
|
|
9545
|
+
"""Type checking stubs"""
|
|
9546
|
+
pass
|
|
9547
|
+
|
|
9548
|
+
def _typecheckingstub__3e5008f68a85d8490ecf62a54f413b82cc795d9a14d3bc8eabcc2720f31de50c(
|
|
9549
|
+
*,
|
|
9550
|
+
merge_multiple: typing.Optional[builtins.bool] = None,
|
|
9551
|
+
name: typing.Optional[builtins.str] = None,
|
|
9552
|
+
path: typing.Optional[builtins.str] = None,
|
|
9553
|
+
pattern: typing.Optional[builtins.str] = None,
|
|
9554
|
+
repository: typing.Optional[builtins.str] = None,
|
|
9555
|
+
run_id: typing.Optional[builtins.str] = None,
|
|
9556
|
+
token: typing.Optional[builtins.str] = None,
|
|
9557
|
+
) -> None:
|
|
9558
|
+
"""Type checking stubs"""
|
|
9559
|
+
pass
|
|
9560
|
+
|
|
7728
9561
|
def _typecheckingstub__65db11e8703472c7fa4e013294c649e43b7f8634b29ca11be71b46d8c549c4d1(
|
|
7729
9562
|
project: _Project_57d89203,
|
|
7730
9563
|
*,
|
|
7731
9564
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
9565
|
+
merge_queue: typing.Optional[builtins.bool] = None,
|
|
9566
|
+
merge_queue_options: typing.Optional[typing.Union[MergeQueueOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7732
9567
|
mergify: typing.Optional[builtins.bool] = None,
|
|
7733
9568
|
mergify_options: typing.Optional[typing.Union[MergifyOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7734
9569
|
projen_credentials: typing.Optional[GithubCredentials] = None,
|
|
7735
9570
|
projen_token_secret: typing.Optional[builtins.str] = None,
|
|
9571
|
+
pull_request_backport: typing.Optional[builtins.bool] = None,
|
|
9572
|
+
pull_request_backport_options: typing.Optional[typing.Union[PullRequestBackportOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7736
9573
|
pull_request_lint: typing.Optional[builtins.bool] = None,
|
|
7737
9574
|
pull_request_lint_options: typing.Optional[typing.Union[PullRequestLintOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7738
9575
|
workflows: typing.Optional[builtins.bool] = None,
|
|
@@ -7780,10 +9617,14 @@ def _typecheckingstub__20166ac47381861e1a45b550a5e9646380c52a927fca9ebf00ec36dab
|
|
|
7780
9617
|
def _typecheckingstub__c22e66f011c96f13a6f4e5b07bb676bf98b477678e968ee61f79ee107a7d2bd7(
|
|
7781
9618
|
*,
|
|
7782
9619
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
9620
|
+
merge_queue: typing.Optional[builtins.bool] = None,
|
|
9621
|
+
merge_queue_options: typing.Optional[typing.Union[MergeQueueOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7783
9622
|
mergify: typing.Optional[builtins.bool] = None,
|
|
7784
9623
|
mergify_options: typing.Optional[typing.Union[MergifyOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7785
9624
|
projen_credentials: typing.Optional[GithubCredentials] = None,
|
|
7786
9625
|
projen_token_secret: typing.Optional[builtins.str] = None,
|
|
9626
|
+
pull_request_backport: typing.Optional[builtins.bool] = None,
|
|
9627
|
+
pull_request_backport_options: typing.Optional[typing.Union[PullRequestBackportOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7787
9628
|
pull_request_lint: typing.Optional[builtins.bool] = None,
|
|
7788
9629
|
pull_request_lint_options: typing.Optional[typing.Union[PullRequestLintOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7789
9630
|
workflows: typing.Optional[builtins.bool] = None,
|
|
@@ -7843,8 +9684,10 @@ def _typecheckingstub__f9975d58a3cca9992aa51d0da1572c207d374c146dec0474fc911a567
|
|
|
7843
9684
|
def _typecheckingstub__cfe552d6288d1f706792afe5f041e666db050b8d0d3bb7062899a3bdefe652a8(
|
|
7844
9685
|
*,
|
|
7845
9686
|
app_id_secret: typing.Optional[builtins.str] = None,
|
|
9687
|
+
owner: typing.Optional[builtins.str] = None,
|
|
7846
9688
|
permissions: typing.Optional[typing.Union[_AppPermissions_59709d51, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7847
9689
|
private_key_secret: typing.Optional[builtins.str] = None,
|
|
9690
|
+
repositories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7848
9691
|
) -> None:
|
|
7849
9692
|
"""Type checking stubs"""
|
|
7850
9693
|
pass
|
|
@@ -7860,8 +9703,11 @@ def _typecheckingstub__ca4f375b4fda039fc4fb5b2f4ad26a9d1695085d170d2d76e6d720c7c
|
|
|
7860
9703
|
github: GitHub,
|
|
7861
9704
|
name: builtins.str,
|
|
7862
9705
|
*,
|
|
7863
|
-
|
|
9706
|
+
concurrency_options: typing.Optional[typing.Union[ConcurrencyOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9707
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
9708
|
+
file_name: typing.Optional[builtins.str] = None,
|
|
7864
9709
|
force: typing.Optional[builtins.bool] = None,
|
|
9710
|
+
limit_concurrency: typing.Optional[builtins.bool] = None,
|
|
7865
9711
|
) -> None:
|
|
7866
9712
|
"""Type checking stubs"""
|
|
7867
9713
|
pass
|
|
@@ -7912,8 +9758,30 @@ def _typecheckingstub__a6273080200c7722c9774364ee8460bccd3337cd48edc420530ca75f7
|
|
|
7912
9758
|
|
|
7913
9759
|
def _typecheckingstub__c779b00d3df0cff3a9570cc6ed35339952399a898d5854423c3329b55bf736ec(
|
|
7914
9760
|
*,
|
|
7915
|
-
|
|
9761
|
+
concurrency_options: typing.Optional[typing.Union[ConcurrencyOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9762
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
9763
|
+
file_name: typing.Optional[builtins.str] = None,
|
|
7916
9764
|
force: typing.Optional[builtins.bool] = None,
|
|
9765
|
+
limit_concurrency: typing.Optional[builtins.bool] = None,
|
|
9766
|
+
) -> None:
|
|
9767
|
+
"""Type checking stubs"""
|
|
9768
|
+
pass
|
|
9769
|
+
|
|
9770
|
+
def _typecheckingstub__8d0860f4805d4f3404f9b940157e555ab934aaea8c3deecc2681f63f23129dc7(
|
|
9771
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
9772
|
+
*,
|
|
9773
|
+
auto_queue: typing.Optional[builtins.bool] = None,
|
|
9774
|
+
auto_queue_options: typing.Optional[typing.Union[AutoQueueOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9775
|
+
target_branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9776
|
+
) -> None:
|
|
9777
|
+
"""Type checking stubs"""
|
|
9778
|
+
pass
|
|
9779
|
+
|
|
9780
|
+
def _typecheckingstub__5ed41b74ffbee4fd52a12674b58bd68e113a707d7c3dec6e1ecb7f9647debbc3(
|
|
9781
|
+
*,
|
|
9782
|
+
auto_queue: typing.Optional[builtins.bool] = None,
|
|
9783
|
+
auto_queue_options: typing.Optional[typing.Union[AutoQueueOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9784
|
+
target_branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7917
9785
|
) -> None:
|
|
7918
9786
|
"""Type checking stubs"""
|
|
7919
9787
|
pass
|
|
@@ -7945,9 +9813,12 @@ def _typecheckingstub__527734fcd5357c536553ff5f47fe5062b93958305a451f587c870879e
|
|
|
7945
9813
|
|
|
7946
9814
|
def _typecheckingstub__0471efd0a49bc64e556512e765a1df23d4a975f26cb6de765579b4173907f467(
|
|
7947
9815
|
*,
|
|
7948
|
-
|
|
9816
|
+
commit_message_template: builtins.str,
|
|
7949
9817
|
name: builtins.str,
|
|
9818
|
+
conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union[MergifyConditionalOperator, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
9819
|
+
merge_conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union[MergifyConditionalOperator, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
7950
9820
|
merge_method: typing.Optional[builtins.str] = None,
|
|
9821
|
+
queue_conditions: typing.Optional[typing.Sequence[typing.Union[builtins.str, typing.Union[MergifyConditionalOperator, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
7951
9822
|
update_method: typing.Optional[builtins.str] = None,
|
|
7952
9823
|
) -> None:
|
|
7953
9824
|
"""Type checking stubs"""
|
|
@@ -7962,6 +9833,33 @@ def _typecheckingstub__95405391335691b357d88cc73d37d1ee20fceae6cf671811812f63972
|
|
|
7962
9833
|
"""Type checking stubs"""
|
|
7963
9834
|
pass
|
|
7964
9835
|
|
|
9836
|
+
def _typecheckingstub__a321227b5ffc19f1220367db19ad9a6c84aec3e2bf74ba19db5a89f3ee8c9ce4(
|
|
9837
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
9838
|
+
*,
|
|
9839
|
+
auto_approve_backport: typing.Optional[builtins.bool] = None,
|
|
9840
|
+
backport_branch_name_prefix: typing.Optional[builtins.str] = None,
|
|
9841
|
+
backport_pr_labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9842
|
+
branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9843
|
+
create_with_conflicts: typing.Optional[builtins.bool] = None,
|
|
9844
|
+
label_prefix: typing.Optional[builtins.str] = None,
|
|
9845
|
+
workflow_name: typing.Optional[builtins.str] = None,
|
|
9846
|
+
) -> None:
|
|
9847
|
+
"""Type checking stubs"""
|
|
9848
|
+
pass
|
|
9849
|
+
|
|
9850
|
+
def _typecheckingstub__066696cdba0d516ea035e9580a9e5c79c5a552ca23f78e5291d21811124a2a62(
|
|
9851
|
+
*,
|
|
9852
|
+
auto_approve_backport: typing.Optional[builtins.bool] = None,
|
|
9853
|
+
backport_branch_name_prefix: typing.Optional[builtins.str] = None,
|
|
9854
|
+
backport_pr_labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9855
|
+
branches: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9856
|
+
create_with_conflicts: typing.Optional[builtins.bool] = None,
|
|
9857
|
+
label_prefix: typing.Optional[builtins.str] = None,
|
|
9858
|
+
workflow_name: typing.Optional[builtins.str] = None,
|
|
9859
|
+
) -> None:
|
|
9860
|
+
"""Type checking stubs"""
|
|
9861
|
+
pass
|
|
9862
|
+
|
|
7965
9863
|
def _typecheckingstub__0c1e5279fc8c18480c3113cc60b389aa13938b2052436bbdcb3069cfe669fa47(
|
|
7966
9864
|
*,
|
|
7967
9865
|
pull_request_description: builtins.str,
|
|
@@ -8013,6 +9911,7 @@ def _typecheckingstub__c3c9a28aa8266154d9a36adad571b3695e958b931e79b9eaff4a7dc55
|
|
|
8013
9911
|
*,
|
|
8014
9912
|
fetch_depth: typing.Optional[jsii.Number] = None,
|
|
8015
9913
|
lfs: typing.Optional[builtins.bool] = None,
|
|
9914
|
+
path: typing.Optional[builtins.str] = None,
|
|
8016
9915
|
ref: typing.Optional[builtins.str] = None,
|
|
8017
9916
|
repository: typing.Optional[builtins.str] = None,
|
|
8018
9917
|
token: typing.Optional[builtins.str] = None,
|
|
@@ -8047,6 +9946,7 @@ def _typecheckingstub__d8786063961cc00764e7c2005db60e7d427b8a81ce2275510888beb4e
|
|
|
8047
9946
|
def _typecheckingstub__9d043d0484269cca19493b2d2d5c51f9cfe65a12520148f80ef37f6855457de0(
|
|
8048
9947
|
*,
|
|
8049
9948
|
require_scope: typing.Optional[builtins.bool] = None,
|
|
9949
|
+
scopes: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
8050
9950
|
types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
8051
9951
|
) -> None:
|
|
8052
9952
|
"""Type checking stubs"""
|
|
@@ -8058,6 +9958,7 @@ def _typecheckingstub__b9e40915fe7c519c231c73e9a63dfa1b1dee67586ebf4629165f8556f
|
|
|
8058
9958
|
id: typing.Optional[builtins.str] = None,
|
|
8059
9959
|
if_: typing.Optional[builtins.str] = None,
|
|
8060
9960
|
name: typing.Optional[builtins.str] = None,
|
|
9961
|
+
shell: typing.Optional[builtins.str] = None,
|
|
8061
9962
|
working_directory: typing.Optional[builtins.str] = None,
|
|
8062
9963
|
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
8063
9964
|
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
@@ -8114,6 +10015,7 @@ def _typecheckingstub__8d4fb3030e96a87b921aa6bfb0d4ccf7a90d4c2affbcb8eeca2d5a24c
|
|
|
8114
10015
|
container: typing.Optional[typing.Union[_ContainerOptions_f50907af, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8115
10016
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
8116
10017
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
10018
|
+
environment: typing.Optional[builtins.str] = None,
|
|
8117
10019
|
git_identity: typing.Optional[typing.Union[GitIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8118
10020
|
job_defaults: typing.Optional[typing.Union[_JobDefaults_965f0d10, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8119
10021
|
outputs: typing.Optional[typing.Mapping[builtins.str, typing.Union[_JobStepOutput_acebe827, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -8137,6 +10039,7 @@ def _typecheckingstub__8e35b96aa7e4fe84c59cac8c7e3f4c146c780c7b09807f610b1aaf727
|
|
|
8137
10039
|
container: typing.Optional[typing.Union[_ContainerOptions_f50907af, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8138
10040
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
8139
10041
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
10042
|
+
environment: typing.Optional[builtins.str] = None,
|
|
8140
10043
|
git_identity: typing.Optional[typing.Union[GitIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8141
10044
|
job_defaults: typing.Optional[typing.Union[_JobDefaults_965f0d10, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8142
10045
|
outputs: typing.Optional[typing.Mapping[builtins.str, typing.Union[_JobStepOutput_acebe827, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -8158,6 +10061,7 @@ def _typecheckingstub__4f2039f9f0120fa5bcc0261afed5aa5fd2be59874413018ee781d5e75
|
|
|
8158
10061
|
container: typing.Optional[typing.Union[_ContainerOptions_f50907af, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8159
10062
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
8160
10063
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
10064
|
+
environment: typing.Optional[builtins.str] = None,
|
|
8161
10065
|
git_identity: typing.Optional[typing.Union[GitIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8162
10066
|
job_defaults: typing.Optional[typing.Union[_JobDefaults_965f0d10, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8163
10067
|
outputs: typing.Optional[typing.Mapping[builtins.str, typing.Union[_JobStepOutput_acebe827, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -8179,6 +10083,7 @@ def _typecheckingstub__15e1c594f5876baf2e105789fcb541bcb5e71cea5ad4320fb67052a9c
|
|
|
8179
10083
|
container: typing.Optional[typing.Union[_ContainerOptions_f50907af, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8180
10084
|
download_lfs: typing.Optional[builtins.bool] = None,
|
|
8181
10085
|
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
10086
|
+
environment: typing.Optional[builtins.str] = None,
|
|
8182
10087
|
git_identity: typing.Optional[typing.Union[GitIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8183
10088
|
job_defaults: typing.Optional[typing.Union[_JobDefaults_965f0d10, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8184
10089
|
outputs: typing.Optional[typing.Mapping[builtins.str, typing.Union[_JobStepOutput_acebe827, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -8201,6 +10106,7 @@ def _typecheckingstub__76a6b70b748b84dc156557f2c93bcd7ad0f6ba6fe077270e3f296f69c
|
|
|
8201
10106
|
id: typing.Optional[builtins.str] = None,
|
|
8202
10107
|
if_: typing.Optional[builtins.str] = None,
|
|
8203
10108
|
name: typing.Optional[builtins.str] = None,
|
|
10109
|
+
shell: typing.Optional[builtins.str] = None,
|
|
8204
10110
|
working_directory: typing.Optional[builtins.str] = None,
|
|
8205
10111
|
continue_on_error: typing.Optional[builtins.bool] = None,
|
|
8206
10112
|
timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
@@ -8214,7 +10120,9 @@ def _typecheckingstub__ffa4e677bfd1bdf4c5e45f5ff5e0b2a238422bb1e8bf6bcf6bbbf0ff2
|
|
|
8214
10120
|
path: builtins.str,
|
|
8215
10121
|
compression_level: typing.Optional[jsii.Number] = None,
|
|
8216
10122
|
if_no_files_found: typing.Optional[builtins.str] = None,
|
|
10123
|
+
include_hidden_files: typing.Optional[builtins.bool] = None,
|
|
8217
10124
|
name: typing.Optional[builtins.str] = None,
|
|
10125
|
+
overwrite: typing.Optional[builtins.bool] = None,
|
|
8218
10126
|
retention_days: typing.Optional[jsii.Number] = None,
|
|
8219
10127
|
) -> None:
|
|
8220
10128
|
"""Type checking stubs"""
|
|
@@ -8240,7 +10148,11 @@ def _typecheckingstub__696566a4c593a7173649d5eeaadb52edb8460487e95d469374dc3c01f
|
|
|
8240
10148
|
id: typing.Optional[builtins.str] = None,
|
|
8241
10149
|
if_: typing.Optional[builtins.str] = None,
|
|
8242
10150
|
name: typing.Optional[builtins.str] = None,
|
|
10151
|
+
shell: typing.Optional[builtins.str] = None,
|
|
8243
10152
|
working_directory: typing.Optional[builtins.str] = None,
|
|
8244
10153
|
) -> None:
|
|
8245
10154
|
"""Type checking stubs"""
|
|
8246
10155
|
pass
|
|
10156
|
+
|
|
10157
|
+
for cls in [IAddConditionsLater]:
|
|
10158
|
+
typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
|