blob: 5f993bfaf9c6badc3d3139962d996a13d6a2c8d9 [file] [log] [blame]
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"
}
}