github.com/jasonkeene/cli@v6.14.1-0.20160816203908-ca5715166dfb+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 - publish-edge-archives 158 - publish-final-release 159 - name: images 160 jobs: 161 - create-cli-ci-image 162 163 jobs: 164 - name: units 165 serial: true 166 plan: 167 - aggregate: 168 - get: cli 169 trigger: true 170 - get: final-cli 171 - get: cli-ci 172 - aggregate: 173 - task: units-linux 174 file: cli-ci/ci/cli/tasks/units-linux.yml 175 on_failure: 176 put: slack-alert 177 params: 178 channel: '#cli-firehose' 179 text: "linux unit tests failed OR errored :(" 180 - task: units-osx 181 file: cli-ci/ci/cli/tasks/units-osx.yml 182 on_failure: 183 put: slack-alert 184 params: 185 channel: '#cli-firehose' 186 text: "osx unit tests failed OR errored :(" 187 - task: units-windows 188 file: cli-ci/ci/cli/tasks/units-windows.yml 189 on_failure: 190 put: slack-alert 191 params: 192 channel: '#cli-firehose' 193 text: "windows unit tests failed OR errored :(" 194 - task: lint 195 file: cli-ci/ci/cli/tasks/lint.yml 196 197 - name: build-binaries 198 serial: true 199 plan: 200 - aggregate: 201 - get: cli 202 trigger: true 203 passed: [units] 204 - get: final-cli 205 passed: [units] 206 - get: cli-ci 207 - aggregate: 208 - task: build 209 file: cli-ci/ci/cli/tasks/build-binaries.yml 210 on_failure: 211 put: slack-alert 212 params: 213 channel: '#cli-firehose' 214 text: "build binaries failed OR errored :(" 215 - task: build-osx 216 file: cli-ci/ci/cli/tasks/build-osx-binary.yml 217 on_failure: 218 put: slack-alert 219 params: 220 channel: '#cli-firehose' 221 text: "build osx binaries failed OR errored :(" 222 - task: sign-windows-binary 223 file: cli-ci/ci/cli/tasks/sign-windows-binary.yml 224 params: 225 SIGNTOOL_CERT_PATH: {{signtool-cert-path}} 226 SIGNTOOL_CERT_PASSWORD: {{signtool-cert-password}} 227 on_failure: 228 put: slack-alert 229 params: 230 channel: '#cli-firehose' 231 text: "signing binaries failed OR errored :(" 232 - task: combine-binaries 233 file: cli-ci/ci/cli/tasks/combine-binaries.yml 234 - put: cf-cli-binaries 235 params: 236 file: compiled/cf-cli-binaries.tgz 237 238 - name: gats 239 serial: true 240 plan: 241 - aggregate: 242 - get: cf-cli-binaries 243 trigger: true 244 passed: [build-binaries] 245 - get: final-cli 246 passed: [build-binaries] 247 - get: cli 248 passed: [build-binaries] 249 - get: cli-acceptance-tests 250 - get: cli-ci 251 - put: bosh-lite-lock 252 resource: bosh-lites-dea-pool 253 params: 254 acquire: true 255 - aggregate: 256 - do: 257 - task: linux 258 file: cli-ci/ci/cli/tasks/gats-linux.yml 259 - task: windows 260 file: cli-ci/ci/cli/tasks/gats-windows.yml 261 params: 262 ADMIN_USER: {{bosh-lite-admin-username}} 263 ADMIN_PASSWORD: {{bosh-lite-admin-password}} 264 on_failure: 265 put: slack-alert 266 params: 267 channel: '#cli-firehose' 268 text: "gats failed OR errored :(" 269 ensure: 270 put: bosh-lites-dea-pool 271 params: 272 release: bosh-lite-lock 273 274 - name: cats-linux 275 serial: true 276 plan: 277 - aggregate: 278 - get: final-cli 279 passed: [build-binaries] 280 - get: cli 281 passed: [build-binaries] 282 - get: cf-release-repo 283 params: 284 submodules: 285 - src/github.com/cloudfoundry/cf-acceptance-tests 286 - get: cf-cli-binaries 287 trigger: true 288 passed: [build-binaries] 289 - get: cli-ci 290 - put: bosh-lite-lock 291 resource: bosh-lites-dea-pool 292 params: 293 acquire: true 294 - aggregate: 295 - task: cats 296 file: cli-ci/ci/cli/tasks/cats-linux.yml 297 params: 298 BACKEND: dea 299 INCLUDE_DEFAULT: true 300 INCLUDE_INTERNET_DEPENDENT: true 301 INCLUDE_ROUTE_SERVICES: true 302 INCLUDE_SECURITY_GROUPS: true 303 on_failure: 304 put: slack-alert 305 params: 306 channel: '#cli-firehose' 307 text: "cats linux failed OR errored :(" 308 - task: cats-services 309 file: cli-ci/ci/cli/tasks/cats-linux.yml 310 params: 311 INCLUDE_SERVICES: true 312 on_failure: 313 put: slack-alert 314 params: 315 channel: '#cli-firehose' 316 text: "cats services linux failed OR errored :(" 317 ensure: 318 put: bosh-lites-dea-pool 319 params: 320 release: bosh-lite-lock 321 322 - name: cats-diego 323 serial: true 324 plan: 325 - aggregate: 326 - get: final-cli 327 passed: [build-binaries] 328 - get: cli 329 passed: [build-binaries] 330 - get: cf-release-repo 331 params: 332 submodules: 333 - src/github.com/cloudfoundry/cf-acceptance-tests 334 - get: cf-cli-binaries 335 trigger: true 336 passed: [build-binaries] 337 - get: cli-ci 338 - put: bosh-lite-lock 339 resource: bosh-lites-diego-pool 340 params: 341 acquire: true 342 - task: linux 343 file: cli-ci/ci/cli/tasks/cats-linux.yml 344 params: 345 BACKEND: diego 346 INCLUDE_DEFAULT: true 347 INCLUDE_BACKEND_COMPATIBILITY: true 348 INCLUDE_DIEGO_DOCKER: true 349 INCLUDE_DIEGO_SSH: true 350 INCLUDE_INTERNET_DEPENDENT: true 351 INCLUDE_ROUTE_SERVICES: true 352 INCLUDE_SECURITY_GROUPS: true 353 ensure: 354 put: bosh-lites-diego-pool 355 params: 356 release: bosh-lite-lock 357 on_failure: 358 put: slack-alert 359 params: 360 channel: '#cli-firehose' 361 text: "cats diego failed OR errored :(" 362 363 - name: cats-windows 364 serial: true 365 plan: 366 - aggregate: 367 - get: cf-cli-binaries 368 trigger: true 369 passed: [build-binaries] 370 - get: final-cli 371 passed: [build-binaries] 372 - get: cli 373 passed: [build-binaries] 374 - get: cf-release-repo 375 params: 376 submodules: 377 - src/github.com/cloudfoundry/cf-acceptance-tests 378 - get: cli-ci 379 - put: bosh-lite-lock 380 resource: bosh-lites-dea-pool 381 params: 382 acquire: true 383 - task: cats 384 file: cli-ci/ci/cli/tasks/cats-windows.yml 385 params: 386 ADMIN_USER: {{bosh-lite-admin-username}} 387 ADMIN_PASSWORD: {{bosh-lite-admin-password}} 388 ensure: 389 put: bosh-lites-dea-pool 390 params: 391 release: bosh-lite-lock 392 on_failure: 393 put: slack-alert 394 params: 395 channel: '#cli-firehose' 396 text: "cats windows failed OR errored :(" 397 398 - name: create-installers 399 serial: true 400 plan: 401 - aggregate: 402 - get: final-cli 403 passed: [cats-linux, cats-windows, cats-diego, gats] 404 - get: cli 405 passed: [cats-linux, cats-windows, cats-diego, gats] 406 - get: cf-cli-binaries 407 trigger: true 408 passed: [cats-linux, cats-windows, cats-diego, gats] 409 - get: cli-private 410 - get: cli-ci 411 - aggregate: 412 - do: 413 - task: windows 414 file: cli-ci/ci/cli/tasks/create-installers-windows.yml 415 params: 416 SIGNTOOL_CERT_PATH: {{signtool-cert-path}} 417 SIGNTOOL_CERT_PASSWORD: {{signtool-cert-password}} 418 - task: unix 419 file: cli-ci/ci/cli/tasks/create-installers.yml 420 on_failure: 421 put: slack-alert 422 params: 423 channel: '#cli-firehose' 424 text: "create installers failed OR errored :(" 425 - aggregate: 426 - put: cf-cli-installer-win32 427 params: 428 file: winstallers/cf-cli-installer_win32.zip 429 - put: cf-cli-installer-win64 430 params: 431 file: winstallers/cf-cli-installer_winx64.zip 432 - put: cf-cli-installers 433 params: 434 file: installers/cf-cli-installers.tgz 435 436 - name: publish-edge-archives 437 serial: true 438 plan: 439 - aggregate: 440 - get: cf-cli-binaries 441 trigger: true 442 passed: [create-installers] 443 - get: cli 444 passed: [create-installers] 445 - get: cf-cli-installers 446 passed: [create-installers] 447 - get: cf-cli-installer-win32 448 passed: [create-installers] 449 - get: cf-cli-installer-win64 450 passed: [create-installers] 451 - get: cli-ci 452 - task: publish 453 file: cli-ci/ci/cli/tasks/publish-edge-archives.yml 454 params: 455 AWS_ACCESS_KEY_ID: {{release-bucket-access-key-id}} 456 AWS_SECRET_ACCESS_KEY: {{release-bucket-secret-access-key}} 457 on_failure: 458 put: slack-alert 459 params: 460 channel: '#cli-firehose' 461 text: "publish edge archives failed OR errored :(" 462 - put: cf-cli-tracker 463 params: 464 repos: 465 - cli 466 467 - name: publish-final-release 468 serial: true 469 plan: 470 - aggregate: 471 - get: final-cli 472 trigger: true 473 passed: [create-installers] 474 - get: cf-cli-binaries 475 passed: [create-installers] 476 - get: cf-cli-installers 477 passed: [create-installers] 478 - get: cf-cli-installer-win32 479 passed: [create-installers] 480 - get: cf-cli-installer-win64 481 passed: [create-installers] 482 - get: cli-ci 483 - get: homebrew-tap 484 - task: publish 485 file: cli-ci/ci/cli/tasks/publish-final-release.yml 486 params: 487 AWS_ACCESS_KEY_ID: {{release-bucket-access-key-id}} 488 AWS_SECRET_ACCESS_KEY: {{release-bucket-secret-access-key}} 489 on_failure: 490 put: slack-alert 491 params: 492 channel: '#cli-firehose' 493 text: "publish final release failed OR errored :(" 494 - task: update-brew-formula 495 file: cli-ci/ci/cli/tasks/update-brew-formula.yml 496 on_failure: 497 put: slack-alert 498 params: 499 channel: '#cli-firehose' 500 text: "Update brew formula failed OR errored :(" 501 - put: homebrew-tap 502 params: 503 repository: update-brew-formula-output/homebrew-tap 504 505 - name: create-cli-ci-image 506 serial: true 507 plan: 508 - aggregate: 509 - get: cli-ci-dockerfile 510 trigger: true 511 - get: golang 512 trigger: true 513 params: {save: true} 514 - put: cf-cli-image 515 params: 516 load_base: golang 517 build: cli-ci-dockerfile/ci