| schema = "1" |
| |
| project "terraform" { |
| // the team key is not used by CRT currently |
| team = "terraform" |
| slack { |
| notification_channel = "C011WJ112MD" |
| } |
| github { |
| organization = "hashicorp" |
| repository = "terraform" |
| |
| release_branches = [ |
| "main", |
| "release/**", |
| "v**.**", |
| ] |
| } |
| } |
| |
| event "build" { |
| depends = ["merge"] |
| action "build" { |
| organization = "hashicorp" |
| repository = "terraform" |
| workflow = "build" |
| } |
| } |
| |
| // Read more about what the `prepare` workflow does here: |
| // https://hashicorp.atlassian.net/wiki/spaces/RELENG/pages/2489712686/Dec+7th+2022+-+Introducing+the+new+Prepare+workflow |
| event "prepare" { |
| depends = ["build"] |
| |
| action "prepare" { |
| organization = "hashicorp" |
| repository = "crt-workflows-common" |
| workflow = "prepare" |
| depends = ["build"] |
| } |
| |
| notification { |
| on = "fail" |
| } |
| } |
| |
| ## These are promotion and post-publish events |
| ## they should be added to the end of the file after the verify event stanza. |
| |
| event "trigger-staging" { |
| // This event is dispatched by the bob trigger-promotion command |
| // and is required - do not delete. |
| } |
| |
| event "promote-staging" { |
| depends = ["trigger-staging"] |
| action "promote-staging" { |
| organization = "hashicorp" |
| repository = "crt-workflows-common" |
| workflow = "promote-staging" |
| config = "release-metadata.hcl" |
| } |
| |
| notification { |
| on = "always" |
| } |
| } |
| |
| event "promote-staging-docker" { |
| depends = ["promote-staging"] |
| action "promote-staging-docker" { |
| organization = "hashicorp" |
| repository = "crt-workflows-common" |
| workflow = "promote-staging-docker" |
| } |
| |
| notification { |
| on = "always" |
| } |
| } |
| |
| event "promote-staging-packaging" { |
| depends = ["promote-staging-docker"] |
| action "promote-staging-packaging" { |
| organization = "hashicorp" |
| repository = "crt-workflows-common" |
| workflow = "promote-staging-packaging" |
| } |
| |
| notification { |
| on = "always" |
| } |
| } |
| |
| event "trigger-production" { |
| // This event is dispatched by the bob trigger-promotion command |
| // and is required - do not delete. |
| } |
| |
| event "promote-production" { |
| depends = ["trigger-production"] |
| action "promote-production" { |
| organization = "hashicorp" |
| repository = "crt-workflows-common" |
| workflow = "promote-production" |
| } |
| |
| notification { |
| on = "always" |
| } |
| } |
| |
| event "promote-production-docker" { |
| depends = ["promote-production"] |
| action "promote-production-docker" { |
| organization = "hashicorp" |
| repository = "crt-workflows-common" |
| workflow = "promote-production-docker" |
| } |
| |
| notification { |
| on = "always" |
| } |
| } |
| |
| event "promote-production-packaging" { |
| depends = ["promote-production-docker"] |
| action "promote-production-packaging" { |
| organization = "hashicorp" |
| repository = "crt-workflows-common" |
| workflow = "promote-production-packaging" |
| } |
| |
| notification { |
| on = "always" |
| } |
| } |
| |
| // commenting the ironbank update for now until it is all set up on the Ironbank side |
| |
| // event "update-ironbank" { |
| // depends = ["promote-production-packaging"] |
| // action "update-ironbank" { |
| // organization = "hashicorp" |
| // repository = "crt-workflows-common" |
| // workflow = "update-ironbank" |
| // } |
| |
| // notification { |
| // on = "always" |
| // } |
| // } |
| |
| event "crt-hook-tfc-upload" { |
| // this will need to be changed back to update-ironbank once the Ironbank setup is done |
| depends = ["promote-production-packaging"] |
| action "crt-hook-tfc-upload" { |
| organization = "hashicorp" |
| repository = "terraform-releases" |
| workflow = "crt-hook-tfc-upload" |
| } |
| |
| notification { |
| on = "always" |
| } |
| } |