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