Package io.github.cdklabs.projen.build
Class BuildWorkflow.Builder
- java.lang.Object
-
- io.github.cdklabs.projen.build.BuildWorkflow.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<BuildWorkflow>
- Enclosing class:
- BuildWorkflow
@Stability(Experimental) public static final class BuildWorkflow.Builder extends Object implements software.amazon.jsii.Builder<BuildWorkflow>
(experimental) A fluent builder forBuildWorkflow.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BuildWorkflow.BuilderartifactsDirectory(String artifactsDirectory)(experimental) A name of a directory that includes build artifacts.BuildWorkflowbuild()BuildWorkflow.BuilderbuildTask(Task buildTask)(experimental) The task to execute in order to build the project.BuildWorkflow.BuildercontainerImage(String containerImage)(experimental) The container image to use for builds.static BuildWorkflow.Buildercreate(Project project)BuildWorkflow.Builderenv(Map<String,String> env)(experimental) Build environment variables.BuildWorkflow.BuildergitIdentity(GitIdentity gitIdentity)(experimental) Git identity to use for the workflow.BuildWorkflow.BuildermutableBuild(Boolean mutableBuild)(experimental) Automatically update files modified during builds to pull-request branches.BuildWorkflow.Buildername(String name)(experimental) Name of the buildfile (e.g.BuildWorkflow.Builderpermissions(JobPermissions permissions)(experimental) Permissions granted to the build job To limit job permissions forcontents, the desired permissions have to be explicitly set, e.g.:{ contents: JobPermission.NONE }.BuildWorkflow.BuilderpostBuildSteps(List<? extends JobStep> postBuildSteps)(experimental) Steps to execute after build.BuildWorkflow.BuilderpreBuildSteps(List<? extends JobStep> preBuildSteps)(experimental) Steps to execute before the build.BuildWorkflow.BuilderrunsOn(List<String> runsOn)(experimental) Github Runner selection labels.BuildWorkflow.BuilderrunsOnGroup(GroupRunnerOptions runsOnGroup)(experimental) Github Runner Group selection options.BuildWorkflow.BuilderworkflowTriggers(Triggers workflowTriggers)(experimental) Build workflow triggers.
-
-
-
Method Detail
-
create
@Stability(Experimental) public static BuildWorkflow.Builder create(Project project)
- Parameters:
project- This parameter is required.- Returns:
- a new instance of
BuildWorkflow.Builder.
-
artifactsDirectory
@Stability(Experimental) public BuildWorkflow.Builder artifactsDirectory(String artifactsDirectory)
(experimental) A name of a directory that includes build artifacts.- Parameters:
artifactsDirectory- A name of a directory that includes build artifacts. This parameter is required.- Returns:
this
-
buildTask
@Stability(Experimental) public BuildWorkflow.Builder buildTask(Task buildTask)
(experimental) The task to execute in order to build the project.- Parameters:
buildTask- The task to execute in order to build the project. This parameter is required.- Returns:
this
-
containerImage
@Stability(Experimental) public BuildWorkflow.Builder containerImage(String containerImage)
(experimental) The container image to use for builds.Default: - the default workflow container
- Parameters:
containerImage- The container image to use for builds. This parameter is required.- Returns:
this
-
env
@Stability(Experimental) public BuildWorkflow.Builder env(Map<String,String> env)
(experimental) Build environment variables.Default: {}
- Parameters:
env- Build environment variables. This parameter is required.- Returns:
this
-
gitIdentity
@Stability(Experimental) public BuildWorkflow.Builder gitIdentity(GitIdentity gitIdentity)
(experimental) Git identity to use for the workflow.Default: - default identity
- Parameters:
gitIdentity- Git identity to use for the workflow. This parameter is required.- Returns:
this
-
mutableBuild
@Stability(Experimental) public BuildWorkflow.Builder mutableBuild(Boolean mutableBuild)
(experimental) Automatically update files modified during builds to pull-request branches.This means that any files synthesized by projen or e.g. test snapshots will always be up-to-date before a PR is merged.
Implies that PR builds do not have anti-tamper checks.
This is enabled by default only if
githubTokenSecretis set. Otherwise it is disabled, which implies that file changes that happen during build will not be pushed back to the branch.Default: true
- Parameters:
mutableBuild- Automatically update files modified during builds to pull-request branches. This parameter is required.- Returns:
this
-
name
@Stability(Experimental) public BuildWorkflow.Builder name(String name)
(experimental) Name of the buildfile (e.g. "build" becomes "build.yml").Default: "build"
- Parameters:
name- Name of the buildfile (e.g. "build" becomes "build.yml"). This parameter is required.- Returns:
this
-
permissions
@Stability(Experimental) public BuildWorkflow.Builder permissions(JobPermissions permissions)
(experimental) Permissions granted to the build job To limit job permissions forcontents, the desired permissions have to be explicitly set, e.g.:{ contents: JobPermission.NONE }.Default: `{ contents: JobPermission.WRITE }`
- Parameters:
permissions- Permissions granted to the build job To limit job permissions forcontents, the desired permissions have to be explicitly set, e.g.:{ contents: JobPermission.NONE }. This parameter is required.- Returns:
this
-
postBuildSteps
@Stability(Experimental) public BuildWorkflow.Builder postBuildSteps(List<? extends JobStep> postBuildSteps)
(experimental) Steps to execute after build.Default: []
- Parameters:
postBuildSteps- Steps to execute after build. This parameter is required.- Returns:
this
-
preBuildSteps
@Stability(Experimental) public BuildWorkflow.Builder preBuildSteps(List<? extends JobStep> preBuildSteps)
(experimental) Steps to execute before the build.Default: []
- Parameters:
preBuildSteps- Steps to execute before the build. This parameter is required.- Returns:
this
-
runsOn
@Stability(Experimental) public BuildWorkflow.Builder runsOn(List<String> runsOn)
(experimental) Github Runner selection labels.Default: ["ubuntu-latest"]
- Parameters:
runsOn- Github Runner selection labels. This parameter is required.- Returns:
this
-
runsOnGroup
@Stability(Experimental) public BuildWorkflow.Builder runsOnGroup(GroupRunnerOptions runsOnGroup)
(experimental) Github Runner Group selection options.- Parameters:
runsOnGroup- Github Runner Group selection options. This parameter is required.- Returns:
this
-
workflowTriggers
@Stability(Experimental) public BuildWorkflow.Builder workflowTriggers(Triggers workflowTriggers)
(experimental) Build workflow triggers.Default: "{ pullRequest: {}, workflowDispatch: {} }"
- Parameters:
workflowTriggers- Build workflow triggers. This parameter is required.- Returns:
this
-
build
@Stability(Experimental) public BuildWorkflow build()
- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<BuildWorkflow>- Returns:
- a newly built instance of
BuildWorkflow.
-
-