projen 0.95.1__py3-none-any.whl → 0.95.2__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.

Potentially problematic release.


This version of projen might be problematic. Click here for more details.

projen/cdk/__init__.py CHANGED
@@ -615,6 +615,7 @@ class JsiiDocgenOptions:
615
615
  jsii_type="projen.cdk.JsiiDotNetTarget",
616
616
  jsii_struct_bases=[_NugetPublishOptions_32e8bf09],
617
617
  name_mapping={
618
+ "github_environment": "githubEnvironment",
618
619
  "post_publish_steps": "postPublishSteps",
619
620
  "pre_publish_steps": "prePublishSteps",
620
621
  "publish_tools": "publishTools",
@@ -629,6 +630,7 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
629
630
  def __init__(
630
631
  self,
631
632
  *,
633
+ github_environment: typing.Optional[builtins.str] = None,
632
634
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
633
635
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
634
636
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -639,6 +641,7 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
639
641
  icon_url: typing.Optional[builtins.str] = None,
640
642
  ) -> None:
641
643
  '''
644
+ :param github_environment: (experimental) The GitHub Actions environment used for publishing. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. Set this to overwrite a package level publishing environment just for this artifact. Default: - no environment used, unless set at the package level
642
645
  :param post_publish_steps: (experimental) Steps to execute after executing the publishing command. These can be used to add/update the release artifacts ot any other tasks needed. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPostPublishingSteps``.
643
646
  :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
644
647
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -654,6 +657,7 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
654
657
  publish_tools = _Tools_75b93a2a(**publish_tools)
655
658
  if __debug__:
656
659
  type_hints = typing.get_type_hints(_typecheckingstub__e809c6916d6d93bf1e91d05e4a79f49eb72f74bccaceeb6a508a3005bb5ec7b5)
660
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
657
661
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
658
662
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
659
663
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -666,6 +670,8 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
666
670
  "dot_net_namespace": dot_net_namespace,
667
671
  "package_id": package_id,
668
672
  }
673
+ if github_environment is not None:
674
+ self._values["github_environment"] = github_environment
669
675
  if post_publish_steps is not None:
670
676
  self._values["post_publish_steps"] = post_publish_steps
671
677
  if pre_publish_steps is not None:
@@ -679,6 +685,22 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
679
685
  if icon_url is not None:
680
686
  self._values["icon_url"] = icon_url
681
687
 
688
+ @builtins.property
689
+ def github_environment(self) -> typing.Optional[builtins.str]:
690
+ '''(experimental) The GitHub Actions environment used for publishing.
691
+
692
+ This can be used to add an explicit approval step to the release
693
+ or limit who can initiate a release through environment protection rules.
694
+
695
+ Set this to overwrite a package level publishing environment just for this artifact.
696
+
697
+ :default: - no environment used, unless set at the package level
698
+
699
+ :stability: experimental
700
+ '''
701
+ result = self._values.get("github_environment")
702
+ return typing.cast(typing.Optional[builtins.str], result)
703
+
682
704
  @builtins.property
683
705
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
684
706
  '''(experimental) Steps to execute after executing the publishing command.
@@ -780,6 +802,7 @@ class JsiiDotNetTarget(_NugetPublishOptions_32e8bf09):
780
802
  jsii_type="projen.cdk.JsiiGoTarget",
781
803
  jsii_struct_bases=[_GoPublishOptions_d6430d61],
782
804
  name_mapping={
805
+ "github_environment": "githubEnvironment",
783
806
  "post_publish_steps": "postPublishSteps",
784
807
  "pre_publish_steps": "prePublishSteps",
785
808
  "publish_tools": "publishTools",
@@ -799,6 +822,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
799
822
  def __init__(
800
823
  self,
801
824
  *,
825
+ github_environment: typing.Optional[builtins.str] = None,
802
826
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
803
827
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
804
828
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -815,6 +839,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
815
839
  ) -> None:
816
840
  '''(experimental) Go target configuration.
817
841
 
842
+ :param github_environment: (experimental) The GitHub Actions environment used for publishing. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. Set this to overwrite a package level publishing environment just for this artifact. Default: - no environment used, unless set at the package level
818
843
  :param post_publish_steps: (experimental) Steps to execute after executing the publishing command. These can be used to add/update the release artifacts ot any other tasks needed. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPostPublishingSteps``.
819
844
  :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
820
845
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -835,6 +860,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
835
860
  publish_tools = _Tools_75b93a2a(**publish_tools)
836
861
  if __debug__:
837
862
  type_hints = typing.get_type_hints(_typecheckingstub__b0ea0b1537651364353b8d1546fea1d78af2aaded6dded156ab976119354df9a)
863
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
838
864
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
839
865
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
840
866
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -851,6 +877,8 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
851
877
  self._values: typing.Dict[builtins.str, typing.Any] = {
852
878
  "module_name": module_name,
853
879
  }
880
+ if github_environment is not None:
881
+ self._values["github_environment"] = github_environment
854
882
  if post_publish_steps is not None:
855
883
  self._values["post_publish_steps"] = post_publish_steps
856
884
  if pre_publish_steps is not None:
@@ -876,6 +904,22 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
876
904
  if version_suffix is not None:
877
905
  self._values["version_suffix"] = version_suffix
878
906
 
907
+ @builtins.property
908
+ def github_environment(self) -> typing.Optional[builtins.str]:
909
+ '''(experimental) The GitHub Actions environment used for publishing.
910
+
911
+ This can be used to add an explicit approval step to the release
912
+ or limit who can initiate a release through environment protection rules.
913
+
914
+ Set this to overwrite a package level publishing environment just for this artifact.
915
+
916
+ :default: - no environment used, unless set at the package level
917
+
918
+ :stability: experimental
919
+ '''
920
+ result = self._values.get("github_environment")
921
+ return typing.cast(typing.Optional[builtins.str], result)
922
+
879
923
  @builtins.property
880
924
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
881
925
  '''(experimental) Steps to execute after executing the publishing command.
@@ -1055,6 +1099,7 @@ class JsiiGoTarget(_GoPublishOptions_d6430d61):
1055
1099
  jsii_type="projen.cdk.JsiiJavaTarget",
1056
1100
  jsii_struct_bases=[_MavenPublishOptions_43a9e42a],
1057
1101
  name_mapping={
1102
+ "github_environment": "githubEnvironment",
1058
1103
  "post_publish_steps": "postPublishSteps",
1059
1104
  "pre_publish_steps": "prePublishSteps",
1060
1105
  "publish_tools": "publishTools",
@@ -1075,6 +1120,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1075
1120
  def __init__(
1076
1121
  self,
1077
1122
  *,
1123
+ github_environment: typing.Optional[builtins.str] = None,
1078
1124
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1079
1125
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1080
1126
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1091,6 +1137,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1091
1137
  maven_group_id: builtins.str,
1092
1138
  ) -> None:
1093
1139
  '''
1140
+ :param github_environment: (experimental) The GitHub Actions environment used for publishing. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. Set this to overwrite a package level publishing environment just for this artifact. Default: - no environment used, unless set at the package level
1094
1141
  :param post_publish_steps: (experimental) Steps to execute after executing the publishing command. These can be used to add/update the release artifacts ot any other tasks needed. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPostPublishingSteps``.
1095
1142
  :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
1096
1143
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -1112,6 +1159,7 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1112
1159
  publish_tools = _Tools_75b93a2a(**publish_tools)
1113
1160
  if __debug__:
1114
1161
  type_hints = typing.get_type_hints(_typecheckingstub__365483a000ed61cc1587d7ada435961b86f33fb0718cd001430497c2290e0820)
1162
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
1115
1163
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
1116
1164
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
1117
1165
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -1131,6 +1179,8 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1131
1179
  "maven_artifact_id": maven_artifact_id,
1132
1180
  "maven_group_id": maven_group_id,
1133
1181
  }
1182
+ if github_environment is not None:
1183
+ self._values["github_environment"] = github_environment
1134
1184
  if post_publish_steps is not None:
1135
1185
  self._values["post_publish_steps"] = post_publish_steps
1136
1186
  if pre_publish_steps is not None:
@@ -1154,6 +1204,22 @@ class JsiiJavaTarget(_MavenPublishOptions_43a9e42a):
1154
1204
  if maven_username is not None:
1155
1205
  self._values["maven_username"] = maven_username
1156
1206
 
1207
+ @builtins.property
1208
+ def github_environment(self) -> typing.Optional[builtins.str]:
1209
+ '''(experimental) The GitHub Actions environment used for publishing.
1210
+
1211
+ This can be used to add an explicit approval step to the release
1212
+ or limit who can initiate a release through environment protection rules.
1213
+
1214
+ Set this to overwrite a package level publishing environment just for this artifact.
1215
+
1216
+ :default: - no environment used, unless set at the package level
1217
+
1218
+ :stability: experimental
1219
+ '''
1220
+ result = self._values.get("github_environment")
1221
+ return typing.cast(typing.Optional[builtins.str], result)
1222
+
1157
1223
  @builtins.property
1158
1224
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1159
1225
  '''(experimental) Steps to execute after executing the publishing command.
@@ -1495,6 +1561,7 @@ class JsiiProject(
1495
1561
  publish_tasks: typing.Optional[builtins.bool] = None,
1496
1562
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
1497
1563
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
1564
+ release_environment: typing.Optional[builtins.str] = None,
1498
1565
  release_every_commit: typing.Optional[builtins.bool] = None,
1499
1566
  release_failure_issue: typing.Optional[builtins.bool] = None,
1500
1567
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -1663,6 +1730,7 @@ class JsiiProject(
1663
1730
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
1664
1731
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
1665
1732
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
1733
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
1666
1734
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
1667
1735
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
1668
1736
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -1833,6 +1901,7 @@ class JsiiProject(
1833
1901
  publish_tasks=publish_tasks,
1834
1902
  releasable_commits=releasable_commits,
1835
1903
  release_branches=release_branches,
1904
+ release_environment=release_environment,
1836
1905
  release_every_commit=release_every_commit,
1837
1906
  release_failure_issue=release_failure_issue,
1838
1907
  release_failure_issue_label=release_failure_issue_label,
@@ -1945,6 +2014,7 @@ class JsiiProject(
1945
2014
  "publish_tasks": "publishTasks",
1946
2015
  "releasable_commits": "releasableCommits",
1947
2016
  "release_branches": "releaseBranches",
2017
+ "release_environment": "releaseEnvironment",
1948
2018
  "release_every_commit": "releaseEveryCommit",
1949
2019
  "release_failure_issue": "releaseFailureIssue",
1950
2020
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -2117,6 +2187,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2117
2187
  publish_tasks: typing.Optional[builtins.bool] = None,
2118
2188
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
2119
2189
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
2190
+ release_environment: typing.Optional[builtins.str] = None,
2120
2191
  release_every_commit: typing.Optional[builtins.bool] = None,
2121
2192
  release_failure_issue: typing.Optional[builtins.bool] = None,
2122
2193
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -2285,6 +2356,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2285
2356
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
2286
2357
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
2287
2358
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
2359
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
2288
2360
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
2289
2361
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
2290
2362
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -2532,6 +2604,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2532
2604
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
2533
2605
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
2534
2606
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
2607
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
2535
2608
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
2536
2609
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
2537
2610
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -2782,6 +2855,8 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
2782
2855
  self._values["releasable_commits"] = releasable_commits
2783
2856
  if release_branches is not None:
2784
2857
  self._values["release_branches"] = release_branches
2858
+ if release_environment is not None:
2859
+ self._values["release_environment"] = release_environment
2785
2860
  if release_every_commit is not None:
2786
2861
  self._values["release_every_commit"] = release_every_commit
2787
2862
  if release_failure_issue is not None:
@@ -3983,6 +4058,23 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
3983
4058
  result = self._values.get("release_branches")
3984
4059
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
3985
4060
 
4061
+ @builtins.property
4062
+ def release_environment(self) -> typing.Optional[builtins.str]:
4063
+ '''(experimental) The GitHub Actions environment used for the release.
4064
+
4065
+ This can be used to add an explicit approval step to the release
4066
+ or limit who can initiate a release through environment protection rules.
4067
+
4068
+ When multiple artifacts are released, the environment can be overwritten
4069
+ on a per artifact basis.
4070
+
4071
+ :default: - no environment used, unless set at the artifact level
4072
+
4073
+ :stability: experimental
4074
+ '''
4075
+ result = self._values.get("release_environment")
4076
+ return typing.cast(typing.Optional[builtins.str], result)
4077
+
3986
4078
  @builtins.property
3987
4079
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
3988
4080
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -5014,6 +5106,7 @@ class JsiiProjectOptions(_TypeScriptProjectOptions_d10c83f7):
5014
5106
  jsii_type="projen.cdk.JsiiPythonTarget",
5015
5107
  jsii_struct_bases=[_PyPiPublishOptions_99154bcd],
5016
5108
  name_mapping={
5109
+ "github_environment": "githubEnvironment",
5017
5110
  "post_publish_steps": "postPublishSteps",
5018
5111
  "pre_publish_steps": "prePublishSteps",
5019
5112
  "publish_tools": "publishTools",
@@ -5029,6 +5122,7 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
5029
5122
  def __init__(
5030
5123
  self,
5031
5124
  *,
5125
+ github_environment: typing.Optional[builtins.str] = None,
5032
5126
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5033
5127
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5034
5128
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5040,6 +5134,7 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
5040
5134
  module: builtins.str,
5041
5135
  ) -> None:
5042
5136
  '''
5137
+ :param github_environment: (experimental) The GitHub Actions environment used for publishing. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. Set this to overwrite a package level publishing environment just for this artifact. Default: - no environment used, unless set at the package level
5043
5138
  :param post_publish_steps: (experimental) Steps to execute after executing the publishing command. These can be used to add/update the release artifacts ot any other tasks needed. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPostPublishingSteps``.
5044
5139
  :param pre_publish_steps: (experimental) Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed. These steps are executed after ``dist/`` has been populated with the build output. Note that when using this in ``publishToGitHubReleases`` this will override steps added via ``addGitHubPrePublishingSteps``.
5045
5140
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -5058,6 +5153,7 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
5058
5153
  code_artifact_options = _CodeArtifactOptions_7236977a(**code_artifact_options)
5059
5154
  if __debug__:
5060
5155
  type_hints = typing.get_type_hints(_typecheckingstub__b9ccf41e184eae5eabcd38be0ea0cb88c9d6eb3d4f60d6bb85e4a73763bfb94a)
5156
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
5061
5157
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
5062
5158
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
5063
5159
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -5071,6 +5167,8 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
5071
5167
  "dist_name": dist_name,
5072
5168
  "module": module,
5073
5169
  }
5170
+ if github_environment is not None:
5171
+ self._values["github_environment"] = github_environment
5074
5172
  if post_publish_steps is not None:
5075
5173
  self._values["post_publish_steps"] = post_publish_steps
5076
5174
  if pre_publish_steps is not None:
@@ -5086,6 +5184,22 @@ class JsiiPythonTarget(_PyPiPublishOptions_99154bcd):
5086
5184
  if twine_username_secret is not None:
5087
5185
  self._values["twine_username_secret"] = twine_username_secret
5088
5186
 
5187
+ @builtins.property
5188
+ def github_environment(self) -> typing.Optional[builtins.str]:
5189
+ '''(experimental) The GitHub Actions environment used for publishing.
5190
+
5191
+ This can be used to add an explicit approval step to the release
5192
+ or limit who can initiate a release through environment protection rules.
5193
+
5194
+ Set this to overwrite a package level publishing environment just for this artifact.
5195
+
5196
+ :default: - no environment used, unless set at the package level
5197
+
5198
+ :stability: experimental
5199
+ '''
5200
+ result = self._values.get("github_environment")
5201
+ return typing.cast(typing.Optional[builtins.str], result)
5202
+
5089
5203
  @builtins.property
5090
5204
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
5091
5205
  '''(experimental) Steps to execute after executing the publishing command.
@@ -5375,6 +5489,7 @@ class ConstructLibrary(
5375
5489
  publish_tasks: typing.Optional[builtins.bool] = None,
5376
5490
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5377
5491
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
5492
+ release_environment: typing.Optional[builtins.str] = None,
5378
5493
  release_every_commit: typing.Optional[builtins.bool] = None,
5379
5494
  release_failure_issue: typing.Optional[builtins.bool] = None,
5380
5495
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -5544,6 +5659,7 @@ class ConstructLibrary(
5544
5659
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
5545
5660
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
5546
5661
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
5662
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
5547
5663
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
5548
5664
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
5549
5665
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -5715,6 +5831,7 @@ class ConstructLibrary(
5715
5831
  publish_tasks=publish_tasks,
5716
5832
  releasable_commits=releasable_commits,
5717
5833
  release_branches=release_branches,
5834
+ release_environment=release_environment,
5718
5835
  release_every_commit=release_every_commit,
5719
5836
  release_failure_issue=release_failure_issue,
5720
5837
  release_failure_issue_label=release_failure_issue_label,
@@ -5834,6 +5951,7 @@ typing.cast(typing.Any, ConstructLibrary).__jsii_proxy_class__ = lambda : _Const
5834
5951
  "publish_tasks": "publishTasks",
5835
5952
  "releasable_commits": "releasableCommits",
5836
5953
  "release_branches": "releaseBranches",
5954
+ "release_environment": "releaseEnvironment",
5837
5955
  "release_every_commit": "releaseEveryCommit",
5838
5956
  "release_failure_issue": "releaseFailureIssue",
5839
5957
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -6007,6 +6125,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6007
6125
  publish_tasks: typing.Optional[builtins.bool] = None,
6008
6126
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
6009
6127
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
6128
+ release_environment: typing.Optional[builtins.str] = None,
6010
6129
  release_every_commit: typing.Optional[builtins.bool] = None,
6011
6130
  release_failure_issue: typing.Optional[builtins.bool] = None,
6012
6131
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -6176,6 +6295,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6176
6295
  :param publish_tasks: (experimental) Define publishing tasks that can be executed manually as well as workflows. Normally, publishing only happens within automated workflows. Enable this in order to create a publishing task for each publishing activity. Default: false
6177
6296
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
6178
6297
  :param release_branches: (experimental) Defines additional release branches. A workflow will be created for each release branch which will publish releases from commits in this branch. Each release branch *must* be assigned a major version number which is used to enforce that versions published from that branch always use that major version. If multiple branches are used, the ``majorVersion`` field must also be provided for the default branch. Default: - no additional branches are used for release. you can use ``addBranch()`` to add additional branches.
6298
+ :param release_environment: (experimental) The GitHub Actions environment used for the release. This can be used to add an explicit approval step to the release or limit who can initiate a release through environment protection rules. When multiple artifacts are released, the environment can be overwritten on a per artifact basis. Default: - no environment used, unless set at the artifact level
6179
6299
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
6180
6300
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
6181
6301
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -6426,6 +6546,7 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6426
6546
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
6427
6547
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
6428
6548
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
6549
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
6429
6550
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
6430
6551
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
6431
6552
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -6677,6 +6798,8 @@ class ConstructLibraryOptions(JsiiProjectOptions):
6677
6798
  self._values["releasable_commits"] = releasable_commits
6678
6799
  if release_branches is not None:
6679
6800
  self._values["release_branches"] = release_branches
6801
+ if release_environment is not None:
6802
+ self._values["release_environment"] = release_environment
6680
6803
  if release_every_commit is not None:
6681
6804
  self._values["release_every_commit"] = release_every_commit
6682
6805
  if release_failure_issue is not None:
@@ -7880,6 +8003,23 @@ class ConstructLibraryOptions(JsiiProjectOptions):
7880
8003
  result = self._values.get("release_branches")
7881
8004
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _BranchOptions_13663d08]], result)
7882
8005
 
8006
+ @builtins.property
8007
+ def release_environment(self) -> typing.Optional[builtins.str]:
8008
+ '''(experimental) The GitHub Actions environment used for the release.
8009
+
8010
+ This can be used to add an explicit approval step to the release
8011
+ or limit who can initiate a release through environment protection rules.
8012
+
8013
+ When multiple artifacts are released, the environment can be overwritten
8014
+ on a per artifact basis.
8015
+
8016
+ :default: - no environment used, unless set at the artifact level
8017
+
8018
+ :stability: experimental
8019
+ '''
8020
+ result = self._values.get("release_environment")
8021
+ return typing.cast(typing.Optional[builtins.str], result)
8022
+
7883
8023
  @builtins.property
7884
8024
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
7885
8025
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -9029,6 +9169,7 @@ def _typecheckingstub__2f3fb088da3cc3de21fe4de98d7c818b3cbd2a2139fba0682367f39bd
9029
9169
 
9030
9170
  def _typecheckingstub__e809c6916d6d93bf1e91d05e4a79f49eb72f74bccaceeb6a508a3005bb5ec7b5(
9031
9171
  *,
9172
+ github_environment: typing.Optional[builtins.str] = None,
9032
9173
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9033
9174
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9034
9175
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -9043,6 +9184,7 @@ def _typecheckingstub__e809c6916d6d93bf1e91d05e4a79f49eb72f74bccaceeb6a508a3005b
9043
9184
 
9044
9185
  def _typecheckingstub__b0ea0b1537651364353b8d1546fea1d78af2aaded6dded156ab976119354df9a(
9045
9186
  *,
9187
+ github_environment: typing.Optional[builtins.str] = None,
9046
9188
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9047
9189
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9048
9190
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -9062,6 +9204,7 @@ def _typecheckingstub__b0ea0b1537651364353b8d1546fea1d78af2aaded6dded156ab976119
9062
9204
 
9063
9205
  def _typecheckingstub__365483a000ed61cc1587d7ada435961b86f33fb0718cd001430497c2290e0820(
9064
9206
  *,
9207
+ github_environment: typing.Optional[builtins.str] = None,
9065
9208
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9066
9209
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9067
9210
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -9161,6 +9304,7 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
9161
9304
  publish_tasks: typing.Optional[builtins.bool] = None,
9162
9305
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
9163
9306
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
9307
+ release_environment: typing.Optional[builtins.str] = None,
9164
9308
  release_every_commit: typing.Optional[builtins.bool] = None,
9165
9309
  release_failure_issue: typing.Optional[builtins.bool] = None,
9166
9310
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -9254,6 +9398,7 @@ def _typecheckingstub__c8323b2edac3105e05d346954d0050d635763ca6b27825b5452fa3d2b
9254
9398
 
9255
9399
  def _typecheckingstub__b9ccf41e184eae5eabcd38be0ea0cb88c9d6eb3d4f60d6bb85e4a73763bfb94a(
9256
9400
  *,
9401
+ github_environment: typing.Optional[builtins.str] = None,
9257
9402
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9258
9403
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
9259
9404
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -9348,6 +9493,7 @@ def _typecheckingstub__0faec4221ab7163e96a5287d81c7e28c1c8f831e5f79f595bd4a88cdd
9348
9493
  publish_tasks: typing.Optional[builtins.bool] = None,
9349
9494
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
9350
9495
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[_BranchOptions_13663d08, typing.Dict[builtins.str, typing.Any]]]] = None,
9496
+ release_environment: typing.Optional[builtins.str] = None,
9351
9497
  release_every_commit: typing.Optional[builtins.bool] = None,
9352
9498
  release_failure_issue: typing.Optional[builtins.bool] = None,
9353
9499
  release_failure_issue_label: typing.Optional[builtins.str] = None,