Skip to content

Commit

Permalink
feat: Add support for sourceTypeOverride and sourceLocationOverride
Browse files Browse the repository at this point in the history
This commit introduces two new optional parameters:

sourceTypeOverride: Allows overriding the source input type defined in the build project for the current build. Valid values include NO_SOURCE, CODECOMMIT, CODEPIPELINE, GITHUB, S3, BITBUCKET, and GITHUB_ENTERPRISE.
sourceLocationOverride: Enables specifying a location that overrides the source location defined in the build project for the current build.

These parameters provide flexibility in customizing the source settings for individual builds, without modifying the underlying build project configuration.
  • Loading branch information
yamao-latte committed Apr 28, 2024
1 parent b31229d commit 6f9f7e1
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 2 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ The only required input is `project-name`.
`sourceTypeOverride` and `sourceLocationOverride` to CodeBuild.
1. **source-version-override** (optional) :
The source version that overrides the `sourceVersion` provided to Codebuild.
1. **source-type-override** (optional) :
The source type that overrides the `sourceTypeOverride` provided to Codebuild.
1. **source-location-override** (optional) :
The source location that overrides the `sourceLocationOverride` provided to Codebuild.
1. **env-vars-for-codebuild** (optional) :
A comma-separated list of the names of environment variables
that the action passes from GitHub Actions to CodeBuild.
Expand Down
6 changes: 6 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ inputs:
source-version-override:
description: 'The source version that overrides the sourceVersion provided to Codebuild.'
required: false
source-type-override:
description: 'The source input type that overrides the source input defined in the build project for this build. Valid values include NO_SOURCE, CODECOMMIT, CODEPIPELINE, GITHUB, S3, BITBUCKET, and GITHUB_ENTERPRISE.'
required: false
source-location-override:
description: 'The location that overrides the source location defined in the build project for this build.'
required: false
hide-cloudwatch-logs:
description: 'Set to `true` to prevent the CloudWatch logs from streaming the output to GitHub'
required: false
Expand Down
13 changes: 11 additions & 2 deletions code-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,13 @@ function githubInputs() {
: process.env[`GITHUB_SHA`]);

assert(sourceVersion, "No source version could be evaluated.");

const sourceTypeOverride =
core.getInput("source-type-override", { required: false, }) || undefined;

const sourceLocationOverride =
core.getInput("source-location-override", { required: false }) || undefined;

const buildspecOverride =
core.getInput("buildspec-override", { required: false }) || undefined;

Expand Down Expand Up @@ -282,6 +289,8 @@ function inputs2Parameters(inputs) {
owner,
repo,
sourceVersion,
sourceTypeOverride,
sourceLocationOverride,
buildspecOverride,
computeTypeOverride,
environmentTypeOverride,
Expand All @@ -296,8 +305,8 @@ function inputs2Parameters(inputs) {
const sourceOverride = !disableSourceOverride
? {
sourceVersion: sourceVersion,
sourceTypeOverride: "GITHUB",
sourceLocationOverride: `https://github.com/${owner}/${repo}.git`,
sourceTypeOverride: sourceTypeOverride || "GITHUB",
sourceLocationOverride: sourceLocationOverride || `https://github.com/${owner}/${repo}.git`,
}
: {};

Expand Down

0 comments on commit 6f9f7e1

Please sign in to comment.