diff --git a/templates/apply.yml b/templates/apply.yml index 235c6e70488378d9b75d8f59acc50e0f858b86a8..e2d37785e6a28c5aa3c51d7e1e64c37ed004d1b1 100644 --- a/templates/apply.yml +++ b/templates/apply.yml @@ -50,6 +50,10 @@ spec: state_name: default: default description: 'Remote OpenTofu state name.' + no_plan: + default: false + type: boolean + description: 'Whether a plan file should be used.' plan_name: default: 'plan' description: 'The name of the plan file to use. Will be used for TF_PLAN_CACHE and TF_PLAN_JSON.' @@ -79,6 +83,7 @@ spec: __CACHE_KEY_HACK: "$[[ inputs.root_dir ]]" TF_ROOT: $[[ inputs.root_dir ]] TF_STATE_NAME: $[[ inputs.state_name ]] + TF_APPLY_NO_PLAN: $[[ inputs.no_plan ]] TF_PLAN_NAME: $[[ inputs.plan_name ]] image: name: '$[[ inputs.image_registry_base ]]/$[[ inputs.image_name ]]:$[[ inputs.version ]]-opentofu$[[ inputs.opentofu_version ]]' diff --git a/tests/integration-tests/Destroy.gitlab-ci.yml b/tests/integration-tests/Destroy.gitlab-ci.yml index 2b8ac40f18584416a65c4e0d27c839cb0d90bc05..d0ec3c56ae349723dedf34cdfd13d4561621ec08 100644 --- a/tests/integration-tests/Destroy.gitlab-ci.yml +++ b/tests/integration-tests/Destroy.gitlab-ci.yml @@ -1,4 +1,16 @@ include: + - component: $CI_SERVER_FQDN/$CI_PROJECT_PATH/apply@$CI_COMMIT_SHA + inputs: + image_registry_base: $GITLAB_OPENTOFU_IMAGE_BASE + version: $CI_COMMIT_SHA + opentofu_version: $OPENTOFU_VERSION + as: 'setup:apply' + stage: setup + root_dir: $TEST_TF_ROOT + state_name: $TEST_TF_STATE_NAME + no_plan: true + auto_apply: true + - component: $CI_SERVER_FQDN/$CI_PROJECT_PATH/validate-plan-destroy@$CI_COMMIT_SHA inputs: image_registry_base: $GITLAB_OPENTOFU_IMAGE_BASE @@ -7,10 +19,13 @@ include: root_dir: $TEST_TF_ROOT state_name: $TEST_TF_STATE_NAME -stages: [validate, build, cleanup] +stages: [setup, validate, build, cleanup] # Required to run everything immediately, instead of manually. +'setup:apply': + rules: [{when: always}] + fmt: rules: [{when: always}]