Class 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 for BuildWorkflow.
    • Method Detail

      • 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 githubTokenSecret is 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 for contents, 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 for contents, 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