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