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