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