265 lines
5.0 KiB
HCL
265 lines
5.0 KiB
HCL
schema = "1"
|
|
|
|
project "consul" {
|
|
team = "consul core"
|
|
slack {
|
|
# feed-consul-ci
|
|
notification_channel = "C9KPKPKRN"
|
|
}
|
|
github {
|
|
organization = "hashicorp"
|
|
repository = "consul"
|
|
release_branches = [
|
|
"main",
|
|
"release/**",
|
|
]
|
|
}
|
|
}
|
|
|
|
event "build" {
|
|
depends = ["merge"]
|
|
action "build" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "build"
|
|
}
|
|
}
|
|
|
|
event "upload-dev" {
|
|
depends = ["build"]
|
|
action "upload-dev" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "upload-dev"
|
|
depends = ["build"]
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "security-scan-binaries" {
|
|
depends = ["upload-dev"]
|
|
action "security-scan-binaries" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "security-scan-binaries"
|
|
config = "security-scan.hcl"
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "security-scan-containers" {
|
|
depends = ["security-scan-binaries"]
|
|
action "security-scan-containers" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "security-scan-containers"
|
|
config = "security-scan.hcl"
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "notarize-darwin-amd64" {
|
|
depends = ["security-scan-containers"]
|
|
action "notarize-darwin-amd64" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "notarize-darwin-amd64"
|
|
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "notarize-darwin-arm64" {
|
|
depends = ["notarize-darwin-amd64"]
|
|
action "notarize-darwin-arm64" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "notarize-darwin-arm64"
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "notarize-windows-386" {
|
|
depends = ["notarize-darwin-arm64"]
|
|
action "notarize-windows-386" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "notarize-windows-386"
|
|
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "notarize-windows-amd64" {
|
|
depends = ["notarize-windows-386"]
|
|
action "notarize-windows-amd64" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "notarize-windows-amd64"
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "sign" {
|
|
depends = ["notarize-windows-amd64"]
|
|
action "sign" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "sign"
|
|
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "sign-linux-rpms" {
|
|
depends = ["sign"]
|
|
action "sign-linux-rpms" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "sign-linux-rpms"
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "verify" {
|
|
depends = ["sign-linux-rpms"]
|
|
action "verify" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "verify"
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "promote-dev-docker" {
|
|
depends = ["verify"]
|
|
action "promote-dev-docker" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "promote-dev-docker"
|
|
depends = ["verify"]
|
|
}
|
|
|
|
notification {
|
|
on = "fail"
|
|
}
|
|
}
|
|
|
|
event "fossa-scan" {
|
|
depends = ["promote-dev-docker"]
|
|
action "fossa-scan" {
|
|
organization = "hashicorp"
|
|
repository = "crt-workflows-common"
|
|
workflow = "fossa-scan"
|
|
}
|
|
}
|
|
|
|
## 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 "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"
|
|
}
|
|
}
|