github.com/elopio/cli@v6.21.2-0.20160902224010-ea909d1fdb2f+incompatible/ci/cli/pipeline.yml (about) 1 --- 2 resource_types: 3 - name: slack-notification 4 type: docker-image 5 source: 6 repository: cfcommunity/slack-notification-resource 7 tag: latest 8 9 resources: 10 - name: cli 11 type: git 12 source: 13 uri: git@github.com:cloudfoundry/cli 14 private_key: {{cf-cli-eng-github-private-key}} 15 branch: master 16 ignore_paths: 17 - ci 18 19 - name: final-cli 20 type: git 21 source: 22 uri: git@github.com:cloudfoundry/cli 23 private_key: {{cf-cli-eng-github-private-key}} 24 branch: master 25 paths: 26 - VERSION 27 28 - name: cli-private 29 type: git 30 source: 31 uri: git@github.com:cloudfoundry/cli-private 32 private_key: {{cf-cli-eng-github-private-key}} 33 branch: master 34 35 - name: cli-ci 36 type: git 37 source: 38 uri: git@github.com:cloudfoundry/cli 39 private_key: {{cf-cli-eng-github-private-key}} 40 branch: master 41 paths: 42 - ci 43 44 - name: cli-acceptance-tests 45 type: git 46 source: 47 uri: git@github.com:cloudfoundry/cli-acceptance-tests 48 private_key: {{cf-cli-eng-github-private-key}} 49 branch: master 50 51 - name: cf-release-repo 52 type: git 53 source: 54 uri: git@github.com:cloudfoundry/cf-release 55 private_key: {{cf-cli-eng-github-private-key}} 56 branch: master 57 58 - name: homebrew-tap 59 type: git 60 source: 61 uri: git@github.com:cloudfoundry/homebrew-tap 62 private_key: {{homebrew-tap-github-private-key}} 63 branch: master 64 65 - name: cf-cli-binaries 66 type: s3 67 source: 68 bucket: {{staging-bucket-name}} 69 access_key_id: {{staging-bucket-access-key-id}} 70 secret_access_key: {{staging-bucket-secret-access-key}} 71 versioned_file: cf-cli-binaries.tgz 72 73 - name: cf-cli-installers 74 type: s3 75 source: 76 bucket: {{staging-bucket-name}} 77 access_key_id: {{staging-bucket-access-key-id}} 78 secret_access_key: {{staging-bucket-secret-access-key}} 79 versioned_file: cf-cli-installers.tgz 80 81 - name: cf-cli-installer-win32 82 type: s3 83 source: 84 bucket: {{staging-bucket-name}} 85 access_key_id: {{staging-bucket-access-key-id}} 86 secret_access_key: {{staging-bucket-secret-access-key}} 87 versioned_file: cf-cli-installer_win32.zip 88 89 - name: cf-cli-installer-win64 90 type: s3 91 source: 92 bucket: {{staging-bucket-name}} 93 access_key_id: {{staging-bucket-access-key-id}} 94 secret_access_key: {{staging-bucket-secret-access-key}} 95 versioned_file: cf-cli-installer_winx64.zip 96 97 - name: bosh-lites-dea-pool 98 type: pool 99 source: 100 uri: git@github.com:cloudfoundry/cli-pools 101 private_key: {{cli-pools-github-private-key}} 102 branch: master 103 pool: bosh-lites-dea 104 105 - name: bosh-lites-diego-pool 106 type: pool 107 source: 108 uri: git@github.com:cloudfoundry/cli-pools 109 private_key: {{cli-pools-github-private-key}} 110 branch: master 111 pool: bosh-lites-diego 112 113 - name: cf-cli-tracker 114 type: tracker 115 source: 116 token: {{cf-cli-public-tracker-token}} 117 project_id: {{cf-cli-public-tracker-project-id}} 118 tracker_url: https://www.pivotaltracker.com 119 120 - name: golang 121 type: docker-image 122 source: 123 repository: golang 124 tag: latest 125 126 - name: cli-ci-dockerfile 127 type: git 128 source: 129 uri: git@github.com:cloudfoundry/cli 130 private_key: {{cf-cli-eng-github-private-key}} 131 branch: master 132 paths: [ci/Dockerfile] 133 134 - name: cf-cli-image 135 type: docker-image 136 source: 137 repository: cloudfoundry/cli-ci 138 username: {{dockerhub-username}} 139 email: {{dockerhub-email}} 140 password: {{dockerhub-password}} 141 142 - name: slack-alert 143 type: slack-notification 144 source: 145 url: https://hooks.slack.com/services/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 146 147 groups: 148 - name: cli 149 jobs: 150 - units 151 - build-binaries 152 - gats 153 - cats-linux 154 - cats-diego 155 - cats-windows 156 - create-installers 157 - shipit 158 - publish-edge-archives 159 - publish-final-release 160 - name: images 161 jobs: 162 - create-cli-ci-image 163 164 jobs: 165 - name: units 166 serial: true 167 plan: 168 - aggregate: 169 - get: cli 170 trigger: true 171 - get: final-cli 172 - get: cli-ci 173 - aggregate: 174 - task: units-linux 175 file: cli-ci/ci/cli/tasks/units-linux.yml 176 on_failure: 177 put: slack-alert 178 params: 179 channel: '#cli-firehose' 180 text: "linux unit tests failed OR errored :(" 181 - task: units-osx 182 file: cli-ci/ci/cli/tasks/units-osx.yml 183 on_failure: 184 put: slack-alert 185 params: 186 channel: '#cli-firehose' 187 text: "osx unit tests failed OR errored :(" 188 - task: units-windows 189 file: cli-ci/ci/cli/tasks/units-windows.yml 190 on_failure: 191 put: slack-alert 192 params: 193 channel: '#cli-firehose' 194 text: "windows unit tests failed OR errored :(" 195 - task: lint 196 file: cli-ci/ci/cli/tasks/lint.yml 197 198 - name: build-binaries 199 serial: true 200 plan: 201 - aggregate: 202 - get: cli 203 trigger: true 204 passed: [units] 205 - get: final-cli 206 passed: [units] 207 - get: cli-ci 208 - aggregate: 209 - task: build 210 file: cli-ci/ci/cli/tasks/build-binaries.yml 211 on_failure: 212 put: slack-alert 213 params: 214 channel: '#cli-firehose' 215 text: "build binaries failed OR errored :(" 216 - task: build-osx 217 file: cli-ci/ci/cli/tasks/build-osx-binary.yml 218 on_failure: 219 put: slack-alert 220 params: 221 channel: '#cli-firehose' 222 text: "build osx binaries failed OR errored :(" 223 - task: sign-windows-binary 224 file: cli-ci/ci/cli/tasks/sign-windows-binary.yml 225 params: 226 SIGNTOOL_CERT_PATH: {{signtool-cert-path}} 227 SIGNTOOL_CERT_PASSWORD: {{signtool-cert-password}} 228 on_failure: 229 put: slack-alert 230 params: 231 channel: '#cli-firehose' 232 text: "signing binaries failed OR errored :(" 233 - task: combine-binaries 234 file: cli-ci/ci/cli/tasks/combine-binaries.yml 235 - put: cf-cli-binaries 236 params: 237 file: compiled/cf-cli-binaries.tgz 238 239 - name: gats 240 serial: true 241 plan: 242 - aggregate: 243 - get: cf-cli-binaries 244 trigger: true 245 passed: [build-binaries] 246 - get: final-cli 247 passed: [build-binaries] 248 - get: cli 249 passed: [build-binaries] 250 - get: cli-acceptance-tests 251 - get: cli-ci 252 - put: bosh-lite-lock 253 resource: bosh-lites-dea-pool 254 params: 255 acquire: true 256 - aggregate: 257 - do: 258 - task: linux 259 file: cli-ci/ci/cli/tasks/gats-linux.yml 260 - task: windows 261 file: cli-ci/ci/cli/tasks/gats-windows.yml 262 params: 263 ADMIN_USER: {{bosh-lite-admin-username}} 264 ADMIN_PASSWORD: {{bosh-lite-admin-password}} 265 on_failure: 266 put: slack-alert 267 params: 268 channel: '#cli-firehose' 269 text: "gats failed OR errored :(" 270 ensure: 271 put: bosh-lites-dea-pool 272 params: 273 release: bosh-lite-lock 274 275 - name: cats-linux 276 serial: true 277 plan: 278 - aggregate: 279 - get: final-cli 280 passed: [build-binaries] 281 - get: cli 282 passed: [build-binaries] 283 - get: cf-release-repo 284 params: 285 submodules: 286 - src/github.com/cloudfoundry/cf-acceptance-tests 287 - get: cf-cli-binaries 288 trigger: true 289 passed: [build-binaries] 290 - get: cli-ci 291 - put: bosh-lite-lock 292 resource: bosh-lites-dea-pool 293 params: 294 acquire: true 295 - aggregate: 296 - task: cats 297 file: cli-ci/ci/cli/tasks/cats-linux.yml 298 params: 299 BACKEND: dea 300 INCLUDE_DEFAULT: true 301 INCLUDE_INTERNET_DEPENDENT: true 302 INCLUDE_ROUTE_SERVICES: true 303 INCLUDE_SECURITY_GROUPS: true 304 on_failure: 305 put: slack-alert 306 params: 307 channel: '#cli-firehose' 308 text: "cats linux failed OR errored :(" 309 - task: cats-services 310 file: cli-ci/ci/cli/tasks/cats-linux.yml 311 params: 312 INCLUDE_SERVICES: true 313 on_failure: 314 put: slack-alert 315 params: 316 channel: '#cli-firehose' 317 text: "cats services linux failed OR errored :(" 318 ensure: 319 put: bosh-lites-dea-pool 320 params: 321 release: bosh-lite-lock 322 323 - name: cats-diego 324 serial: true 325 plan: 326 - aggregate: 327 - get: final-cli 328 passed: [build-binaries] 329 - get: cli 330 passed: [build-binaries] 331 - get: cf-release-repo 332 params: 333 submodules: 334 - src/github.com/cloudfoundry/cf-acceptance-tests 335 - get: cf-cli-binaries 336 trigger: true 337 passed: [build-binaries] 338 - get: cli-ci 339 - put: bosh-lite-lock 340 resource: bosh-lites-diego-pool 341 params: 342 acquire: true 343 - task: linux 344 file: cli-ci/ci/cli/tasks/cats-linux.yml 345 params: 346 BACKEND: diego 347 INCLUDE_DEFAULT: true 348 INCLUDE_BACKEND_COMPATIBILITY: true 349 INCLUDE_DIEGO_DOCKER: true 350 INCLUDE_DIEGO_SSH: true 351 INCLUDE_INTERNET_DEPENDENT: true 352 INCLUDE_ROUTE_SERVICES: true 353 INCLUDE_SECURITY_GROUPS: true 354 ensure: 355 put: bosh-lites-diego-pool 356 params: 357 release: bosh-lite-lock 358 on_failure: 359 put: slack-alert 360 params: 361 channel: '#cli-firehose' 362 text: "cats diego failed OR errored :(" 363 364 - name: cats-windows 365 serial: true 366 plan: 367 - aggregate: 368 - get: cf-cli-binaries 369 trigger: true 370 passed: [build-binaries] 371 - get: final-cli 372 passed: [build-binaries] 373 - get: cli 374 passed: [build-binaries] 375 - get: cf-release-repo 376 params: 377 submodules: 378 - src/github.com/cloudfoundry/cf-acceptance-tests 379 - get: cli-ci 380 - put: bosh-lite-lock 381 resource: bosh-lites-dea-pool 382 params: 383 acquire: true 384 - task: cats 385 file: cli-ci/ci/cli/tasks/cats-windows.yml 386 params: 387 ADMIN_USER: {{bosh-lite-admin-username}} 388 ADMIN_PASSWORD: {{bosh-lite-admin-password}} 389 ensure: 390 put: bosh-lites-dea-pool 391 params: 392 release: bosh-lite-lock 393 on_failure: 394 put: slack-alert 395 params: 396 channel: '#cli-firehose' 397 text: "cats windows failed OR errored :(" 398 399 - name: create-installers 400 serial: true 401 plan: 402 - aggregate: 403 - get: final-cli 404 passed: [cats-linux, cats-windows, cats-diego, gats] 405 - get: cli 406 passed: [cats-linux, cats-windows, cats-diego, gats] 407 - get: cf-cli-binaries 408 trigger: true 409 passed: [cats-linux, cats-windows, cats-diego, gats] 410 - get: cli-private 411 - get: cli-ci 412 - aggregate: 413 - do: 414 - task: windows 415 file: cli-ci/ci/cli/tasks/create-installers-windows.yml 416 params: 417 SIGNTOOL_CERT_PATH: {{signtool-cert-path}} 418 SIGNTOOL_CERT_PASSWORD: {{signtool-cert-password}} 419 - task: unix 420 file: cli-ci/ci/cli/tasks/create-installers.yml 421 on_failure: 422 put: slack-alert 423 params: 424 channel: '#cli-firehose' 425 text: "create installers failed OR errored :(" 426 - aggregate: 427 - put: cf-cli-installer-win32 428 params: 429 file: winstallers/cf-cli-installer_win32.zip 430 - put: cf-cli-installer-win64 431 params: 432 file: winstallers/cf-cli-installer_winx64.zip 433 - put: cf-cli-installers 434 params: 435 file: installers/cf-cli-installers.tgz 436 437 - name: publish-edge-archives 438 serial: true 439 plan: 440 - aggregate: 441 - get: cf-cli-binaries 442 trigger: true 443 passed: [create-installers] 444 - get: cli 445 passed: [create-installers] 446 - get: cf-cli-installers 447 passed: [create-installers] 448 - get: cf-cli-installer-win32 449 passed: [create-installers] 450 - get: cf-cli-installer-win64 451 passed: [create-installers] 452 - get: cli-ci 453 - task: publish 454 file: cli-ci/ci/cli/tasks/publish-edge-archives.yml 455 params: 456 AWS_ACCESS_KEY_ID: {{release-bucket-access-key-id}} 457 AWS_SECRET_ACCESS_KEY: {{release-bucket-secret-access-key}} 458 on_failure: 459 put: slack-alert 460 params: 461 channel: '#cli-firehose' 462 text: "publish edge archives failed OR errored :(" 463 - put: cf-cli-tracker 464 params: 465 repos: 466 - cli 467 468 - name: shipit 469 serial: true 470 plan: 471 - aggregate: 472 - get: final-cli 473 trigger: true 474 passed: [create-installers] 475 - get: cli 476 passed: [create-installers] 477 - get: cf-cli-binaries 478 passed: [create-installers] 479 - get: cf-cli-installers 480 passed: [create-installers] 481 - get: cf-cli-installer-win32 482 passed: [create-installers] 483 - get: cf-cli-installer-win64 484 passed: [create-installers] 485 486 - name: publish-final-release 487 serial: true 488 plan: 489 - aggregate: 490 - get: final-cli 491 trigger: true 492 passed: [shipit] 493 - get: cli 494 passed: [shipit] 495 - get: cf-cli-binaries 496 passed: [shipit] 497 - get: cf-cli-installers 498 passed: [shipit] 499 - get: cf-cli-installer-win32 500 passed: [shipit] 501 - get: cf-cli-installer-win64 502 passed: [shipit] 503 - get: cli-ci 504 - get: homebrew-tap 505 - get: cli-private 506 - task: publish 507 file: cli-ci/ci/cli/tasks/publish-final-release.yml 508 params: 509 AWS_ACCESS_KEY_ID: {{release-bucket-access-key-id}} 510 AWS_SECRET_ACCESS_KEY: {{release-bucket-secret-access-key}} 511 on_failure: 512 put: slack-alert 513 params: 514 channel: '#cli-firehose' 515 text: "publish final release failed OR errored :(" 516 - task: update-brew-formula 517 file: cli-ci/ci/cli/tasks/update-brew-formula.yml 518 on_failure: 519 put: slack-alert 520 params: 521 channel: '#cli-firehose' 522 text: "Update brew formula failed OR errored :(" 523 - put: homebrew-tap 524 params: 525 repository: update-brew-formula-output/homebrew-tap 526 - task: publish-debian 527 file: cli-ci/ci/cli/tasks/publish-debian.yml 528 params: 529 GPG_KEY: {{gpg_key}} 530 KEY_ID: {{gpg_key_id}} 531 AWS_SECRET_ACCESS_KEY: {{debian_secret_access_key}} 532 AWS_ACCESS_KEY_ID: {{debian_access_key_id}} 533 534 - name: create-cli-ci-image 535 serial: true 536 plan: 537 - aggregate: 538 - get: cli-ci-dockerfile 539 trigger: true 540 - get: golang 541 trigger: true 542 params: {save: true} 543 - put: cf-cli-image 544 params: 545 load_base: golang 546 build: cli-ci-dockerfile/ci