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