github.com/cloudfoundry-attic/cli-with-i18n@v6.32.1-0.20171002233121-7401370d3b85+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
   239    - cats
   240    - integration-experimental
   241    - create-installers
   242  - name: images
   243    jobs:
   244    - create-cli-base-image
   245    - create-cli-package-image
   246  
   247  jobs:
   248  - name: units
   249    serial: true
   250    plan:
   251    - aggregate:
   252      - get: cli
   253        trigger: true
   254      - get: cli-ci
   255    - aggregate:
   256      - task: units-linux
   257        file: cli-ci/ci/cli/tasks/units-linux.yml
   258        on_failure:
   259           put: slack-alert
   260           params:
   261             channel: '#cli-firehose'
   262             text: "linux unit tests failed :("
   263      - task: units-osx
   264        file: cli-ci/ci/cli/tasks/units-osx.yml
   265        on_failure:
   266           put: slack-alert
   267           params:
   268             channel: '#cli-firehose'
   269             text: "osx unit tests failed :("
   270      - task: units-windows
   271        file: cli-ci/ci/cli/tasks/units-windows.yml
   272        on_failure:
   273           put: slack-alert
   274           params:
   275             channel: '#cli-firehose'
   276             text: "windows unit tests failed :("
   277  
   278  - name: build-binaries
   279    serial: true
   280    plan:
   281    - aggregate:
   282      - get: cli
   283        trigger: true
   284        passed: [units]
   285      - get: cli-ci
   286      - get: cli-i18n
   287    - task: build-i18n
   288      file: cli-ci/ci/cli/tasks/generate-i18n-resources.yml
   289      on_failure:
   290         put: slack-alert
   291         params:
   292           channel: '#cli-firehose'
   293           text: "build i18n failed :("
   294    - aggregate:
   295      - task: build
   296        file: cli-ci/ci/cli/tasks/build-binaries.yml
   297        on_failure:
   298           put: slack-alert
   299           params:
   300             channel: '#cli-firehose'
   301             text: "build binaries failed :("
   302      - task: build-osx
   303        file: cli-ci/ci/cli/tasks/build-osx-binary.yml
   304        on_failure:
   305           put: slack-alert
   306           params:
   307             channel: '#cli-firehose'
   308             text: "build osx binaries failed :("
   309    - task: combine-binaries
   310      file: cli-ci/ci/cli/tasks/combine-binaries.yml
   311    - put: cf-cli-binaries
   312      params:
   313        file: compiled/cf-cli-binaries.tgz
   314  
   315  - name: integration
   316    serial: true
   317    plan:
   318    - aggregate:
   319      - get: cli
   320        passed: [build-binaries]
   321      - get: cf-cli-binaries
   322        passed: [build-binaries]
   323        trigger: true
   324      - get: cli-ci
   325      - get: cli-integration
   326      - get: vars-store
   327      - put: bosh-lite-lock
   328        resource: gcp-bosh-pool
   329        params:
   330          acquire: true
   331    - do:
   332      - task: cleanup-integration
   333        file: cli-ci/ci/cli/tasks/cleanup-integration.yml
   334      - task: integration-linux
   335        file: cli-ci/ci/cli/tasks/integration-linux.yml
   336        on_failure:
   337          put: slack-alert
   338          params:
   339            channel: '#cli-firehose'
   340            text: "linux integration failed :("
   341        ensure:
   342          task: cleanup-integration
   343          file: cli-ci/ci/cli/tasks/cleanup-integration.yml
   344        params:
   345          CF_INT_DOCKER_IMAGE: {{dockerhub-private-image}}
   346          CF_INT_DOCKER_USERNAME: {{dockerhub-username}}
   347          CF_INT_DOCKER_PASSWORD: {{dockerhub-password}}
   348      - task: integration-windows
   349        file: cli-ci/ci/cli/tasks/integration-windows.yml
   350        input_mapping:
   351          cf-credentials: cleanup-integration-outputs
   352        on_failure:
   353          put: slack-alert
   354          params:
   355            channel: '#cli-firehose'
   356            text: "windows integration failed :("
   357        ensure:
   358          task: cleanup-integration
   359          file: cli-ci/ci/cli/tasks/cleanup-integration.yml
   360        params:
   361          CF_INT_DOCKER_IMAGE: {{dockerhub-private-image}}
   362          CF_INT_DOCKER_USERNAME: {{dockerhub-username}}
   363          CF_INT_DOCKER_PASSWORD: {{dockerhub-password}}
   364    ensure:
   365      put: gcp-bosh-pool
   366      params:
   367        release: bosh-lite-lock
   368  
   369  - name: cats
   370    serial: true
   371    plan:
   372    - aggregate:
   373      - get: cli
   374        passed: [build-binaries]
   375      - get: cf-acceptance-tests
   376      - get: cf-cli-binaries
   377        passed: [build-binaries]
   378        trigger: true
   379      - get: cli-ci
   380      - get: vars-store
   381      - put: bosh-lite-lock
   382        resource: gcp-bosh-pool
   383        params:
   384          acquire: true
   385    - do:
   386      - task: cleanup-integration
   387        file: cli-ci/ci/cli/tasks/cleanup-integration.yml
   388      - task: config
   389        file: cli-ci/ci/cli/tasks/cats-config.yml
   390        params:
   391          INCLUDE_V3: false
   392          BROKER_START_TIMEOUT: 330
   393          CF_PUSH_TIMEOUT: 210
   394          DEFAULT_TIMEOUT: 60
   395          LONG_CURL_TIMEOUT: 210
   396      - task: windows
   397        file: cli-ci/ci/cli/tasks/cats-windows.yml
   398        params:
   399          NODES: 16
   400        on_failure:
   401           put: slack-alert
   402           params:
   403             channel: '#cli-firehose'
   404             text: "cats windows failed :("
   405      - task: linux
   406        file: cli-ci/ci/cli/tasks/cats-linux.yml
   407        params:
   408          BACKEND: diego
   409          NODES: 16
   410        on_failure:
   411          put: slack-alert
   412          params:
   413            channel: '#cli-firehose'
   414            text: "cats linux failed :("
   415    ensure:
   416      put: gcp-bosh-pool
   417      params:
   418        release: bosh-lite-lock
   419  
   420  - name: integration-experimental
   421    serial: true
   422    plan:
   423    - aggregate:
   424      - get: cli
   425        passed: [cats, integration]
   426      - get: cf-cli-binaries
   427        passed: [cats]
   428        trigger: true
   429      - get: cli-ci
   430      - get: vars-store
   431      - put: bosh-lite-lock
   432        resource: gcp-bosh-pool
   433        params:
   434          acquire: true
   435    - do:
   436      - task: cleanup-integration
   437        file: cli-ci/ci/cli/tasks/cleanup-integration.yml
   438      - task: integration-windows
   439        file: cli-ci/ci/cli/tasks/integration-experimental-windows.yml
   440        input_mapping:
   441          cf-credentials: cleanup-integration-outputs
   442        on_failure:
   443          put: slack-alert
   444          params:
   445            channel: '#cli-firehose'
   446            text: "windows integration-experimental failed :("
   447        ensure:
   448          task: cleanup-integration
   449          file: cli-ci/ci/cli/tasks/cleanup-integration.yml
   450        params:
   451          CF_INT_DOCKER_IMAGE: {{dockerhub-private-image}}
   452          CF_INT_DOCKER_USERNAME: {{dockerhub-username}}
   453          CF_INT_DOCKER_PASSWORD: {{dockerhub-password}}
   454      - task: integration-linux
   455        file: cli-ci/ci/cli/tasks/integration-experimental-linux.yml
   456        on_failure:
   457          put: slack-alert
   458          params:
   459            channel: '#cli-firehose'
   460            text: "linux integration-experimental failed :("
   461        ensure:
   462          task: cleanup-integration
   463          file: cli-ci/ci/cli/tasks/cleanup-integration.yml
   464        params:
   465          CF_INT_DOCKER_IMAGE: {{dockerhub-private-image}}
   466          CF_INT_DOCKER_USERNAME: {{dockerhub-username}}
   467          CF_INT_DOCKER_PASSWORD: {{dockerhub-password}}
   468    ensure:
   469      put: gcp-bosh-pool
   470      params:
   471        release: bosh-lite-lock
   472  
   473  - name: create-installers
   474    serial: true
   475    plan:
   476    - aggregate:
   477      - get: cli
   478        passed: [cats, integration]
   479      - get: cf-cli-binaries
   480        passed: [cats, integration]
   481        trigger: true
   482      - get: cli-ci
   483    - task: extract-binaries
   484      file: cli-ci/ci/cli/tasks/extract-binaries.yml
   485      on_failure:
   486         put: slack-alert
   487         params:
   488           channel: '#cli-firehose'
   489           text: "extracting the binaries in installer creation failed :("
   490    - aggregate:
   491      - task: unix
   492        file: cli-ci/ci/cli/tasks/create-installers.yml
   493        on_failure:
   494           put: slack-alert
   495           params:
   496             channel: '#cli-firehose'
   497             text: "create unix installers failed :("
   498      - task: windows
   499        file: cli-ci/ci/cli/tasks/create-installers-windows.yml
   500        on_failure:
   501           put: slack-alert
   502           params:
   503             channel: '#cli-firehose'
   504             text: "create windows installer failed :("
   505    - task: package-binaries
   506      file: cli-ci/ci/cli/tasks/package-binaries.yml
   507      on_failure:
   508         put: slack-alert
   509         params:
   510           channel: '#cli-firehose'
   511           text: "extracting the binaries in installer creation failed :("
   512    - aggregate:
   513      - put: edge-linux-binary-32
   514        params:
   515          file: archives/cf-cli_edge_linux_i686.tgz
   516      - put: edge-linux-binary-64
   517        params:
   518          file: archives/cf-cli_edge_linux_x86-64.tgz
   519      - put: edge-osx-binary-64
   520        params:
   521          file: archives/cf-cli_edge_osx.tgz
   522      - put: edge-windows-binary-32
   523        params:
   524          file: archives/cf-cli_edge_win32.zip
   525      - put: edge-windows-binary-64
   526        params:
   527          file: archives/cf-cli_edge_winx64.zip
   528      - put: edge-deb-installer-32
   529        params:
   530          file: archives/cf-cli-installer_i686.deb
   531      - put: edge-deb-installer-64
   532        params:
   533          file: archives/cf-cli-installer_x86-64.deb
   534      - put: edge-redhat-installer-32
   535        params:
   536          file: archives/cf-cli-installer_i686.rpm
   537      - put: edge-redhat-installer-64
   538        params:
   539          file: archives/cf-cli-installer_x86-64.rpm
   540      - put: edge-osx-installer-64
   541        params:
   542          file: archives/cf-cli-installer_osx.pkg
   543      - put: edge-windows-installer-32
   544        params:
   545          file: winstallers/cf-cli-installer_win32.zip
   546      - put: edge-windows-installer-64
   547        params:
   548          file: winstallers/cf-cli-installer_winx64.zip
   549      - put: cf-cli-tracker
   550        params:
   551          repos:
   552          - cli
   553  
   554  - name: create-cli-base-image
   555    serial: true
   556    plan:
   557    - aggregate:
   558      - get: cli-ci-base-dockerfile
   559        trigger: true
   560      - get: golang
   561        trigger: true
   562        params: {save: true}
   563    - put: cf-cli-base-image
   564      params:
   565        load_base: golang
   566        build: cli-ci-base-dockerfile/ci/cli-base
   567  
   568  - name: create-cli-package-image
   569    serial: true
   570    plan:
   571    - aggregate:
   572      - get: cli-ci-package-dockerfile
   573        trigger: true
   574      - get: baseimage
   575        trigger: true
   576        params: {save: true}
   577    - put: cf-cli-package-image
   578      params:
   579        load_base: baseimage
   580        build: cli-ci-package-dockerfile/ci/cli-package