github.com/randomtask1155/cli@v6.41.1-0.20181227003417-a98eed78cbde+incompatible/ci/cli-v7/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      - README.md
    20      - .github
    21  
    22  - name: cli-i18n
    23    type: git
    24    source:
    25      uri: https://github.com/cloudfoundry/cli-i18n
    26      branch: master
    27  
    28  - name: cli-ci
    29    type: git
    30    source:
    31      uri: https://github.com/cloudfoundry/cli
    32      branch: master
    33      paths: *ciPaths
    34  
    35  - name: homebrew-tap
    36    type: git
    37    source:
    38      uri: git@github.com:cloudfoundry/homebrew-tap
    39      private_key: ((homebrew-tap-github-private-key))
    40      branch: master
    41  
    42  - name: cli-integration
    43    type: git
    44    source:
    45      uri: https://github.com/cloudfoundry/cli
    46      branch: master
    47      paths:
    48      - api/cloudcontroller/ccversion
    49      - integration
    50  
    51  - name: cf-cli-binaries
    52    type: s3
    53    source:
    54      bucket: ((staging-bucket-name))
    55      access_key_id: ((cli-team-aws-s3-access-key-id))
    56      secret_access_key: ((cli-team-aws-s3-secret-access-key))
    57      versioned_file: "v7/cf-cli-binaries.tgz"
    58  
    59  - name: edge-linux-binary-32
    60    type: s3
    61    source:
    62      bucket: v7-cf-cli-releases
    63      access_key_id: ((cli-team-aws-s3-access-key-id))
    64      secret_access_key: ((cli-team-aws-s3-secret-access-key))
    65      versioned_file: master/cf7-cli_edge_linux_i686.tgz
    66      region_name: us-west-1
    67  
    68  - name: edge-linux-binary-64
    69    type: s3
    70    source:
    71      bucket: v7-cf-cli-releases
    72      access_key_id: ((cli-team-aws-s3-access-key-id))
    73      secret_access_key: ((cli-team-aws-s3-secret-access-key))
    74      versioned_file: master/cf7-cli_edge_linux_x86-64.tgz
    75      region_name: us-west-1
    76  
    77  - name: edge-osx-binary-64
    78    type: s3
    79    source:
    80      bucket: v7-cf-cli-releases
    81      access_key_id: ((cli-team-aws-s3-access-key-id))
    82      secret_access_key: ((cli-team-aws-s3-secret-access-key))
    83      versioned_file: master/cf7-cli_edge_osx.tgz
    84      region_name: us-west-1
    85  
    86  - name: edge-windows-binary-32
    87    type: s3
    88    source:
    89      bucket: v7-cf-cli-releases
    90      access_key_id: ((cli-team-aws-s3-access-key-id))
    91      secret_access_key: ((cli-team-aws-s3-secret-access-key))
    92      versioned_file: master/cf7-cli_edge_win32.zip
    93      region_name: us-west-1
    94  
    95  - name: edge-windows-binary-64
    96    type: s3
    97    source:
    98      bucket: v7-cf-cli-releases
    99      access_key_id: ((cli-team-aws-s3-access-key-id))
   100      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   101      versioned_file: master/cf7-cli_edge_winx64.zip
   102      region_name: us-west-1
   103  
   104  - name: edge-deb-installer-32
   105    type: s3
   106    source:
   107      bucket: v7-cf-cli-releases
   108      access_key_id: ((cli-team-aws-s3-access-key-id))
   109      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   110      versioned_file: master/cf7-cli-installer_edge_i686.deb
   111      region_name: us-west-1
   112  
   113  - name: edge-deb-installer-64
   114    type: s3
   115    source:
   116      bucket: v7-cf-cli-releases
   117      access_key_id: ((cli-team-aws-s3-access-key-id))
   118      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   119      versioned_file: master/cf7-cli-installer_edge_x86-64.deb
   120      region_name: us-west-1
   121  
   122  - name: edge-redhat-installer-32
   123    type: s3
   124    source:
   125      bucket: v7-cf-cli-releases
   126      access_key_id: ((cli-team-aws-s3-access-key-id))
   127      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   128      versioned_file: master/cf7-cli-installer_edge_i686.rpm
   129      region_name: us-west-1
   130  
   131  - name: edge-redhat-installer-64
   132    type: s3
   133    source:
   134      bucket: v7-cf-cli-releases
   135      access_key_id: ((cli-team-aws-s3-access-key-id))
   136      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   137      versioned_file: master/cf7-cli-installer_edge_x86-64.rpm
   138      region_name: us-west-1
   139  
   140  - name: edge-osx-installer-64
   141    type: s3
   142    source:
   143      bucket: v7-cf-cli-releases
   144      access_key_id: ((cli-team-aws-s3-access-key-id))
   145      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   146      versioned_file: master/cf7-cli-installer_edge_osx.pkg
   147      region_name: us-west-1
   148  
   149  - name: edge-windows-installer-32
   150    type: s3
   151    source:
   152      bucket: v7-cf-cli-releases
   153      access_key_id: ((cli-team-aws-s3-access-key-id))
   154      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   155      versioned_file: master/cf7-cli-installer_edge_win32.zip
   156      region_name: us-west-1
   157  
   158  - name: edge-windows-installer-64
   159    type: s3
   160    source:
   161      bucket: v7-cf-cli-releases
   162      access_key_id: ((cli-team-aws-s3-access-key-id))
   163      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   164      versioned_file: master/cf7-cli-installer_edge_winx64.zip
   165      region_name: us-west-1
   166  
   167  - name: gcp-bosh-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: mashed-potato
   174  
   175  - name: slack-alert
   176    type: slack-notification
   177    source:
   178      url: ((vat-slack-webhook-url))
   179  
   180  - name: vars-store
   181    type: git
   182    source:
   183      uri: git@github.com:cloudfoundry/cli-private
   184      private_key: ((cli-private-github-private-key))
   185      branch: master
   186  
   187  - name: bump-v7-version
   188    type: semver
   189    source:
   190      driver: git
   191      uri: git@github.com:cloudfoundry/cli
   192      branch: master
   193      file: BUILD_VERSION_V7
   194      private_key: ((vat-bump-version-github-private-key))
   195  
   196  # values for this already exist in last pass, blocked on
   197  # blocked on https://github.com/concourse/concourse/issues/1407
   198  - name: cf-cli-tracker
   199    type: tracker
   200    source:
   201      token: ((cf-cli-public-tracker-token))
   202      project_id: '2196383'
   203      tracker_url: https://www.pivotaltracker.com
   204  
   205  jobs:
   206  - name: units
   207    serial: true
   208    plan:
   209    - aggregate:
   210      - get: cli
   211        trigger: true
   212      - get: cli-ci
   213    - aggregate:
   214      - task: units-linux
   215        file: cli-ci/ci/cli-v7/tasks/units-linux.yml
   216        on_failure:
   217           put: slack-alert
   218           params:
   219             channel: '#v3-acceleration-team'
   220             text: |
   221               Linux unit tests failed :(
   222               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   223      - task: units-osx
   224        file: cli-ci/ci/cli-v7/tasks/units-osx.yml
   225        on_failure:
   226           put: slack-alert
   227           params:
   228             channel: '#v3-acceleration-team'
   229             text: |
   230               OS X unit tests failed :(
   231               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   232      - task: units-windows
   233        tags: [vat-windows]
   234        file: cli-ci/ci/cli-v7/tasks/units-windows.yml
   235        on_failure:
   236           put: slack-alert
   237           params:
   238             channel: '#v3-acceleration-team'
   239             text: |
   240               Windows unit tests failed :(
   241               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   242  
   243  - name: build-binaries
   244    serial: true
   245    plan:
   246    - aggregate:
   247      - get: cli
   248        trigger: true
   249        passed: [units]
   250      - get: cli-ci
   251      - get: cli-i18n
   252    - task: build-i18n
   253      file: cli-ci/ci/cli-v7/tasks/generate-i18n-resources.yml
   254      on_failure:
   255        put: slack-alert
   256        params:
   257          channel: '#v3-acceleration-team'
   258          text: |
   259            i18n generation failed :(
   260            $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   261    - aggregate:
   262      - task: build
   263        file: cli-ci/ci/cli-v7/tasks/build-binaries.yml
   264        on_failure:
   265          put: slack-alert
   266          params:
   267            channel: '#v3-acceleration-team'
   268            text: |
   269              build binaries failed :(
   270              $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   271      - task: build-osx
   272        file: cli-ci/ci/cli-v7/tasks/build-osx-binary.yml
   273        on_failure:
   274          put: slack-alert
   275          params:
   276            channel: '#v3-acceleration-team'
   277            text: |
   278              build OS X binaries failed :(
   279              $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   280    - task: combine-binaries
   281      file: cli-ci/ci/cli-v7/tasks/combine-binaries.yml
   282    - put: cf-cli-binaries
   283      params:
   284        file: compiled/cf-cli-binaries.tgz
   285  
   286  - name: integration-linux
   287    serial: true
   288    plan:
   289    - aggregate:
   290      - get: cli
   291        passed: [build-binaries]
   292      - get: cf-cli-binaries
   293        passed: [build-binaries]
   294        trigger: true
   295      - get: cli-ci
   296      - get: cli-integration
   297      - get: vars-store
   298      - put: bosh-lock
   299        resource: gcp-bosh-pool
   300        params:
   301          acquire: true
   302    - do:
   303      - task: cleanup-integration
   304        file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   305      - task: integration
   306        file: cli-ci/ci/cli-v7/tasks/integration-linux.yml
   307        on_failure:
   308          put: slack-alert
   309          params:
   310            channel: '#v3-acceleration-team'
   311            text: |
   312              :dr-seuss2: Linux integration failed :throwing-in-the-towel:
   313              :dancing-penguin: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   314        ensure:
   315          task: cleanup-integration
   316          file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   317        params: &integration_params
   318          CF_INT_CLIENT_ID: 'potato-face'
   319          CF_INT_CLIENT_SECRET: ((client-secret))
   320          CF_INT_DOCKER_IMAGE: ((dockerhub-private-image))
   321          CF_INT_DOCKER_USERNAME: ((dockerhub-username))
   322          CF_INT_DOCKER_PASSWORD: ((dockerhub-password))
   323          CF_INT_IGNORE_API_VERSION_CHECK: false
   324    ensure:
   325      put: gcp-bosh-pool
   326      params:
   327        release: bosh-lock
   328  
   329  - name: integration-windows
   330    serial: true
   331    plan:
   332    - aggregate:
   333      - get: cli
   334        passed: [build-binaries]
   335      - get: cf-cli-binaries
   336        passed: [build-binaries]
   337        trigger: true
   338      - get: cli-ci
   339      - get: cli-integration
   340      - get: vars-store
   341      - put: bosh-lock
   342        resource: gcp-bosh-pool
   343        params:
   344          acquire: true
   345    - do:
   346      - task: cleanup-integration
   347        file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   348      - task: integration
   349        tags: [vat-windows]
   350        file: cli-ci/ci/cli-v7/tasks/integration-windows.yml
   351        params:
   352          <<: *integration_params
   353        input_mapping:
   354          cf-credentials: cleanup-integration-outputs
   355        on_failure:
   356          put: slack-alert
   357          params:
   358            channel: '#v3-acceleration-team'
   359            text: |
   360              :dr-seuss2: Windows integration failed :throwing-in-the-towel:
   361              :win95: $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-v7/tasks/cleanup-integration.yml
   365    ensure:
   366      put: gcp-bosh-pool
   367      params:
   368        release: bosh-lock
   369  
   370  - name: integration-temporary-push
   371    serial: true
   372    plan:
   373    - aggregate:
   374      - get: cli
   375        passed: [integration-linux, integration-windows]
   376      - get: cf-cli-binaries
   377        passed: [integration-linux, integration-windows]
   378        trigger: true
   379      - get: cli-ci
   380      - get: cli-integration
   381      - get: vars-store
   382      - put: bosh-lock
   383        resource: gcp-bosh-pool
   384        params:
   385          acquire: true
   386    - do:
   387      - task: cleanup-integration
   388        file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   389      - task: integration
   390        file: cli-ci/ci/cli-v7/tasks/integration-linux.yml
   391        ensure:
   392          task: cleanup-integration
   393          file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   394        params:
   395          CF_INT_CLIENT_ID: 'potato-face'
   396          CF_INT_CLIENT_SECRET: ((client-secret))
   397          CF_INT_DOCKER_IMAGE: ((dockerhub-private-image))
   398          CF_INT_DOCKER_USERNAME: ((dockerhub-username))
   399          CF_INT_DOCKER_PASSWORD: ((dockerhub-password))
   400          CF_INT_IGNORE_API_VERSION_CHECK: false
   401          FLAKE_ATTEMPTS: 1
   402          TAGS: ''
   403    ensure:
   404      put: gcp-bosh-pool
   405      params:
   406        release: bosh-lock
   407  
   408  - name: create-installers
   409    serial: true
   410    plan:
   411    - aggregate:
   412      - get: cli
   413        passed: [integration-linux, integration-windows]
   414      - get: cf-cli-binaries
   415        passed: [integration-linux, integration-windows]
   416        trigger: true
   417      - get: cli-ci
   418    - task: extract-binaries
   419      file: cli-ci/ci/cli-v7/tasks/extract-binaries.yml
   420      on_failure:
   421         put: slack-alert
   422         params:
   423           channel: '#v3-acceleration-team'
   424           text: |
   425             extracting the binaries in installer creation failed :bart:
   426             $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   427    - aggregate:
   428      - task: unix
   429        file: cli-ci/ci/cli-v7/tasks/create-installers.yml
   430        on_failure:
   431           put: slack-alert
   432           params:
   433             channel: '#v3-acceleration-team'
   434             text: |
   435               :ubuntu: create unix installers failed :redhat:
   436               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   437      - task: windows
   438        tags: [vat-windows]
   439        file: cli-ci/ci/cli-v7/tasks/create-installers-windows.yml
   440        on_failure:
   441           put: slack-alert
   442           params:
   443             channel: '#v3-acceleration-team'
   444             text: |
   445               create windows installer failed :winc:
   446               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   447    - task: package-binaries
   448      file: cli-ci/ci/cli-v7/tasks/package-binaries.yml
   449      on_failure:
   450         put: slack-alert
   451         params:
   452           channel: '#v3-acceleration-team'
   453           text: |
   454             extracting the binaries in installer creation failed :package:
   455             $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   456    - aggregate:
   457      - put: edge-linux-binary-32
   458        params:
   459          file: archives/cf7-cli_edge_linux_i686.tgz
   460      - put: edge-linux-binary-64
   461        params:
   462          file: archives/cf7-cli_edge_linux_x86-64.tgz
   463      - put: edge-osx-binary-64
   464        params:
   465          file: archives/cf7-cli_edge_osx.tgz
   466      - put: edge-windows-binary-32
   467        params:
   468          file: archives/cf7-cli_edge_win32.zip
   469      - put: edge-windows-binary-64
   470        params:
   471          file: archives/cf7-cli_edge_winx64.zip
   472      - put: edge-deb-installer-32
   473        params:
   474          file: archives/cf7-cli-installer_i686.deb
   475      - put: edge-deb-installer-64
   476        params:
   477          file: archives/cf7-cli-installer_x86-64.deb
   478      - put: edge-redhat-installer-32
   479        params:
   480          file: archives/cf7-cli-installer_i686.rpm
   481      - put: edge-redhat-installer-64
   482        params:
   483          file: archives/cf7-cli-installer_x86-64.rpm
   484      - put: edge-osx-installer-64
   485        params:
   486          file: archives/cf7-cli-installer_osx.pkg
   487      - put: edge-windows-installer-32
   488        params:
   489          file: winstallers/cf7-cli-installer_win32.zip
   490      - put: edge-windows-installer-64
   491        params:
   492          file: winstallers/cf7-cli-installer_winx64.zip
   493  
   494  - name: create-beta-release
   495    serial: true
   496    plan:
   497    - aggregate:
   498      - get: cli
   499        passed: [create-installers]
   500      - get: cli-ci
   501      - get: edge-linux-binary-32
   502      - get: edge-linux-binary-64
   503      - get: edge-osx-binary-64
   504      - get: edge-windows-binary-32
   505      - get: edge-windows-binary-64
   506      - get: edge-deb-installer-32
   507      - get: edge-deb-installer-64
   508      - get: edge-redhat-installer-32
   509      - get: edge-redhat-installer-64
   510      - get: edge-osx-installer-64
   511    - task: create-release
   512      file: cli-ci/ci/cli-v7/tasks/create-release.yml
   513      params:
   514        AWS_ACCESS_KEY_ID: ((cli-team-aws-s3-access-key-id))
   515        AWS_SECRET_ACCESS_KEY: ((cli-team-aws-s3-secret-access-key))
   516  
   517  - name: publish-beta-release
   518    serial: true
   519    plan:
   520    - aggregate:
   521      - get: cli
   522        trigger: true
   523        passed: [create-beta-release]
   524      - get: cli-ci
   525      - get: edge-linux-binary-64
   526        passed: [create-beta-release]
   527    - aggregate:
   528      - task: claw.run.pivotal.io
   529        file: cli-ci/ci/cli-v7/tasks/update-claw.yml
   530        params:
   531          CF_API: ((cf-api))
   532          CF_USERNAME: ((cli-pws-client-id))
   533          CF_PASSWORD: ((cli-pws-client-secret))
   534          CF_ORGANIZATION: ((pivotal-organization))
   535          CF_SPACE: ((pivotal-space))
   536      - task: packages.cloudfoundry.org
   537        file: cli-ci/ci/cli-v7/tasks/update-claw.yml
   538        params:
   539          CF_API: ((cf-api))
   540          CF_USERNAME: ((cli-pws-client-id))
   541          CF_PASSWORD: ((cli-pws-client-secret))
   542          CF_ORGANIZATION: ((oss-organization))
   543          CF_SPACE: ((oss-space))
   544  
   545  - name: update-cf7-homebrew
   546    serial: true
   547    plan:
   548    - aggregate:
   549      - get: cli
   550        trigger: true
   551        passed: [publish-beta-release]
   552      - get: cli-ci
   553      - get: homebrew-tap
   554    - task: update-brew-formula
   555      file: cli-ci/ci/cli-v7/tasks/update-brew-formula.yml
   556    - put: homebrew-tap
   557      params:
   558        repository: update-brew-formula-output/homebrew-tap
   559  
   560  - name: bump-cli-v7-version
   561    serial: true
   562    plan:
   563    - aggregate:
   564      - get: cli
   565        passed: [create-beta-release]
   566        trigger: true
   567      - put: bump-v7-version
   568        params: {pre: beta}
   569  
   570  - name: deliver-stories
   571    serial: true
   572    plan:
   573    - get: cli
   574      passed:
   575      - integration-linux
   576      - integration-windows
   577      trigger: true
   578    - put: cf-cli-tracker
   579      params:
   580        repos:
   581        - cli
   582  
   583  - name: create-release-marker
   584    serial: true
   585    plan:
   586      - aggregate:
   587        - get: bump-v7-version
   588          passed: [bump-cli-v7-version]
   589          trigger: true
   590        - get: cli-ci
   591      - task: create-release-marker
   592        file: cli-ci/ci/cli-v7/tasks/create-release-marker.yml
   593        params:
   594          TRACKER_API_KEY: ((cf-cli-public-tracker-token))
   595          TRACKER_PROJECT_ID: ((vat-public-tracker-project-id))