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