From 4f1972e4b55e66025beae0a60809564783fded1e Mon Sep 17 00:00:00 2001 From: Alex Maras <dev@alexmaras.com> Date: Wed, 26 Mar 2025 09:21:01 +0800 Subject: [PATCH] feat: add plan artifacts input --- templates/full-pipeline.yml | 6 ++++++ templates/plan.yml | 5 +++++ templates/validate-plan-apply.yml | 6 ++++++ templates/validate-plan-destroy.yml | 6 ++++++ templates/validate-plan.yml | 6 ++++++ 5 files changed, 29 insertions(+) diff --git a/templates/full-pipeline.yml b/templates/full-pipeline.yml index c618197..c536e99 100644 --- a/templates/full-pipeline.yml +++ b/templates/full-pipeline.yml @@ -96,6 +96,10 @@ spec: plan_artifacts_access: default: 'none' description: 'Access level for the plan artifact. See https://docs.gitlab.com/ee/ci/yaml/#artifactsaccess for possible values.' + plan_artifacts: + default: [] + type: array + description: 'Extra artifacts to upload from the plan' var_file: default: '' type: string @@ -310,6 +314,7 @@ include: state_name: $[[ inputs.state_name ]] plan_name: $[[ inputs.plan_name ]] artifacts_access: $[[ inputs.plan_artifacts_access ]] + artifacts: $[[ inputs.plan_artifacts ]] var_file: $[[ inputs.var_file ]] rules: $[[ inputs.plan_rules ]] warning_on_non_empty_plan: $[[ inputs.warning_on_non_empty_plan ]] @@ -443,6 +448,7 @@ stages: state_name: $[[ inputs.state_name]] plan_name: $[[ inputs.plan_name ]] plan_artifacts_access: $[[ inputs.plan_artifacts_access ]] + plan_artifacts: $[[ inputs.plan_artifacts ]] var_file: $[[ inputs.var_file ]] fmt_allow_failure: $[[ inputs.fmt_allow_failure ]] fmt_rules: $[[ inputs.fmt_rules ]] diff --git a/templates/plan.yml b/templates/plan.yml index 096db74..60c7127 100644 --- a/templates/plan.yml +++ b/templates/plan.yml @@ -74,6 +74,10 @@ spec: artifacts_access: default: 'none' description: 'Access level for the plan artifact. See https://docs.gitlab.com/ee/ci/yaml/#artifactsaccess for possible values.' + artifacts: + default: [] + type: array + description: 'Extra artifacts to upload from the plan' var_file: default: '' type: string @@ -197,6 +201,7 @@ include: access: '$[[ inputs.artifacts_access ]]' paths: - $GITLAB_TOFU_ROOT_DIR/$[[ inputs.plan_name ]].cache + - '$[[ inputs.artifacts ]]' reports: terraform: $GITLAB_TOFU_ROOT_DIR/$[[ inputs.plan_name]].json rules: $[[ inputs.rules ]] diff --git a/templates/validate-plan-apply.yml b/templates/validate-plan-apply.yml index 2a358dc..891b199 100644 --- a/templates/validate-plan-apply.yml +++ b/templates/validate-plan-apply.yml @@ -83,6 +83,10 @@ spec: plan_artifacts_access: default: 'none' description: 'Access level for the plan artifact. See https://docs.gitlab.com/ee/ci/yaml/#artifactsaccess for possible values.' + plan_artifacts: + default: [] + type: array + description: 'Extra artifacts to upload from the plan' var_file: default: '' type: string @@ -248,6 +252,7 @@ include: state_name: $[[ inputs.state_name ]] plan_name: $[[ inputs.plan_name ]] artifacts_access: $[[ inputs.plan_artifacts_access ]] + artifacts: $[[ inputs.plan_artifacts ]] var_file: $[[ inputs.var_file ]] rules: $[[ inputs.plan_rules ]] cache_policy: pull @@ -332,6 +337,7 @@ stages: state_name: $[[ inputs.state_name]] plan_name: $[[ inputs.plan_name ]] plan_artifacts_access: $[[ inputs.plan_artifacts_access ]] + plan_artifacts: $[[ inputs.plan_artifacts ]] var_file: $[[ inputs.var_file ]] fmt_rules: $[[ inputs.fmt_rules ]] fmt_allow_failure: $[[ inputs.fmt_allow_failure ]] diff --git a/templates/validate-plan-destroy.yml b/templates/validate-plan-destroy.yml index 78cd203..c8f6d57 100644 --- a/templates/validate-plan-destroy.yml +++ b/templates/validate-plan-destroy.yml @@ -76,6 +76,10 @@ spec: plan_artifacts_access: default: 'none' description: 'Access level for the plan artifact. See https://docs.gitlab.com/ee/ci/yaml/#artifactsaccess for possible values.' + plan_artifacts: + default: [] + type: array + description: 'Extra artifacts to upload from the plan' # FIXME: at the moment we cannot support this input # because we cannot nest inputs: https://gitlab.com/gitlab-org/gitlab/-/issues/438722 # If you want to auto destroy, please refer to the `rules` input. @@ -254,6 +258,7 @@ include: state_name: $[[ inputs.state_name ]] plan_name: $[[ inputs.plan_name ]] artifacts_access: $[[ inputs.plan_artifacts_access ]] + artifacts: $[[ inputs.plan_artifacts ]] destroy: true var_file: $[[ inputs.var_file ]] rules: $[[ inputs.plan_rules ]] @@ -364,6 +369,7 @@ stages: state_name: $[[ inputs.state_name]] plan_name: $[[ inputs.plan_name ]] plan_artifacts_access: $[[ inputs.plan_artifacts_access ]] + plan_artifacts: $[[ inputs.plan_artifacts ]] var_file: $[[ inputs.var_file ]] fmt_allow_failure: $[[ inputs.fmt_allow_failure ]] fmt_rules: $[[ inputs.fmt_rules ]] diff --git a/templates/validate-plan.yml b/templates/validate-plan.yml index 9f7061d..605f095 100644 --- a/templates/validate-plan.yml +++ b/templates/validate-plan.yml @@ -73,6 +73,10 @@ spec: artifacts_access: default: 'none' description: 'Access level for the plan artifact. See https://docs.gitlab.com/ee/ci/yaml/#artifactsaccess for possible values.' + plan_artifacts: + default: [] + type: array + description: 'Extra artifacts to upload from the plan' var_file: default: '' type: string @@ -232,6 +236,7 @@ include: state_name: $[[ inputs.state_name ]] plan_name: $[[ inputs.plan_name ]] artifacts_access: $[[ inputs.artifacts_access ]] + artifacts: $[[ inputs.plan_artifacts ]] var_file: $[[ inputs.var_file ]] rules: $[[ inputs.plan_rules ]] cache_policy: pull @@ -289,6 +294,7 @@ stages: state_name: $[[ inputs.state_name]] plan_name: $[[ inputs.plan_name ]] artifacts_access: $[[ inputs.artifacts_access ]] + artifacts: $[[ inputs.plan_artifacts ]] var_file: $[[ inputs.var_file ]] fmt_allow_failure: $[[ inputs.fmt_allow_failure ]] fmt_rules: $[[ inputs.fmt_rules ]] -- GitLab