projen 0.95.0__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.

@@ -51,6 +51,7 @@ from ..github.workflows import (
51
51
  jsii_struct_bases=[],
52
52
  name_mapping={
53
53
  "major_version": "majorVersion",
54
+ "environment": "environment",
54
55
  "min_major_version": "minMajorVersion",
55
56
  "minor_version": "minorVersion",
56
57
  "npm_dist_tag": "npmDistTag",
@@ -64,6 +65,7 @@ class BranchOptions:
64
65
  self,
65
66
  *,
66
67
  major_version: jsii.Number,
68
+ environment: typing.Optional[builtins.str] = None,
67
69
  min_major_version: typing.Optional[jsii.Number] = None,
68
70
  minor_version: typing.Optional[jsii.Number] = None,
69
71
  npm_dist_tag: typing.Optional[builtins.str] = None,
@@ -74,6 +76,7 @@ class BranchOptions:
74
76
  '''(experimental) Options for a release branch.
75
77
 
76
78
  :param major_version: (experimental) The major versions released from this branch.
79
+ :param 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
77
80
  :param min_major_version: (experimental) The minimum major version to release.
78
81
  :param minor_version: (experimental) The minor versions released from this branch.
79
82
  :param npm_dist_tag: (experimental) The npm distribution tag to use for this branch. Default: "latest"
@@ -86,6 +89,7 @@ class BranchOptions:
86
89
  if __debug__:
87
90
  type_hints = typing.get_type_hints(_typecheckingstub__6f62eb98000deee3820f046309b2262c5063c0cb9581232fd1a44731f86986d7)
88
91
  check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
92
+ check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
89
93
  check_type(argname="argument min_major_version", value=min_major_version, expected_type=type_hints["min_major_version"])
90
94
  check_type(argname="argument minor_version", value=minor_version, expected_type=type_hints["minor_version"])
91
95
  check_type(argname="argument npm_dist_tag", value=npm_dist_tag, expected_type=type_hints["npm_dist_tag"])
@@ -95,6 +99,8 @@ class BranchOptions:
95
99
  self._values: typing.Dict[builtins.str, typing.Any] = {
96
100
  "major_version": major_version,
97
101
  }
102
+ if environment is not None:
103
+ self._values["environment"] = environment
98
104
  if min_major_version is not None:
99
105
  self._values["min_major_version"] = min_major_version
100
106
  if minor_version is not None:
@@ -118,6 +124,23 @@ class BranchOptions:
118
124
  assert result is not None, "Required property 'major_version' is missing"
119
125
  return typing.cast(jsii.Number, result)
120
126
 
127
+ @builtins.property
128
+ def environment(self) -> typing.Optional[builtins.str]:
129
+ '''(experimental) The GitHub Actions environment used for the release.
130
+
131
+ This can be used to add an explicit approval step to the release
132
+ or limit who can initiate a release through environment protection rules.
133
+
134
+ When multiple artifacts are released, the environment can be overwritten
135
+ on a per artifact basis.
136
+
137
+ :default: - no environment used, unless set at the artifact level
138
+
139
+ :stability: experimental
140
+ '''
141
+ result = self._values.get("environment")
142
+ return typing.cast(typing.Optional[builtins.str], result)
143
+
121
144
  @builtins.property
122
145
  def min_major_version(self) -> typing.Optional[jsii.Number]:
123
146
  '''(experimental) The minimum major version to release.
@@ -340,6 +363,7 @@ class CodeArtifactOptions:
340
363
  jsii_type="projen.release.CommonPublishOptions",
341
364
  jsii_struct_bases=[],
342
365
  name_mapping={
366
+ "github_environment": "githubEnvironment",
343
367
  "post_publish_steps": "postPublishSteps",
344
368
  "pre_publish_steps": "prePublishSteps",
345
369
  "publish_tools": "publishTools",
@@ -349,12 +373,14 @@ class CommonPublishOptions:
349
373
  def __init__(
350
374
  self,
351
375
  *,
376
+ github_environment: typing.Optional[builtins.str] = None,
352
377
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
353
378
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
354
379
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
355
380
  ) -> None:
356
381
  '''(experimental) Common publishing options.
357
382
 
383
+ :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
358
384
  :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``.
359
385
  :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``.
360
386
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -365,10 +391,13 @@ class CommonPublishOptions:
365
391
  publish_tools = _Tools_75b93a2a(**publish_tools)
366
392
  if __debug__:
367
393
  type_hints = typing.get_type_hints(_typecheckingstub__9603f09b67279d5ef3dc921367168d873983210161b1d6382c369d0b9ec13b0a)
394
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
368
395
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
369
396
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
370
397
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
371
398
  self._values: typing.Dict[builtins.str, typing.Any] = {}
399
+ if github_environment is not None:
400
+ self._values["github_environment"] = github_environment
372
401
  if post_publish_steps is not None:
373
402
  self._values["post_publish_steps"] = post_publish_steps
374
403
  if pre_publish_steps is not None:
@@ -376,6 +405,22 @@ class CommonPublishOptions:
376
405
  if publish_tools is not None:
377
406
  self._values["publish_tools"] = publish_tools
378
407
 
408
+ @builtins.property
409
+ def github_environment(self) -> typing.Optional[builtins.str]:
410
+ '''(experimental) The GitHub Actions environment used for publishing.
411
+
412
+ This can be used to add an explicit approval step to the release
413
+ or limit who can initiate a release through environment protection rules.
414
+
415
+ Set this to overwrite a package level publishing environment just for this artifact.
416
+
417
+ :default: - no environment used, unless set at the package level
418
+
419
+ :stability: experimental
420
+ '''
421
+ result = self._values.get("github_environment")
422
+ return typing.cast(typing.Optional[builtins.str], result)
423
+
379
424
  @builtins.property
380
425
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
381
426
  '''(experimental) Steps to execute after executing the publishing command.
@@ -475,6 +520,7 @@ class ContinuousReleaseOptions:
475
520
  jsii_type="projen.release.GitHubReleasesPublishOptions",
476
521
  jsii_struct_bases=[CommonPublishOptions],
477
522
  name_mapping={
523
+ "github_environment": "githubEnvironment",
478
524
  "post_publish_steps": "postPublishSteps",
479
525
  "pre_publish_steps": "prePublishSteps",
480
526
  "publish_tools": "publishTools",
@@ -487,6 +533,7 @@ class GitHubReleasesPublishOptions(CommonPublishOptions):
487
533
  def __init__(
488
534
  self,
489
535
  *,
536
+ github_environment: typing.Optional[builtins.str] = None,
490
537
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
491
538
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
492
539
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -496,6 +543,7 @@ class GitHubReleasesPublishOptions(CommonPublishOptions):
496
543
  ) -> None:
497
544
  '''(experimental) Publishing options for GitHub releases.
498
545
 
546
+ :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
499
547
  :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``.
500
548
  :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``.
501
549
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -509,6 +557,7 @@ class GitHubReleasesPublishOptions(CommonPublishOptions):
509
557
  publish_tools = _Tools_75b93a2a(**publish_tools)
510
558
  if __debug__:
511
559
  type_hints = typing.get_type_hints(_typecheckingstub__c7008ba35b00dedc375d87db7a317e8f077475b6a4e334303337c92bb77171fb)
560
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
512
561
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
513
562
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
514
563
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -520,6 +569,8 @@ class GitHubReleasesPublishOptions(CommonPublishOptions):
520
569
  "release_tag_file": release_tag_file,
521
570
  "version_file": version_file,
522
571
  }
572
+ if github_environment is not None:
573
+ self._values["github_environment"] = github_environment
523
574
  if post_publish_steps is not None:
524
575
  self._values["post_publish_steps"] = post_publish_steps
525
576
  if pre_publish_steps is not None:
@@ -527,6 +578,22 @@ class GitHubReleasesPublishOptions(CommonPublishOptions):
527
578
  if publish_tools is not None:
528
579
  self._values["publish_tools"] = publish_tools
529
580
 
581
+ @builtins.property
582
+ def github_environment(self) -> typing.Optional[builtins.str]:
583
+ '''(experimental) The GitHub Actions environment used for publishing.
584
+
585
+ This can be used to add an explicit approval step to the release
586
+ or limit who can initiate a release through environment protection rules.
587
+
588
+ Set this to overwrite a package level publishing environment just for this artifact.
589
+
590
+ :default: - no environment used, unless set at the package level
591
+
592
+ :stability: experimental
593
+ '''
594
+ result = self._values.get("github_environment")
595
+ return typing.cast(typing.Optional[builtins.str], result)
596
+
530
597
  @builtins.property
531
598
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
532
599
  '''(experimental) Steps to execute after executing the publishing command.
@@ -763,6 +830,7 @@ class GitPublishOptions:
763
830
  jsii_type="projen.release.GoPublishOptions",
764
831
  jsii_struct_bases=[CommonPublishOptions],
765
832
  name_mapping={
833
+ "github_environment": "githubEnvironment",
766
834
  "post_publish_steps": "postPublishSteps",
767
835
  "pre_publish_steps": "prePublishSteps",
768
836
  "publish_tools": "publishTools",
@@ -779,6 +847,7 @@ class GoPublishOptions(CommonPublishOptions):
779
847
  def __init__(
780
848
  self,
781
849
  *,
850
+ github_environment: typing.Optional[builtins.str] = None,
782
851
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
783
852
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
784
853
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -792,6 +861,7 @@ class GoPublishOptions(CommonPublishOptions):
792
861
  ) -> None:
793
862
  '''(experimental) Options for Go releases.
794
863
 
864
+ :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
795
865
  :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``.
796
866
  :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``.
797
867
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -809,6 +879,7 @@ class GoPublishOptions(CommonPublishOptions):
809
879
  publish_tools = _Tools_75b93a2a(**publish_tools)
810
880
  if __debug__:
811
881
  type_hints = typing.get_type_hints(_typecheckingstub__81a5b8a4f17bcea99089b42477d5b778fd3a9066d3d1126736ccf21a9c44bfbc)
882
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
812
883
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
813
884
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
814
885
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -820,6 +891,8 @@ class GoPublishOptions(CommonPublishOptions):
820
891
  check_type(argname="argument git_user_email", value=git_user_email, expected_type=type_hints["git_user_email"])
821
892
  check_type(argname="argument git_user_name", value=git_user_name, expected_type=type_hints["git_user_name"])
822
893
  self._values: typing.Dict[builtins.str, typing.Any] = {}
894
+ if github_environment is not None:
895
+ self._values["github_environment"] = github_environment
823
896
  if post_publish_steps is not None:
824
897
  self._values["post_publish_steps"] = post_publish_steps
825
898
  if pre_publish_steps is not None:
@@ -841,6 +914,22 @@ class GoPublishOptions(CommonPublishOptions):
841
914
  if git_user_name is not None:
842
915
  self._values["git_user_name"] = git_user_name
843
916
 
917
+ @builtins.property
918
+ def github_environment(self) -> typing.Optional[builtins.str]:
919
+ '''(experimental) The GitHub Actions environment used for publishing.
920
+
921
+ This can be used to add an explicit approval step to the release
922
+ or limit who can initiate a release through environment protection rules.
923
+
924
+ Set this to overwrite a package level publishing environment just for this artifact.
925
+
926
+ :default: - no environment used, unless set at the package level
927
+
928
+ :stability: experimental
929
+ '''
930
+ result = self._values.get("github_environment")
931
+ return typing.cast(typing.Optional[builtins.str], result)
932
+
844
933
  @builtins.property
845
934
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
846
935
  '''(experimental) Steps to execute after executing the publishing command.
@@ -977,6 +1066,7 @@ class GoPublishOptions(CommonPublishOptions):
977
1066
  jsii_type="projen.release.JsiiReleaseGo",
978
1067
  jsii_struct_bases=[GoPublishOptions],
979
1068
  name_mapping={
1069
+ "github_environment": "githubEnvironment",
980
1070
  "post_publish_steps": "postPublishSteps",
981
1071
  "pre_publish_steps": "prePublishSteps",
982
1072
  "publish_tools": "publishTools",
@@ -993,6 +1083,7 @@ class JsiiReleaseGo(GoPublishOptions):
993
1083
  def __init__(
994
1084
  self,
995
1085
  *,
1086
+ github_environment: typing.Optional[builtins.str] = None,
996
1087
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
997
1088
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
998
1089
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1005,6 +1096,7 @@ class JsiiReleaseGo(GoPublishOptions):
1005
1096
  git_user_name: typing.Optional[builtins.str] = None,
1006
1097
  ) -> None:
1007
1098
  '''
1099
+ :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
1008
1100
  :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``.
1009
1101
  :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``.
1010
1102
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -1024,6 +1116,7 @@ class JsiiReleaseGo(GoPublishOptions):
1024
1116
  publish_tools = _Tools_75b93a2a(**publish_tools)
1025
1117
  if __debug__:
1026
1118
  type_hints = typing.get_type_hints(_typecheckingstub__44bae65cd3313afa37ada6dbaab99141ff7744458e985bc9c53faa021220e167)
1119
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
1027
1120
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
1028
1121
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
1029
1122
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -1035,6 +1128,8 @@ class JsiiReleaseGo(GoPublishOptions):
1035
1128
  check_type(argname="argument git_user_email", value=git_user_email, expected_type=type_hints["git_user_email"])
1036
1129
  check_type(argname="argument git_user_name", value=git_user_name, expected_type=type_hints["git_user_name"])
1037
1130
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1131
+ if github_environment is not None:
1132
+ self._values["github_environment"] = github_environment
1038
1133
  if post_publish_steps is not None:
1039
1134
  self._values["post_publish_steps"] = post_publish_steps
1040
1135
  if pre_publish_steps is not None:
@@ -1056,6 +1151,22 @@ class JsiiReleaseGo(GoPublishOptions):
1056
1151
  if git_user_name is not None:
1057
1152
  self._values["git_user_name"] = git_user_name
1058
1153
 
1154
+ @builtins.property
1155
+ def github_environment(self) -> typing.Optional[builtins.str]:
1156
+ '''(experimental) The GitHub Actions environment used for publishing.
1157
+
1158
+ This can be used to add an explicit approval step to the release
1159
+ or limit who can initiate a release through environment protection rules.
1160
+
1161
+ Set this to overwrite a package level publishing environment just for this artifact.
1162
+
1163
+ :default: - no environment used, unless set at the package level
1164
+
1165
+ :stability: experimental
1166
+ '''
1167
+ result = self._values.get("github_environment")
1168
+ return typing.cast(typing.Optional[builtins.str], result)
1169
+
1059
1170
  @builtins.property
1060
1171
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1061
1172
  '''(experimental) Steps to execute after executing the publishing command.
@@ -1276,6 +1387,7 @@ class ManualReleaseOptions:
1276
1387
  jsii_type="projen.release.MavenPublishOptions",
1277
1388
  jsii_struct_bases=[CommonPublishOptions],
1278
1389
  name_mapping={
1390
+ "github_environment": "githubEnvironment",
1279
1391
  "post_publish_steps": "postPublishSteps",
1280
1392
  "pre_publish_steps": "prePublishSteps",
1281
1393
  "publish_tools": "publishTools",
@@ -1293,6 +1405,7 @@ class MavenPublishOptions(CommonPublishOptions):
1293
1405
  def __init__(
1294
1406
  self,
1295
1407
  *,
1408
+ github_environment: typing.Optional[builtins.str] = None,
1296
1409
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1297
1410
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1298
1411
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1307,6 +1420,7 @@ class MavenPublishOptions(CommonPublishOptions):
1307
1420
  ) -> None:
1308
1421
  '''(experimental) Options for Maven releases.
1309
1422
 
1423
+ :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
1310
1424
  :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``.
1311
1425
  :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``.
1312
1426
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -1325,6 +1439,7 @@ class MavenPublishOptions(CommonPublishOptions):
1325
1439
  publish_tools = _Tools_75b93a2a(**publish_tools)
1326
1440
  if __debug__:
1327
1441
  type_hints = typing.get_type_hints(_typecheckingstub__da2d55bfa47dd9e6869b7f55b573dea54539ab2e9b833766e4140d6d4c4c3d7e)
1442
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
1328
1443
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
1329
1444
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
1330
1445
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -1337,6 +1452,8 @@ class MavenPublishOptions(CommonPublishOptions):
1337
1452
  check_type(argname="argument maven_staging_profile_id", value=maven_staging_profile_id, expected_type=type_hints["maven_staging_profile_id"])
1338
1453
  check_type(argname="argument maven_username", value=maven_username, expected_type=type_hints["maven_username"])
1339
1454
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1455
+ if github_environment is not None:
1456
+ self._values["github_environment"] = github_environment
1340
1457
  if post_publish_steps is not None:
1341
1458
  self._values["post_publish_steps"] = post_publish_steps
1342
1459
  if pre_publish_steps is not None:
@@ -1360,6 +1477,22 @@ class MavenPublishOptions(CommonPublishOptions):
1360
1477
  if maven_username is not None:
1361
1478
  self._values["maven_username"] = maven_username
1362
1479
 
1480
+ @builtins.property
1481
+ def github_environment(self) -> typing.Optional[builtins.str]:
1482
+ '''(experimental) The GitHub Actions environment used for publishing.
1483
+
1484
+ This can be used to add an explicit approval step to the release
1485
+ or limit who can initiate a release through environment protection rules.
1486
+
1487
+ Set this to overwrite a package level publishing environment just for this artifact.
1488
+
1489
+ :default: - no environment used, unless set at the package level
1490
+
1491
+ :stability: experimental
1492
+ '''
1493
+ result = self._values.get("github_environment")
1494
+ return typing.cast(typing.Optional[builtins.str], result)
1495
+
1363
1496
  @builtins.property
1364
1497
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1365
1498
  '''(experimental) Steps to execute after executing the publishing command.
@@ -1522,6 +1655,7 @@ class MavenPublishOptions(CommonPublishOptions):
1522
1655
  jsii_type="projen.release.NpmPublishOptions",
1523
1656
  jsii_struct_bases=[CommonPublishOptions],
1524
1657
  name_mapping={
1658
+ "github_environment": "githubEnvironment",
1525
1659
  "post_publish_steps": "postPublishSteps",
1526
1660
  "pre_publish_steps": "prePublishSteps",
1527
1661
  "publish_tools": "publishTools",
@@ -1536,6 +1670,7 @@ class NpmPublishOptions(CommonPublishOptions):
1536
1670
  def __init__(
1537
1671
  self,
1538
1672
  *,
1673
+ github_environment: typing.Optional[builtins.str] = None,
1539
1674
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1540
1675
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1541
1676
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1547,6 +1682,7 @@ class NpmPublishOptions(CommonPublishOptions):
1547
1682
  ) -> None:
1548
1683
  '''(experimental) Options for npm release.
1549
1684
 
1685
+ :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
1550
1686
  :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``.
1551
1687
  :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``.
1552
1688
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -1564,6 +1700,7 @@ class NpmPublishOptions(CommonPublishOptions):
1564
1700
  code_artifact_options = CodeArtifactOptions(**code_artifact_options)
1565
1701
  if __debug__:
1566
1702
  type_hints = typing.get_type_hints(_typecheckingstub__458289050585e6e895f9ee709ee4e102166b0f71e3c8b2a0617efa2d24e990fb)
1703
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
1567
1704
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
1568
1705
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
1569
1706
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -1573,6 +1710,8 @@ class NpmPublishOptions(CommonPublishOptions):
1573
1710
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
1574
1711
  check_type(argname="argument registry", value=registry, expected_type=type_hints["registry"])
1575
1712
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1713
+ if github_environment is not None:
1714
+ self._values["github_environment"] = github_environment
1576
1715
  if post_publish_steps is not None:
1577
1716
  self._values["post_publish_steps"] = post_publish_steps
1578
1717
  if pre_publish_steps is not None:
@@ -1590,6 +1729,22 @@ class NpmPublishOptions(CommonPublishOptions):
1590
1729
  if registry is not None:
1591
1730
  self._values["registry"] = registry
1592
1731
 
1732
+ @builtins.property
1733
+ def github_environment(self) -> typing.Optional[builtins.str]:
1734
+ '''(experimental) The GitHub Actions environment used for publishing.
1735
+
1736
+ This can be used to add an explicit approval step to the release
1737
+ or limit who can initiate a release through environment protection rules.
1738
+
1739
+ Set this to overwrite a package level publishing environment just for this artifact.
1740
+
1741
+ :default: - no environment used, unless set at the package level
1742
+
1743
+ :stability: experimental
1744
+ '''
1745
+ result = self._values.get("github_environment")
1746
+ return typing.cast(typing.Optional[builtins.str], result)
1747
+
1593
1748
  @builtins.property
1594
1749
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1595
1750
  '''(experimental) Steps to execute after executing the publishing command.
@@ -1727,6 +1882,7 @@ class NpmPublishOptions(CommonPublishOptions):
1727
1882
  jsii_type="projen.release.NugetPublishOptions",
1728
1883
  jsii_struct_bases=[CommonPublishOptions],
1729
1884
  name_mapping={
1885
+ "github_environment": "githubEnvironment",
1730
1886
  "post_publish_steps": "postPublishSteps",
1731
1887
  "pre_publish_steps": "prePublishSteps",
1732
1888
  "publish_tools": "publishTools",
@@ -1738,6 +1894,7 @@ class NugetPublishOptions(CommonPublishOptions):
1738
1894
  def __init__(
1739
1895
  self,
1740
1896
  *,
1897
+ github_environment: typing.Optional[builtins.str] = None,
1741
1898
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1742
1899
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1743
1900
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1746,6 +1903,7 @@ class NugetPublishOptions(CommonPublishOptions):
1746
1903
  ) -> None:
1747
1904
  '''(experimental) Options for NuGet releases.
1748
1905
 
1906
+ :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
1749
1907
  :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``.
1750
1908
  :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``.
1751
1909
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -1758,12 +1916,15 @@ class NugetPublishOptions(CommonPublishOptions):
1758
1916
  publish_tools = _Tools_75b93a2a(**publish_tools)
1759
1917
  if __debug__:
1760
1918
  type_hints = typing.get_type_hints(_typecheckingstub__584d4125e43e970396e9062b357de30ef32a6d1b30bd3a0f00fc7db041ea0bec)
1919
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
1761
1920
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
1762
1921
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
1763
1922
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
1764
1923
  check_type(argname="argument nuget_api_key_secret", value=nuget_api_key_secret, expected_type=type_hints["nuget_api_key_secret"])
1765
1924
  check_type(argname="argument nuget_server", value=nuget_server, expected_type=type_hints["nuget_server"])
1766
1925
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1926
+ if github_environment is not None:
1927
+ self._values["github_environment"] = github_environment
1767
1928
  if post_publish_steps is not None:
1768
1929
  self._values["post_publish_steps"] = post_publish_steps
1769
1930
  if pre_publish_steps is not None:
@@ -1775,6 +1936,22 @@ class NugetPublishOptions(CommonPublishOptions):
1775
1936
  if nuget_server is not None:
1776
1937
  self._values["nuget_server"] = nuget_server
1777
1938
 
1939
+ @builtins.property
1940
+ def github_environment(self) -> typing.Optional[builtins.str]:
1941
+ '''(experimental) The GitHub Actions environment used for publishing.
1942
+
1943
+ This can be used to add an explicit approval step to the release
1944
+ or limit who can initiate a release through environment protection rules.
1945
+
1946
+ Set this to overwrite a package level publishing environment just for this artifact.
1947
+
1948
+ :default: - no environment used, unless set at the package level
1949
+
1950
+ :stability: experimental
1951
+ '''
1952
+ result = self._values.get("github_environment")
1953
+ return typing.cast(typing.Optional[builtins.str], result)
1954
+
1778
1955
  @builtins.property
1779
1956
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
1780
1957
  '''(experimental) Steps to execute after executing the publishing command.
@@ -1983,6 +2160,7 @@ class Publisher(
1983
2160
  changelog_file: builtins.str,
1984
2161
  release_tag_file: builtins.str,
1985
2162
  version_file: builtins.str,
2163
+ github_environment: typing.Optional[builtins.str] = None,
1986
2164
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1987
2165
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
1988
2166
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1992,6 +2170,7 @@ class Publisher(
1992
2170
  :param changelog_file: (experimental) The location of an .md file (relative to ``dist/``) that includes the changelog for the release.
1993
2171
  :param release_tag_file: (experimental) The location of a text file (relative to ``dist/``) that contains the release tag.
1994
2172
  :param version_file: (experimental) The location of a text file (relative to ``dist/``) that contains the version number.
2173
+ :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
1995
2174
  :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``.
1996
2175
  :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``.
1997
2176
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -2002,6 +2181,7 @@ class Publisher(
2002
2181
  changelog_file=changelog_file,
2003
2182
  release_tag_file=release_tag_file,
2004
2183
  version_file=version_file,
2184
+ github_environment=github_environment,
2005
2185
  post_publish_steps=post_publish_steps,
2006
2186
  pre_publish_steps=pre_publish_steps,
2007
2187
  publish_tools=publish_tools,
@@ -2020,6 +2200,7 @@ class Publisher(
2020
2200
  github_use_ssh: typing.Optional[builtins.bool] = None,
2021
2201
  git_user_email: typing.Optional[builtins.str] = None,
2022
2202
  git_user_name: typing.Optional[builtins.str] = None,
2203
+ github_environment: typing.Optional[builtins.str] = None,
2023
2204
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2024
2205
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2025
2206
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2033,6 +2214,7 @@ class Publisher(
2033
2214
  :param github_use_ssh: (experimental) Use SSH to push to GitHub instead of a personal accses token. Default: false
2034
2215
  :param git_user_email: (experimental) The email to use in the release git commit. Default: "github-actions@github.com"
2035
2216
  :param git_user_name: (experimental) The user name to use for the release git commit. Default: "github-actions"
2217
+ :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
2036
2218
  :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``.
2037
2219
  :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``.
2038
2220
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -2047,6 +2229,7 @@ class Publisher(
2047
2229
  github_use_ssh=github_use_ssh,
2048
2230
  git_user_email=git_user_email,
2049
2231
  git_user_name=git_user_name,
2232
+ github_environment=github_environment,
2050
2233
  post_publish_steps=post_publish_steps,
2051
2234
  pre_publish_steps=pre_publish_steps,
2052
2235
  publish_tools=publish_tools,
@@ -2066,6 +2249,7 @@ class Publisher(
2066
2249
  maven_server_id: typing.Optional[builtins.str] = None,
2067
2250
  maven_staging_profile_id: typing.Optional[builtins.str] = None,
2068
2251
  maven_username: typing.Optional[builtins.str] = None,
2252
+ github_environment: typing.Optional[builtins.str] = None,
2069
2253
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2070
2254
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2071
2255
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2080,6 +2264,7 @@ class Publisher(
2080
2264
  :param maven_server_id: (experimental) Used in maven settings for credential lookup (e.g. use github when publishing to GitHub). Set to ``central-ossrh`` to publish to Maven Central. Default: "ossrh" (Maven Central) or "github" when using GitHub Packages
2081
2265
  :param maven_staging_profile_id: (experimental) GitHub secret name which contains the Maven Central (sonatype) staging profile ID (e.g. 68a05363083174). Staging profile ID can be found in the URL of the "Releases" staging profile under "Staging Profiles" in https://oss.sonatype.org (e.g. https://oss.sonatype.org/#stagingProfiles;11a33451234521). Default: "MAVEN_STAGING_PROFILE_ID" or not set when using GitHub Packages
2082
2266
  :param maven_username: (experimental) GitHub secret name which contains the Username for maven repository. For Maven Central, you will need to Create JIRA account and then request a new project (see links). Default: "MAVEN_USERNAME" or the GitHub Actor when using GitHub Packages
2267
+ :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
2083
2268
  :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``.
2084
2269
  :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``.
2085
2270
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -2095,6 +2280,7 @@ class Publisher(
2095
2280
  maven_server_id=maven_server_id,
2096
2281
  maven_staging_profile_id=maven_staging_profile_id,
2097
2282
  maven_username=maven_username,
2283
+ github_environment=github_environment,
2098
2284
  post_publish_steps=post_publish_steps,
2099
2285
  pre_publish_steps=pre_publish_steps,
2100
2286
  publish_tools=publish_tools,
@@ -2111,6 +2297,7 @@ class Publisher(
2111
2297
  npm_provenance: typing.Optional[builtins.bool] = None,
2112
2298
  npm_token_secret: typing.Optional[builtins.str] = None,
2113
2299
  registry: typing.Optional[builtins.str] = None,
2300
+ github_environment: typing.Optional[builtins.str] = None,
2114
2301
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2115
2302
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2116
2303
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2122,6 +2309,7 @@ class Publisher(
2122
2309
  :param npm_provenance: (experimental) Should provenance statements be generated when package is published. Note that this component is using ``publib`` to publish packages, which is using npm internally and supports provenance statements independently of the package manager used. Default: - undefined
2123
2310
  :param npm_token_secret: (experimental) GitHub secret which contains the NPM token to use when publishing packages. Default: - "NPM_TOKEN" or "GITHUB_TOKEN" if ``registry`` is set to ``npm.pkg.github.com``.
2124
2311
  :param registry: (experimental) The domain name of the npm package registry. To publish to GitHub Packages, set this value to ``"npm.pkg.github.com"``. In this if ``npmTokenSecret`` is not specified, it will default to ``GITHUB_TOKEN`` which means that you will be able to publish to the repository's package store. In this case, make sure ``repositoryUrl`` is correctly defined. Default: "registry.npmjs.org"
2312
+ :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
2125
2313
  :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``.
2126
2314
  :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``.
2127
2315
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -2134,6 +2322,7 @@ class Publisher(
2134
2322
  npm_provenance=npm_provenance,
2135
2323
  npm_token_secret=npm_token_secret,
2136
2324
  registry=registry,
2325
+ github_environment=github_environment,
2137
2326
  post_publish_steps=post_publish_steps,
2138
2327
  pre_publish_steps=pre_publish_steps,
2139
2328
  publish_tools=publish_tools,
@@ -2147,6 +2336,7 @@ class Publisher(
2147
2336
  *,
2148
2337
  nuget_api_key_secret: typing.Optional[builtins.str] = None,
2149
2338
  nuget_server: typing.Optional[builtins.str] = None,
2339
+ github_environment: typing.Optional[builtins.str] = None,
2150
2340
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2151
2341
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2152
2342
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2155,6 +2345,7 @@ class Publisher(
2155
2345
 
2156
2346
  :param nuget_api_key_secret: (experimental) GitHub secret which contains the API key for NuGet. Default: "NUGET_API_KEY"
2157
2347
  :param nuget_server: (experimental) NuGet Server URL (defaults to nuget.org).
2348
+ :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
2158
2349
  :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``.
2159
2350
  :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``.
2160
2351
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -2164,6 +2355,7 @@ class Publisher(
2164
2355
  options = NugetPublishOptions(
2165
2356
  nuget_api_key_secret=nuget_api_key_secret,
2166
2357
  nuget_server=nuget_server,
2358
+ github_environment=github_environment,
2167
2359
  post_publish_steps=post_publish_steps,
2168
2360
  pre_publish_steps=pre_publish_steps,
2169
2361
  publish_tools=publish_tools,
@@ -2179,6 +2371,7 @@ class Publisher(
2179
2371
  twine_password_secret: typing.Optional[builtins.str] = None,
2180
2372
  twine_registry_url: typing.Optional[builtins.str] = None,
2181
2373
  twine_username_secret: typing.Optional[builtins.str] = None,
2374
+ github_environment: typing.Optional[builtins.str] = None,
2182
2375
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2183
2376
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2184
2377
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2189,6 +2382,7 @@ class Publisher(
2189
2382
  :param twine_password_secret: (experimental) The GitHub secret which contains PyPI password. Default: "TWINE_PASSWORD"
2190
2383
  :param twine_registry_url: (experimental) The registry url to use when releasing packages. Default: - twine default
2191
2384
  :param twine_username_secret: (experimental) The GitHub secret which contains PyPI user name. Default: "TWINE_USERNAME"
2385
+ :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
2192
2386
  :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``.
2193
2387
  :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``.
2194
2388
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -2200,6 +2394,7 @@ class Publisher(
2200
2394
  twine_password_secret=twine_password_secret,
2201
2395
  twine_registry_url=twine_registry_url,
2202
2396
  twine_username_secret=twine_username_secret,
2397
+ github_environment=github_environment,
2203
2398
  post_publish_steps=post_publish_steps,
2204
2399
  pre_publish_steps=pre_publish_steps,
2205
2400
  publish_tools=publish_tools,
@@ -2530,6 +2725,7 @@ class PublisherOptions:
2530
2725
  jsii_type="projen.release.PyPiPublishOptions",
2531
2726
  jsii_struct_bases=[CommonPublishOptions],
2532
2727
  name_mapping={
2728
+ "github_environment": "githubEnvironment",
2533
2729
  "post_publish_steps": "postPublishSteps",
2534
2730
  "pre_publish_steps": "prePublishSteps",
2535
2731
  "publish_tools": "publishTools",
@@ -2543,6 +2739,7 @@ class PyPiPublishOptions(CommonPublishOptions):
2543
2739
  def __init__(
2544
2740
  self,
2545
2741
  *,
2742
+ github_environment: typing.Optional[builtins.str] = None,
2546
2743
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2547
2744
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
2548
2745
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2553,6 +2750,7 @@ class PyPiPublishOptions(CommonPublishOptions):
2553
2750
  ) -> None:
2554
2751
  '''(experimental) Options for PyPI release.
2555
2752
 
2753
+ :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
2556
2754
  :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``.
2557
2755
  :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``.
2558
2756
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -2569,6 +2767,7 @@ class PyPiPublishOptions(CommonPublishOptions):
2569
2767
  code_artifact_options = CodeArtifactOptions(**code_artifact_options)
2570
2768
  if __debug__:
2571
2769
  type_hints = typing.get_type_hints(_typecheckingstub__f90cd44def59be822b686bcd759d7f0a910b9936ca8acc0ef3e69cda5ddc21d2)
2770
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
2572
2771
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
2573
2772
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
2574
2773
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -2577,6 +2776,8 @@ class PyPiPublishOptions(CommonPublishOptions):
2577
2776
  check_type(argname="argument twine_registry_url", value=twine_registry_url, expected_type=type_hints["twine_registry_url"])
2578
2777
  check_type(argname="argument twine_username_secret", value=twine_username_secret, expected_type=type_hints["twine_username_secret"])
2579
2778
  self._values: typing.Dict[builtins.str, typing.Any] = {}
2779
+ if github_environment is not None:
2780
+ self._values["github_environment"] = github_environment
2580
2781
  if post_publish_steps is not None:
2581
2782
  self._values["post_publish_steps"] = post_publish_steps
2582
2783
  if pre_publish_steps is not None:
@@ -2592,6 +2793,22 @@ class PyPiPublishOptions(CommonPublishOptions):
2592
2793
  if twine_username_secret is not None:
2593
2794
  self._values["twine_username_secret"] = twine_username_secret
2594
2795
 
2796
+ @builtins.property
2797
+ def github_environment(self) -> typing.Optional[builtins.str]:
2798
+ '''(experimental) The GitHub Actions environment used for publishing.
2799
+
2800
+ This can be used to add an explicit approval step to the release
2801
+ or limit who can initiate a release through environment protection rules.
2802
+
2803
+ Set this to overwrite a package level publishing environment just for this artifact.
2804
+
2805
+ :default: - no environment used, unless set at the package level
2806
+
2807
+ :stability: experimental
2808
+ '''
2809
+ result = self._values.get("github_environment")
2810
+ return typing.cast(typing.Optional[builtins.str], result)
2811
+
2595
2812
  @builtins.property
2596
2813
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
2597
2814
  '''(experimental) Steps to execute after executing the publishing command.
@@ -2722,6 +2939,7 @@ class Release(
2722
2939
  publish_tasks: typing.Optional[builtins.bool] = None,
2723
2940
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
2724
2941
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
2942
+ release_environment: typing.Optional[builtins.str] = None,
2725
2943
  release_every_commit: typing.Optional[builtins.bool] = None,
2726
2944
  release_failure_issue: typing.Optional[builtins.bool] = None,
2727
2945
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -2756,6 +2974,7 @@ class Release(
2756
2974
  :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
2757
2975
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
2758
2976
  :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.
2977
+ :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
2759
2978
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
2760
2979
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
2761
2980
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -2794,6 +3013,7 @@ class Release(
2794
3013
  publish_tasks=publish_tasks,
2795
3014
  releasable_commits=releasable_commits,
2796
3015
  release_branches=release_branches,
3016
+ release_environment=release_environment,
2797
3017
  release_every_commit=release_every_commit,
2798
3018
  release_failure_issue=release_failure_issue,
2799
3019
  release_failure_issue_label=release_failure_issue_label,
@@ -2830,6 +3050,7 @@ class Release(
2830
3050
  branch: builtins.str,
2831
3051
  *,
2832
3052
  major_version: jsii.Number,
3053
+ environment: typing.Optional[builtins.str] = None,
2833
3054
  min_major_version: typing.Optional[jsii.Number] = None,
2834
3055
  minor_version: typing.Optional[jsii.Number] = None,
2835
3056
  npm_dist_tag: typing.Optional[builtins.str] = None,
@@ -2845,6 +3066,7 @@ class Release(
2845
3066
 
2846
3067
  :param branch: The branch to monitor (e.g. ``main``, ``v2.x``).
2847
3068
  :param major_version: (experimental) The major versions released from this branch.
3069
+ :param 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
2848
3070
  :param min_major_version: (experimental) The minimum major version to release.
2849
3071
  :param minor_version: (experimental) The minor versions released from this branch.
2850
3072
  :param npm_dist_tag: (experimental) The npm distribution tag to use for this branch. Default: "latest"
@@ -2859,6 +3081,7 @@ class Release(
2859
3081
  check_type(argname="argument branch", value=branch, expected_type=type_hints["branch"])
2860
3082
  options = BranchOptions(
2861
3083
  major_version=major_version,
3084
+ environment=environment,
2862
3085
  min_major_version=min_major_version,
2863
3086
  minor_version=minor_version,
2864
3087
  npm_dist_tag=npm_dist_tag,
@@ -2945,6 +3168,7 @@ class Release(
2945
3168
  "publish_tasks": "publishTasks",
2946
3169
  "releasable_commits": "releasableCommits",
2947
3170
  "release_branches": "releaseBranches",
3171
+ "release_environment": "releaseEnvironment",
2948
3172
  "release_every_commit": "releaseEveryCommit",
2949
3173
  "release_failure_issue": "releaseFailureIssue",
2950
3174
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -2975,6 +3199,7 @@ class ReleaseProjectOptions:
2975
3199
  publish_tasks: typing.Optional[builtins.bool] = None,
2976
3200
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
2977
3201
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
3202
+ release_environment: typing.Optional[builtins.str] = None,
2978
3203
  release_every_commit: typing.Optional[builtins.bool] = None,
2979
3204
  release_failure_issue: typing.Optional[builtins.bool] = None,
2980
3205
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -3002,6 +3227,7 @@ class ReleaseProjectOptions:
3002
3227
  :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
3003
3228
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
3004
3229
  :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.
3230
+ :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
3005
3231
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
3006
3232
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
3007
3233
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -3033,6 +3259,7 @@ class ReleaseProjectOptions:
3033
3259
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
3034
3260
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
3035
3261
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
3262
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
3036
3263
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
3037
3264
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
3038
3265
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -3070,6 +3297,8 @@ class ReleaseProjectOptions:
3070
3297
  self._values["releasable_commits"] = releasable_commits
3071
3298
  if release_branches is not None:
3072
3299
  self._values["release_branches"] = release_branches
3300
+ if release_environment is not None:
3301
+ self._values["release_environment"] = release_environment
3073
3302
  if release_every_commit is not None:
3074
3303
  self._values["release_every_commit"] = release_every_commit
3075
3304
  if release_failure_issue is not None:
@@ -3274,6 +3503,23 @@ class ReleaseProjectOptions:
3274
3503
  result = self._values.get("release_branches")
3275
3504
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, BranchOptions]], result)
3276
3505
 
3506
+ @builtins.property
3507
+ def release_environment(self) -> typing.Optional[builtins.str]:
3508
+ '''(experimental) The GitHub Actions environment used for the release.
3509
+
3510
+ This can be used to add an explicit approval step to the release
3511
+ or limit who can initiate a release through environment protection rules.
3512
+
3513
+ When multiple artifacts are released, the environment can be overwritten
3514
+ on a per artifact basis.
3515
+
3516
+ :default: - no environment used, unless set at the artifact level
3517
+
3518
+ :stability: experimental
3519
+ '''
3520
+ result = self._values.get("release_environment")
3521
+ return typing.cast(typing.Optional[builtins.str], result)
3522
+
3277
3523
  @builtins.property
3278
3524
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
3279
3525
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -3643,6 +3889,7 @@ class ScheduledReleaseOptions:
3643
3889
  jsii_type="projen.release.JsiiReleaseMaven",
3644
3890
  jsii_struct_bases=[MavenPublishOptions],
3645
3891
  name_mapping={
3892
+ "github_environment": "githubEnvironment",
3646
3893
  "post_publish_steps": "postPublishSteps",
3647
3894
  "pre_publish_steps": "prePublishSteps",
3648
3895
  "publish_tools": "publishTools",
@@ -3660,6 +3907,7 @@ class JsiiReleaseMaven(MavenPublishOptions):
3660
3907
  def __init__(
3661
3908
  self,
3662
3909
  *,
3910
+ github_environment: typing.Optional[builtins.str] = None,
3663
3911
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3664
3912
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3665
3913
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3673,6 +3921,7 @@ class JsiiReleaseMaven(MavenPublishOptions):
3673
3921
  maven_username: typing.Optional[builtins.str] = None,
3674
3922
  ) -> None:
3675
3923
  '''
3924
+ :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
3676
3925
  :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``.
3677
3926
  :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``.
3678
3927
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -3693,6 +3942,7 @@ class JsiiReleaseMaven(MavenPublishOptions):
3693
3942
  publish_tools = _Tools_75b93a2a(**publish_tools)
3694
3943
  if __debug__:
3695
3944
  type_hints = typing.get_type_hints(_typecheckingstub__370b478ebba8352e12c41a67b57d5954055dba8a6ceae59144e72607fdc6df41)
3945
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
3696
3946
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
3697
3947
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
3698
3948
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -3705,6 +3955,8 @@ class JsiiReleaseMaven(MavenPublishOptions):
3705
3955
  check_type(argname="argument maven_staging_profile_id", value=maven_staging_profile_id, expected_type=type_hints["maven_staging_profile_id"])
3706
3956
  check_type(argname="argument maven_username", value=maven_username, expected_type=type_hints["maven_username"])
3707
3957
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3958
+ if github_environment is not None:
3959
+ self._values["github_environment"] = github_environment
3708
3960
  if post_publish_steps is not None:
3709
3961
  self._values["post_publish_steps"] = post_publish_steps
3710
3962
  if pre_publish_steps is not None:
@@ -3728,6 +3980,22 @@ class JsiiReleaseMaven(MavenPublishOptions):
3728
3980
  if maven_username is not None:
3729
3981
  self._values["maven_username"] = maven_username
3730
3982
 
3983
+ @builtins.property
3984
+ def github_environment(self) -> typing.Optional[builtins.str]:
3985
+ '''(experimental) The GitHub Actions environment used for publishing.
3986
+
3987
+ This can be used to add an explicit approval step to the release
3988
+ or limit who can initiate a release through environment protection rules.
3989
+
3990
+ Set this to overwrite a package level publishing environment just for this artifact.
3991
+
3992
+ :default: - no environment used, unless set at the package level
3993
+
3994
+ :stability: experimental
3995
+ '''
3996
+ result = self._values.get("github_environment")
3997
+ return typing.cast(typing.Optional[builtins.str], result)
3998
+
3731
3999
  @builtins.property
3732
4000
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
3733
4001
  '''(experimental) Steps to execute after executing the publishing command.
@@ -3890,6 +4158,7 @@ class JsiiReleaseMaven(MavenPublishOptions):
3890
4158
  jsii_type="projen.release.JsiiReleaseNpm",
3891
4159
  jsii_struct_bases=[NpmPublishOptions],
3892
4160
  name_mapping={
4161
+ "github_environment": "githubEnvironment",
3893
4162
  "post_publish_steps": "postPublishSteps",
3894
4163
  "pre_publish_steps": "prePublishSteps",
3895
4164
  "publish_tools": "publishTools",
@@ -3904,6 +4173,7 @@ class JsiiReleaseNpm(NpmPublishOptions):
3904
4173
  def __init__(
3905
4174
  self,
3906
4175
  *,
4176
+ github_environment: typing.Optional[builtins.str] = None,
3907
4177
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3908
4178
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
3909
4179
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3914,6 +4184,7 @@ class JsiiReleaseNpm(NpmPublishOptions):
3914
4184
  registry: typing.Optional[builtins.str] = None,
3915
4185
  ) -> None:
3916
4186
  '''
4187
+ :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
3917
4188
  :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``.
3918
4189
  :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``.
3919
4190
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -3933,6 +4204,7 @@ class JsiiReleaseNpm(NpmPublishOptions):
3933
4204
  code_artifact_options = CodeArtifactOptions(**code_artifact_options)
3934
4205
  if __debug__:
3935
4206
  type_hints = typing.get_type_hints(_typecheckingstub__a34680d3cf9e2cc6374987796717402a524a0bb377e9172f0707da67450b3239)
4207
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
3936
4208
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
3937
4209
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
3938
4210
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -3942,6 +4214,8 @@ class JsiiReleaseNpm(NpmPublishOptions):
3942
4214
  check_type(argname="argument npm_token_secret", value=npm_token_secret, expected_type=type_hints["npm_token_secret"])
3943
4215
  check_type(argname="argument registry", value=registry, expected_type=type_hints["registry"])
3944
4216
  self._values: typing.Dict[builtins.str, typing.Any] = {}
4217
+ if github_environment is not None:
4218
+ self._values["github_environment"] = github_environment
3945
4219
  if post_publish_steps is not None:
3946
4220
  self._values["post_publish_steps"] = post_publish_steps
3947
4221
  if pre_publish_steps is not None:
@@ -3959,6 +4233,22 @@ class JsiiReleaseNpm(NpmPublishOptions):
3959
4233
  if registry is not None:
3960
4234
  self._values["registry"] = registry
3961
4235
 
4236
+ @builtins.property
4237
+ def github_environment(self) -> typing.Optional[builtins.str]:
4238
+ '''(experimental) The GitHub Actions environment used for publishing.
4239
+
4240
+ This can be used to add an explicit approval step to the release
4241
+ or limit who can initiate a release through environment protection rules.
4242
+
4243
+ Set this to overwrite a package level publishing environment just for this artifact.
4244
+
4245
+ :default: - no environment used, unless set at the package level
4246
+
4247
+ :stability: experimental
4248
+ '''
4249
+ result = self._values.get("github_environment")
4250
+ return typing.cast(typing.Optional[builtins.str], result)
4251
+
3962
4252
  @builtins.property
3963
4253
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
3964
4254
  '''(experimental) Steps to execute after executing the publishing command.
@@ -4096,6 +4386,7 @@ class JsiiReleaseNpm(NpmPublishOptions):
4096
4386
  jsii_type="projen.release.JsiiReleaseNuget",
4097
4387
  jsii_struct_bases=[NugetPublishOptions],
4098
4388
  name_mapping={
4389
+ "github_environment": "githubEnvironment",
4099
4390
  "post_publish_steps": "postPublishSteps",
4100
4391
  "pre_publish_steps": "prePublishSteps",
4101
4392
  "publish_tools": "publishTools",
@@ -4107,6 +4398,7 @@ class JsiiReleaseNuget(NugetPublishOptions):
4107
4398
  def __init__(
4108
4399
  self,
4109
4400
  *,
4401
+ github_environment: typing.Optional[builtins.str] = None,
4110
4402
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
4111
4403
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
4112
4404
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -4114,6 +4406,7 @@ class JsiiReleaseNuget(NugetPublishOptions):
4114
4406
  nuget_server: typing.Optional[builtins.str] = None,
4115
4407
  ) -> None:
4116
4408
  '''
4409
+ :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
4117
4410
  :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``.
4118
4411
  :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``.
4119
4412
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -4128,12 +4421,15 @@ class JsiiReleaseNuget(NugetPublishOptions):
4128
4421
  publish_tools = _Tools_75b93a2a(**publish_tools)
4129
4422
  if __debug__:
4130
4423
  type_hints = typing.get_type_hints(_typecheckingstub__14abe6d299c2354a8f22a08788f088aafaa8acf2b85b20f297416346274a9b96)
4424
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
4131
4425
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
4132
4426
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
4133
4427
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
4134
4428
  check_type(argname="argument nuget_api_key_secret", value=nuget_api_key_secret, expected_type=type_hints["nuget_api_key_secret"])
4135
4429
  check_type(argname="argument nuget_server", value=nuget_server, expected_type=type_hints["nuget_server"])
4136
4430
  self._values: typing.Dict[builtins.str, typing.Any] = {}
4431
+ if github_environment is not None:
4432
+ self._values["github_environment"] = github_environment
4137
4433
  if post_publish_steps is not None:
4138
4434
  self._values["post_publish_steps"] = post_publish_steps
4139
4435
  if pre_publish_steps is not None:
@@ -4145,6 +4441,22 @@ class JsiiReleaseNuget(NugetPublishOptions):
4145
4441
  if nuget_server is not None:
4146
4442
  self._values["nuget_server"] = nuget_server
4147
4443
 
4444
+ @builtins.property
4445
+ def github_environment(self) -> typing.Optional[builtins.str]:
4446
+ '''(experimental) The GitHub Actions environment used for publishing.
4447
+
4448
+ This can be used to add an explicit approval step to the release
4449
+ or limit who can initiate a release through environment protection rules.
4450
+
4451
+ Set this to overwrite a package level publishing environment just for this artifact.
4452
+
4453
+ :default: - no environment used, unless set at the package level
4454
+
4455
+ :stability: experimental
4456
+ '''
4457
+ result = self._values.get("github_environment")
4458
+ return typing.cast(typing.Optional[builtins.str], result)
4459
+
4148
4460
  @builtins.property
4149
4461
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
4150
4462
  '''(experimental) Steps to execute after executing the publishing command.
@@ -4220,6 +4532,7 @@ class JsiiReleaseNuget(NugetPublishOptions):
4220
4532
  jsii_type="projen.release.JsiiReleasePyPi",
4221
4533
  jsii_struct_bases=[PyPiPublishOptions],
4222
4534
  name_mapping={
4535
+ "github_environment": "githubEnvironment",
4223
4536
  "post_publish_steps": "postPublishSteps",
4224
4537
  "pre_publish_steps": "prePublishSteps",
4225
4538
  "publish_tools": "publishTools",
@@ -4233,6 +4546,7 @@ class JsiiReleasePyPi(PyPiPublishOptions):
4233
4546
  def __init__(
4234
4547
  self,
4235
4548
  *,
4549
+ github_environment: typing.Optional[builtins.str] = None,
4236
4550
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
4237
4551
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
4238
4552
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -4242,6 +4556,7 @@ class JsiiReleasePyPi(PyPiPublishOptions):
4242
4556
  twine_username_secret: typing.Optional[builtins.str] = None,
4243
4557
  ) -> None:
4244
4558
  '''
4559
+ :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
4245
4560
  :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``.
4246
4561
  :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``.
4247
4562
  :param publish_tools: (experimental) Additional tools to install in the publishing job. Default: - no additional tools are installed
@@ -4260,6 +4575,7 @@ class JsiiReleasePyPi(PyPiPublishOptions):
4260
4575
  code_artifact_options = CodeArtifactOptions(**code_artifact_options)
4261
4576
  if __debug__:
4262
4577
  type_hints = typing.get_type_hints(_typecheckingstub__0fa7c01cc40634bf771011bf4e8ddb9e3be28efd1b3f15b5d0768a4e810d37bc)
4578
+ check_type(argname="argument github_environment", value=github_environment, expected_type=type_hints["github_environment"])
4263
4579
  check_type(argname="argument post_publish_steps", value=post_publish_steps, expected_type=type_hints["post_publish_steps"])
4264
4580
  check_type(argname="argument pre_publish_steps", value=pre_publish_steps, expected_type=type_hints["pre_publish_steps"])
4265
4581
  check_type(argname="argument publish_tools", value=publish_tools, expected_type=type_hints["publish_tools"])
@@ -4268,6 +4584,8 @@ class JsiiReleasePyPi(PyPiPublishOptions):
4268
4584
  check_type(argname="argument twine_registry_url", value=twine_registry_url, expected_type=type_hints["twine_registry_url"])
4269
4585
  check_type(argname="argument twine_username_secret", value=twine_username_secret, expected_type=type_hints["twine_username_secret"])
4270
4586
  self._values: typing.Dict[builtins.str, typing.Any] = {}
4587
+ if github_environment is not None:
4588
+ self._values["github_environment"] = github_environment
4271
4589
  if post_publish_steps is not None:
4272
4590
  self._values["post_publish_steps"] = post_publish_steps
4273
4591
  if pre_publish_steps is not None:
@@ -4283,6 +4601,22 @@ class JsiiReleasePyPi(PyPiPublishOptions):
4283
4601
  if twine_username_secret is not None:
4284
4602
  self._values["twine_username_secret"] = twine_username_secret
4285
4603
 
4604
+ @builtins.property
4605
+ def github_environment(self) -> typing.Optional[builtins.str]:
4606
+ '''(experimental) The GitHub Actions environment used for publishing.
4607
+
4608
+ This can be used to add an explicit approval step to the release
4609
+ or limit who can initiate a release through environment protection rules.
4610
+
4611
+ Set this to overwrite a package level publishing environment just for this artifact.
4612
+
4613
+ :default: - no environment used, unless set at the package level
4614
+
4615
+ :stability: experimental
4616
+ '''
4617
+ result = self._values.get("github_environment")
4618
+ return typing.cast(typing.Optional[builtins.str], result)
4619
+
4286
4620
  @builtins.property
4287
4621
  def post_publish_steps(self) -> typing.Optional[typing.List[_JobStep_c3287c05]]:
4288
4622
  '''(experimental) Steps to execute after executing the publishing command.
@@ -4394,6 +4728,7 @@ class JsiiReleasePyPi(PyPiPublishOptions):
4394
4728
  "publish_tasks": "publishTasks",
4395
4729
  "releasable_commits": "releasableCommits",
4396
4730
  "release_branches": "releaseBranches",
4731
+ "release_environment": "releaseEnvironment",
4397
4732
  "release_every_commit": "releaseEveryCommit",
4398
4733
  "release_failure_issue": "releaseFailureIssue",
4399
4734
  "release_failure_issue_label": "releaseFailureIssueLabel",
@@ -4431,6 +4766,7 @@ class ReleaseOptions(ReleaseProjectOptions):
4431
4766
  publish_tasks: typing.Optional[builtins.bool] = None,
4432
4767
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
4433
4768
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
4769
+ release_environment: typing.Optional[builtins.str] = None,
4434
4770
  release_every_commit: typing.Optional[builtins.bool] = None,
4435
4771
  release_failure_issue: typing.Optional[builtins.bool] = None,
4436
4772
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -4465,6 +4801,7 @@ class ReleaseOptions(ReleaseProjectOptions):
4465
4801
  :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
4466
4802
  :param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
4467
4803
  :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.
4804
+ :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
4468
4805
  :param release_every_commit: (deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``. Default: true
4469
4806
  :param release_failure_issue: (experimental) Create a github issue on every failed publishing task. Default: false
4470
4807
  :param release_failure_issue_label: (experimental) The label to apply to issues indicating publish failures. Only applies if ``releaseFailureIssue`` is true. Default: "failed-release"
@@ -4505,6 +4842,7 @@ class ReleaseOptions(ReleaseProjectOptions):
4505
4842
  check_type(argname="argument publish_tasks", value=publish_tasks, expected_type=type_hints["publish_tasks"])
4506
4843
  check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
4507
4844
  check_type(argname="argument release_branches", value=release_branches, expected_type=type_hints["release_branches"])
4845
+ check_type(argname="argument release_environment", value=release_environment, expected_type=type_hints["release_environment"])
4508
4846
  check_type(argname="argument release_every_commit", value=release_every_commit, expected_type=type_hints["release_every_commit"])
4509
4847
  check_type(argname="argument release_failure_issue", value=release_failure_issue, expected_type=type_hints["release_failure_issue"])
4510
4848
  check_type(argname="argument release_failure_issue_label", value=release_failure_issue_label, expected_type=type_hints["release_failure_issue_label"])
@@ -4554,6 +4892,8 @@ class ReleaseOptions(ReleaseProjectOptions):
4554
4892
  self._values["releasable_commits"] = releasable_commits
4555
4893
  if release_branches is not None:
4556
4894
  self._values["release_branches"] = release_branches
4895
+ if release_environment is not None:
4896
+ self._values["release_environment"] = release_environment
4557
4897
  if release_every_commit is not None:
4558
4898
  self._values["release_every_commit"] = release_every_commit
4559
4899
  if release_failure_issue is not None:
@@ -4764,6 +5104,23 @@ class ReleaseOptions(ReleaseProjectOptions):
4764
5104
  result = self._values.get("release_branches")
4765
5105
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, BranchOptions]], result)
4766
5106
 
5107
+ @builtins.property
5108
+ def release_environment(self) -> typing.Optional[builtins.str]:
5109
+ '''(experimental) The GitHub Actions environment used for the release.
5110
+
5111
+ This can be used to add an explicit approval step to the release
5112
+ or limit who can initiate a release through environment protection rules.
5113
+
5114
+ When multiple artifacts are released, the environment can be overwritten
5115
+ on a per artifact basis.
5116
+
5117
+ :default: - no environment used, unless set at the artifact level
5118
+
5119
+ :stability: experimental
5120
+ '''
5121
+ result = self._values.get("release_environment")
5122
+ return typing.cast(typing.Optional[builtins.str], result)
5123
+
4767
5124
  @builtins.property
4768
5125
  def release_every_commit(self) -> typing.Optional[builtins.bool]:
4769
5126
  '''(deprecated) Automatically release new versions every commit to one of branches in ``releaseBranches``.
@@ -5049,6 +5406,7 @@ publication.publish()
5049
5406
  def _typecheckingstub__6f62eb98000deee3820f046309b2262c5063c0cb9581232fd1a44731f86986d7(
5050
5407
  *,
5051
5408
  major_version: jsii.Number,
5409
+ environment: typing.Optional[builtins.str] = None,
5052
5410
  min_major_version: typing.Optional[jsii.Number] = None,
5053
5411
  minor_version: typing.Optional[jsii.Number] = None,
5054
5412
  npm_dist_tag: typing.Optional[builtins.str] = None,
@@ -5071,6 +5429,7 @@ def _typecheckingstub__9a328fe64db40633fedae889a7376e6885e1983f57d171d4f4ef85af6
5071
5429
 
5072
5430
  def _typecheckingstub__9603f09b67279d5ef3dc921367168d873983210161b1d6382c369d0b9ec13b0a(
5073
5431
  *,
5432
+ github_environment: typing.Optional[builtins.str] = None,
5074
5433
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5075
5434
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5076
5435
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5087,6 +5446,7 @@ def _typecheckingstub__95b36779f92c5190c3ac9d8a636a537bfe6ebc844a55942ee5dfc0a96
5087
5446
 
5088
5447
  def _typecheckingstub__c7008ba35b00dedc375d87db7a317e8f077475b6a4e334303337c92bb77171fb(
5089
5448
  *,
5449
+ github_environment: typing.Optional[builtins.str] = None,
5090
5450
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5091
5451
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5092
5452
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5111,6 +5471,7 @@ def _typecheckingstub__d5537e1435c9eea568279fa140de950e1b7275db307b3741959861863
5111
5471
 
5112
5472
  def _typecheckingstub__81a5b8a4f17bcea99089b42477d5b778fd3a9066d3d1126736ccf21a9c44bfbc(
5113
5473
  *,
5474
+ github_environment: typing.Optional[builtins.str] = None,
5114
5475
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5115
5476
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5116
5477
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5127,6 +5488,7 @@ def _typecheckingstub__81a5b8a4f17bcea99089b42477d5b778fd3a9066d3d1126736ccf21a9
5127
5488
 
5128
5489
  def _typecheckingstub__44bae65cd3313afa37ada6dbaab99141ff7744458e985bc9c53faa021220e167(
5129
5490
  *,
5491
+ github_environment: typing.Optional[builtins.str] = None,
5130
5492
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5131
5493
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5132
5494
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5152,6 +5514,7 @@ def _typecheckingstub__2492d83058b766179e85fd785d08928e38b53ce70b0f2dc9a1c5edccb
5152
5514
 
5153
5515
  def _typecheckingstub__da2d55bfa47dd9e6869b7f55b573dea54539ab2e9b833766e4140d6d4c4c3d7e(
5154
5516
  *,
5517
+ github_environment: typing.Optional[builtins.str] = None,
5155
5518
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5156
5519
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5157
5520
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5169,6 +5532,7 @@ def _typecheckingstub__da2d55bfa47dd9e6869b7f55b573dea54539ab2e9b833766e4140d6d4
5169
5532
 
5170
5533
  def _typecheckingstub__458289050585e6e895f9ee709ee4e102166b0f71e3c8b2a0617efa2d24e990fb(
5171
5534
  *,
5535
+ github_environment: typing.Optional[builtins.str] = None,
5172
5536
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5173
5537
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5174
5538
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5183,6 +5547,7 @@ def _typecheckingstub__458289050585e6e895f9ee709ee4e102166b0f71e3c8b2a0617efa2d2
5183
5547
 
5184
5548
  def _typecheckingstub__584d4125e43e970396e9062b357de30ef32a6d1b30bd3a0f00fc7db041ea0bec(
5185
5549
  *,
5550
+ github_environment: typing.Optional[builtins.str] = None,
5186
5551
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5187
5552
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5188
5553
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5245,6 +5610,7 @@ def _typecheckingstub__4e430972b008e5968049196f964ee9dfa036c68b2195f125119bc2629
5245
5610
 
5246
5611
  def _typecheckingstub__f90cd44def59be822b686bcd759d7f0a910b9936ca8acc0ef3e69cda5ddc21d2(
5247
5612
  *,
5613
+ github_environment: typing.Optional[builtins.str] = None,
5248
5614
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5249
5615
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5250
5616
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5278,6 +5644,7 @@ def _typecheckingstub__b447ecb34d36869391ee159467e6c78b74da704722d4c6a517e05bbae
5278
5644
  publish_tasks: typing.Optional[builtins.bool] = None,
5279
5645
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5280
5646
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
5647
+ release_environment: typing.Optional[builtins.str] = None,
5281
5648
  release_every_commit: typing.Optional[builtins.bool] = None,
5282
5649
  release_failure_issue: typing.Optional[builtins.bool] = None,
5283
5650
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -5304,6 +5671,7 @@ def _typecheckingstub__e0f66d9106b15a88644bb5efb62c4d4d18bb7c7b73bb22b904010a8a6
5304
5671
  branch: builtins.str,
5305
5672
  *,
5306
5673
  major_version: jsii.Number,
5674
+ environment: typing.Optional[builtins.str] = None,
5307
5675
  min_major_version: typing.Optional[jsii.Number] = None,
5308
5676
  minor_version: typing.Optional[jsii.Number] = None,
5309
5677
  npm_dist_tag: typing.Optional[builtins.str] = None,
@@ -5334,6 +5702,7 @@ def _typecheckingstub__cc5e99254de9f29d2ac3b86e193164816e1ed36e491e602128e7d16fb
5334
5702
  publish_tasks: typing.Optional[builtins.bool] = None,
5335
5703
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5336
5704
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
5705
+ release_environment: typing.Optional[builtins.str] = None,
5337
5706
  release_every_commit: typing.Optional[builtins.bool] = None,
5338
5707
  release_failure_issue: typing.Optional[builtins.bool] = None,
5339
5708
  release_failure_issue_label: typing.Optional[builtins.str] = None,
@@ -5359,6 +5728,7 @@ def _typecheckingstub__629cc7488dbd6e87168962d964694e088625a8e208d09e45c120eac7e
5359
5728
 
5360
5729
  def _typecheckingstub__370b478ebba8352e12c41a67b57d5954055dba8a6ceae59144e72607fdc6df41(
5361
5730
  *,
5731
+ github_environment: typing.Optional[builtins.str] = None,
5362
5732
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5363
5733
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5364
5734
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5376,6 +5746,7 @@ def _typecheckingstub__370b478ebba8352e12c41a67b57d5954055dba8a6ceae59144e72607f
5376
5746
 
5377
5747
  def _typecheckingstub__a34680d3cf9e2cc6374987796717402a524a0bb377e9172f0707da67450b3239(
5378
5748
  *,
5749
+ github_environment: typing.Optional[builtins.str] = None,
5379
5750
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5380
5751
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5381
5752
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5390,6 +5761,7 @@ def _typecheckingstub__a34680d3cf9e2cc6374987796717402a524a0bb377e9172f0707da674
5390
5761
 
5391
5762
  def _typecheckingstub__14abe6d299c2354a8f22a08788f088aafaa8acf2b85b20f297416346274a9b96(
5392
5763
  *,
5764
+ github_environment: typing.Optional[builtins.str] = None,
5393
5765
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5394
5766
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5395
5767
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5401,6 +5773,7 @@ def _typecheckingstub__14abe6d299c2354a8f22a08788f088aafaa8acf2b85b20f2974163462
5401
5773
 
5402
5774
  def _typecheckingstub__0fa7c01cc40634bf771011bf4e8ddb9e3be28efd1b3f15b5d0768a4e810d37bc(
5403
5775
  *,
5776
+ github_environment: typing.Optional[builtins.str] = None,
5404
5777
  post_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5405
5778
  pre_publish_steps: typing.Optional[typing.Sequence[typing.Union[_JobStep_c3287c05, typing.Dict[builtins.str, typing.Any]]]] = None,
5406
5779
  publish_tools: typing.Optional[typing.Union[_Tools_75b93a2a, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5426,6 +5799,7 @@ def _typecheckingstub__abcbb9106f2fe858c4efa7a5934906e63b00b56fa33c47c5f910dac2a
5426
5799
  publish_tasks: typing.Optional[builtins.bool] = None,
5427
5800
  releasable_commits: typing.Optional[_ReleasableCommits_d481ce10] = None,
5428
5801
  release_branches: typing.Optional[typing.Mapping[builtins.str, typing.Union[BranchOptions, typing.Dict[builtins.str, typing.Any]]]] = None,
5802
+ release_environment: typing.Optional[builtins.str] = None,
5429
5803
  release_every_commit: typing.Optional[builtins.bool] = None,
5430
5804
  release_failure_issue: typing.Optional[builtins.bool] = None,
5431
5805
  release_failure_issue_label: typing.Optional[builtins.str] = None,