github.com/jenspinney/cli@v6.42.1-0.20190207184520-7450c600020e+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: units-linux
   222        file: cli-ci/ci/cli-v7/tasks/units-linux.yml
   223        on_failure:
   224           put: slack-alert
   225           params:
   226             channel: '#v3-acceleration-team'
   227             text: |
   228               Linux unit tests failed :(
   229               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   230      - task: units-osx
   231        file: cli-ci/ci/cli-v7/tasks/units-osx.yml
   232        on_failure:
   233           put: slack-alert
   234           params:
   235             channel: '#v3-acceleration-team'
   236             text: |
   237               OS X 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-windows
   240        tags: [vat-windows]
   241        file: cli-ci/ci/cli-v7/tasks/units-windows.yml
   242        on_failure:
   243           put: slack-alert
   244           params:
   245             channel: '#v3-acceleration-team'
   246             text: |
   247               Windows unit tests failed :(
   248               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   249  
   250  - name: build-binaries
   251    serial: true
   252    plan:
   253    - aggregate:
   254      - get: cli
   255        trigger: true
   256        passed: [units]
   257      - get: cli-ci
   258      - get: cli-i18n
   259    - task: build-i18n
   260      file: cli-ci/ci/cli-v7/tasks/generate-i18n-resources.yml
   261      on_failure:
   262        put: slack-alert
   263        params:
   264          channel: '#v3-acceleration-team'
   265          text: |
   266            i18n generation failed :(
   267            $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   268    - aggregate:
   269      - task: build
   270        file: cli-ci/ci/cli-v7/tasks/build-binaries.yml
   271        on_failure:
   272          put: slack-alert
   273          params:
   274            channel: '#v3-acceleration-team'
   275            text: |
   276              build binaries failed :(
   277              $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   278      - task: build-osx
   279        file: cli-ci/ci/cli-v7/tasks/build-osx-binary.yml
   280        on_failure:
   281          put: slack-alert
   282          params:
   283            channel: '#v3-acceleration-team'
   284            text: |
   285              build OS X binaries failed :(
   286              $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   287    - task: combine-binaries
   288      file: cli-ci/ci/cli-v7/tasks/combine-binaries.yml
   289    - put: cf-cli-binaries
   290      params:
   291        file: compiled/cf-cli-binaries.tgz
   292  
   293  - name: integration-linux
   294    serial: true
   295    plan:
   296    - aggregate:
   297      - get: cli
   298        passed: [build-binaries]
   299      - get: cf-cli-binaries
   300        passed: [build-binaries]
   301        trigger: true
   302      - get: cli-ci
   303      - get: cli-integration
   304      - get: vars-store
   305      - put: bosh-lock
   306        resource: gcp-bosh-pool
   307        params:
   308          acquire: true
   309    - do:
   310      - task: cleanup-integration
   311        file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   312      - task: integration
   313        file: cli-ci/ci/cli-v7/tasks/integration-linux.yml
   314        on_failure:
   315          put: slack-alert
   316          params:
   317            channel: '#v3-acceleration-team'
   318            text: |
   319              :dr-seuss2: Linux integration failed :throwing-in-the-towel:
   320              :dancing-penguin: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   321        ensure:
   322          task: cleanup-integration
   323          file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   324        params: &integration_params
   325          CF_INT_CLIENT_ID: 'potato-face'
   326          CF_INT_CLIENT_SECRET: ((client-secret))
   327          CF_INT_DOCKER_IMAGE: ((dockerhub-private-image))
   328          CF_INT_DOCKER_USERNAME: ((dockerhub-username))
   329          CF_INT_DOCKER_PASSWORD: ((dockerhub-password))
   330          CF_INT_IGNORE_API_VERSION_CHECK: false
   331    ensure:
   332      put: gcp-bosh-pool
   333      params:
   334        release: bosh-lock
   335  
   336  - name: integration-windows
   337    serial: true
   338    plan:
   339    - aggregate:
   340      - get: cli
   341        passed: [build-binaries]
   342      - get: cf-cli-binaries
   343        passed: [build-binaries]
   344        trigger: true
   345      - get: cli-ci
   346      - get: cli-integration
   347      - get: vars-store
   348      - put: bosh-lock
   349        resource: gcp-bosh-pool
   350        params:
   351          acquire: true
   352    - do:
   353      - task: cleanup-integration
   354        file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   355      - task: integration
   356        tags: [vat-windows]
   357        file: cli-ci/ci/cli-v7/tasks/integration-windows.yml
   358        params:
   359          <<: *integration_params
   360        input_mapping:
   361          cf-credentials: cleanup-integration-outputs
   362        on_failure:
   363          put: slack-alert
   364          params:
   365            channel: '#v3-acceleration-team'
   366            text: |
   367              :dr-seuss2: Windows integration failed :throwing-in-the-towel:
   368              :win95: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   369        ensure:
   370          task: cleanup-integration
   371          file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   372    ensure:
   373      put: gcp-bosh-pool
   374      params:
   375        release: bosh-lock
   376  
   377  - name: integration-temporary-push
   378    serial: true
   379    plan:
   380    - aggregate:
   381      - get: cli
   382        passed: [integration-linux, integration-windows]
   383      - get: cf-cli-binaries
   384        passed: [integration-linux, integration-windows]
   385        trigger: true
   386      - get: cli-ci
   387      - get: cli-integration
   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-v7/tasks/cleanup-integration.yml
   396      - task: integration
   397        file: cli-ci/ci/cli-v7/tasks/integration-linux.yml
   398        ensure:
   399          task: cleanup-integration
   400          file: cli-ci/ci/cli-v7/tasks/cleanup-integration.yml
   401        params:
   402          CF_INT_CLIENT_ID: 'potato-face'
   403          CF_INT_CLIENT_SECRET: ((client-secret))
   404          CF_INT_DOCKER_IMAGE: ((dockerhub-private-image))
   405          CF_INT_DOCKER_USERNAME: ((dockerhub-username))
   406          CF_INT_DOCKER_PASSWORD: ((dockerhub-password))
   407          CF_INT_IGNORE_API_VERSION_CHECK: false
   408          FLAKE_ATTEMPTS: 1
   409          TAGS: ''
   410    ensure:
   411      put: gcp-bosh-pool
   412      params:
   413        release: bosh-lock
   414  
   415  - name: create-installers
   416    serial: true
   417    plan:
   418    - aggregate:
   419      - get: cli
   420        passed: [integration-linux, integration-windows]
   421      - get: cf-cli-binaries
   422        passed: [integration-linux, integration-windows]
   423        trigger: true
   424      - get: cli-ci
   425    - task: extract-binaries
   426      file: cli-ci/ci/cli-v7/tasks/extract-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 :bart:
   433             $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   434    - aggregate:
   435      - task: unix
   436        file: cli-ci/ci/cli-v7/tasks/create-installers.yml
   437        on_failure:
   438           put: slack-alert
   439           params:
   440             channel: '#v3-acceleration-team'
   441             text: |
   442               :ubuntu: create unix installers failed :redhat:
   443               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   444      - task: windows
   445        tags: [vat-windows]
   446        file: cli-ci/ci/cli-v7/tasks/create-installers-windows.yml
   447        on_failure:
   448           put: slack-alert
   449           params:
   450             channel: '#v3-acceleration-team'
   451             text: |
   452               create windows installer failed :winc:
   453               $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   454    - task: package-binaries
   455      file: cli-ci/ci/cli-v7/tasks/package-binaries.yml
   456      on_failure:
   457         put: slack-alert
   458         params:
   459           channel: '#v3-acceleration-team'
   460           text: |
   461             extracting the binaries in installer creation failed :package:
   462             $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   463    - aggregate:
   464      - put: edge-linux-binary-32
   465        params:
   466          file: archives/cf7-cli_edge_linux_i686.tgz
   467      - put: edge-linux-binary-64
   468        params:
   469          file: archives/cf7-cli_edge_linux_x86-64.tgz
   470      - put: edge-osx-binary-64
   471        params:
   472          file: archives/cf7-cli_edge_osx.tgz
   473      - put: edge-windows-binary-32
   474        params:
   475          file: archives/cf7-cli_edge_win32.zip
   476      - put: edge-windows-binary-64
   477        params:
   478          file: archives/cf7-cli_edge_winx64.zip
   479      - put: edge-deb-installer-32
   480        params:
   481          file: archives/cf7-cli-installer_i686.deb
   482      - put: edge-deb-installer-64
   483        params:
   484          file: archives/cf7-cli-installer_x86-64.deb
   485      - put: edge-redhat-installer-32
   486        params:
   487          file: archives/cf7-cli-installer_i686.rpm
   488      - put: edge-redhat-installer-64
   489        params:
   490          file: archives/cf7-cli-installer_x86-64.rpm
   491      - put: edge-osx-installer-64
   492        params:
   493          file: archives/cf7-cli-installer_osx.pkg
   494      - put: edge-windows-installer-32
   495        params:
   496          file: winstallers/cf7-cli-installer_win32.zip
   497      - put: edge-windows-installer-64
   498        params:
   499          file: winstallers/cf7-cli-installer_winx64.zip
   500  
   501  - name: create-beta-release
   502    serial: true
   503    plan:
   504    - aggregate:
   505      - get: cli
   506        passed: [create-installers]
   507      - get: cli-ci
   508      - get: edge-linux-binary-32
   509        passed: [create-installers]
   510      - get: edge-linux-binary-64
   511        passed: [create-installers]
   512      - get: edge-osx-binary-64
   513        passed: [create-installers]
   514      - get: edge-windows-binary-32
   515        passed: [create-installers]
   516      - get: edge-windows-binary-64
   517        passed: [create-installers]
   518      - get: edge-deb-installer-32
   519        passed: [create-installers]
   520      - get: edge-deb-installer-64
   521        passed: [create-installers]
   522      - get: edge-redhat-installer-32
   523        passed: [create-installers]
   524      - get: edge-redhat-installer-64
   525        passed: [create-installers]
   526      - get: edge-osx-installer-64
   527        passed: [create-installers]
   528    - task: create-release
   529      file: cli-ci/ci/cli-v7/tasks/create-release.yml
   530      params:
   531        AWS_ACCESS_KEY_ID: ((cli-team-aws-s3-access-key-id))
   532        AWS_SECRET_ACCESS_KEY: ((cli-team-aws-s3-secret-access-key))
   533  
   534  - name: publish-beta-release
   535    serial: true
   536    plan:
   537    - aggregate:
   538      - get: cli
   539        trigger: true
   540        passed: [create-beta-release]
   541      - get: cli-ci
   542      - get: cli-wiki
   543      - get: edge-linux-binary-64
   544        passed: [create-beta-release]
   545    - aggregate:
   546      - task: claw.run.pivotal.io
   547        file: cli-ci/ci/cli-v7/tasks/update-claw.yml
   548        params:
   549          CF_API: ((cf-api))
   550          CF_USERNAME: ((cli-pws-client-id))
   551          CF_PASSWORD: ((cli-pws-client-secret))
   552          CF_ORGANIZATION: ((pivotal-organization))
   553          CF_SPACE: ((pivotal-space))
   554      - task: packages.cloudfoundry.org
   555        file: cli-ci/ci/cli-v7/tasks/update-claw.yml
   556        params:
   557          CF_API: ((cf-api))
   558          CF_USERNAME: ((cli-pws-client-id))
   559          CF_PASSWORD: ((cli-pws-client-secret))
   560          CF_ORGANIZATION: ((oss-organization))
   561          CF_SPACE: ((oss-space))
   562      - do:
   563        - task: create-release-notes
   564          file: cli-ci/ci/cli-v7/tasks/create-release-notes.yml
   565        - put: cli-wiki
   566          params:
   567            repository: cli-wiki-output/cli-wiki
   568            rebase: true
   569  
   570  - name: update-cf7-homebrew
   571    serial: true
   572    plan:
   573    - aggregate:
   574      - get: cli
   575        trigger: true
   576        passed: [publish-beta-release]
   577      - get: cli-ci
   578      - get: homebrew-tap
   579    - task: update-brew-formula
   580      file: cli-ci/ci/cli-v7/tasks/update-brew-formula.yml
   581    - put: homebrew-tap
   582      params:
   583        repository: update-brew-formula-output/homebrew-tap
   584  
   585  - name: bump-cli-v7-version
   586    serial: true
   587    plan:
   588    - aggregate:
   589      - get: cli
   590        passed: [create-beta-release]
   591        trigger: true
   592      - put: bump-v7-version
   593        params: {pre: beta}
   594  
   595  - name: deliver-stories
   596    serial: true
   597    plan:
   598    - get: cli
   599      passed:
   600      - integration-linux
   601      - integration-windows
   602      trigger: true
   603    - put: cf-cli-tracker
   604      params:
   605        repos:
   606        - cli
   607  
   608  - name: create-release-marker
   609    serial: true
   610    plan:
   611      - aggregate:
   612        - get: bump-v7-version
   613          passed: [bump-cli-v7-version]
   614          trigger: true
   615        - get: cli-ci
   616      - task: create-release-marker
   617        file: cli-ci/ci/cli-v7/tasks/create-release-marker.yml
   618        params:
   619          TRACKER_API_KEY: ((cf-cli-public-tracker-token))
   620          TRACKER_PROJECT_ID: ((vat-public-tracker-project-id))