diff --git a/.github/workflows/trigger-gitlab-pipeline.yml b/.github/workflows/trigger-gitlab-pipeline.yml index ba324f6..f4f60e0 100644 --- a/.github/workflows/trigger-gitlab-pipeline.yml +++ b/.github/workflows/trigger-gitlab-pipeline.yml @@ -16,6 +16,11 @@ on: required: false default: true type: boolean + github-sha-override: + description: "Option to override the SHA" + required: false + type: string + default: "" secrets: ci-api-v4-url: description: 'GitLab API v4 root URL' @@ -72,6 +77,4 @@ jobs: ACCESS_TOKEN: ${{ secrets.access-token }} TRIGGER_TOKEN: ${{ secrets.trigger-token }} PROJECT_ID: ${{ secrets.project-id }} - - - + GITHUB_SHA_OVERRIDE: ${{ inputs.github-sha-override }} diff --git a/index.js b/index.js index 7a4a4d6..372b94a 100644 --- a/index.js +++ b/index.js @@ -123,6 +123,10 @@ function getEnv (name) { return val; } +function getOptionalEnv (name) { + return process.env[name] || ''; +} + function getBooleanEnv (name) { const trueValue = ['true', 'True', 'TRUE']; const falseValue = ['false', 'False', 'FALSE']; @@ -140,7 +144,8 @@ async function main () { projectId: getEnv('PROJECT_ID'), triggeredRef: getEnv('TRIGGERED_REF'), schedule: getBooleanEnv('SCHEDULE'), - cancelOutdatedPipelines: getBooleanEnv('CANCEL_OUTDATED_PIPELINES') + cancelOutdatedPipelines: getBooleanEnv('CANCEL_OUTDATED_PIPELINES'), + githubShaOverride: getOptionalEnv('GITHUB_SHA_OVERRIDE') }; const githubConfig = { @@ -157,6 +162,10 @@ async function main () { break; case 'push': case 'schedule': + if (inputConfig.githubShaOverride) { + githubConfig.githubSha = inputConfig.githubShaOverride; + } + break; case 'merge_group': break; default: