github.com/franc20/ayesa_sap@v7.0.0-beta.28.0.20200124003224-302d4d52fa6c+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  - name: terraform
    10    type: docker-image
    11    source:
    12      repository: ljfranklin/terraform-resource
    13      tag: latest
    14  
    15  - name: bosh-deployment
    16    type: docker-image
    17    source:
    18      repository: cloudfoundry/bosh-deployment-resource
    19  
    20  resources:
    21  - name: terraform
    22    type: terraform
    23    source:
    24      backend_type: gcs
    25      backend_config:
    26        bucket: ((bosh-lite-storage-bucket))
    27        prefix: on_demand_terraform_state_files/
    28        credentials: ((bosh-lite-gcp-json-key))
    29  - name: capi-ci
    30    type: git
    31    source:
    32      branch: master
    33      uri: https://github.com/cloudfoundry/capi-ci
    34  
    35  - name: bosh-deployment
    36    type: git
    37    source:
    38      branch: master
    39      uri: https://github.com/cloudfoundry/bosh-deployment
    40  
    41  - name: cf-deploy
    42    type: bosh-deployment
    43    source:
    44      skip_check: true
    45  
    46  - name: cf-deployment
    47    type: git
    48    source:
    49      uri: https://github.com/cloudfoundry/cf-deployment
    50      tag_filter: v*
    51  
    52  - name: cli
    53    type: git
    54    icon: console
    55    source:
    56      uri: https://github.com/cloudfoundry/cli
    57      branch: master
    58  
    59  - name: cli-i18n
    60    type: git
    61    source:
    62      uri: https://github.com/cloudfoundry/cli-i18n
    63      branch: master
    64  
    65  - name: cf-cli-binaries
    66    type: s3
    67    icon: folder
    68    source:
    69      bucket: ((staging-bucket-name))
    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: "v7/cf-cli-binaries.tgz"
    73  
    74  - name: edge-capi-release
    75    type: s3
    76    source:
    77      bucket: capi-releases
    78      regexp: capi-(.*)-.*-.*.tgz
    79  
    80  - name: edge-linux-binary-32
    81    type: s3
    82    source:
    83      bucket: v7-cf-cli-releases
    84      access_key_id: ((cli-team-aws-s3-access-key-id))
    85      secret_access_key: ((cli-team-aws-s3-secret-access-key))
    86      versioned_file: master/cf7-cli_edge_linux_i686.tgz
    87      region_name: us-west-1
    88  
    89  - name: edge-linux-binary-64
    90    type: s3
    91    source:
    92      bucket: v7-cf-cli-releases
    93      access_key_id: ((cli-team-aws-s3-access-key-id))
    94      secret_access_key: ((cli-team-aws-s3-secret-access-key))
    95      versioned_file: master/cf7-cli_edge_linux_x86-64.tgz
    96      region_name: us-west-1
    97  
    98  - name: edge-osx-binary-64
    99    type: s3
   100    source:
   101      bucket: v7-cf-cli-releases
   102      access_key_id: ((cli-team-aws-s3-access-key-id))
   103      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   104      versioned_file: master/cf7-cli_edge_osx.tgz
   105      region_name: us-west-1
   106  
   107  - name: edge-windows-binary-32
   108    type: s3
   109    source:
   110      bucket: v7-cf-cli-releases
   111      access_key_id: ((cli-team-aws-s3-access-key-id))
   112      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   113      versioned_file: master/cf7-cli_edge_win32.zip
   114      region_name: us-west-1
   115  
   116  - name: edge-windows-binary-64
   117    type: s3
   118    source:
   119      bucket: v7-cf-cli-releases
   120      access_key_id: ((cli-team-aws-s3-access-key-id))
   121      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   122      versioned_file: master/cf7-cli_edge_winx64.zip
   123      region_name: us-west-1
   124  
   125  - name: edge-deb-installer-32
   126    type: s3
   127    source:
   128      bucket: v7-cf-cli-releases
   129      access_key_id: ((cli-team-aws-s3-access-key-id))
   130      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   131      versioned_file: master/cf7-cli-installer_edge_i686.deb
   132      region_name: us-west-1
   133  
   134  - name: edge-deb-installer-64
   135    type: s3
   136    source:
   137      bucket: v7-cf-cli-releases
   138      access_key_id: ((cli-team-aws-s3-access-key-id))
   139      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   140      versioned_file: master/cf7-cli-installer_edge_x86-64.deb
   141      region_name: us-west-1
   142  
   143  - name: edge-redhat-installer-32
   144    type: s3
   145    source:
   146      bucket: v7-cf-cli-releases
   147      access_key_id: ((cli-team-aws-s3-access-key-id))
   148      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   149      versioned_file: master/cf7-cli-installer_edge_i686.rpm
   150      region_name: us-west-1
   151  
   152  - name: edge-redhat-installer-64
   153    type: s3
   154    source:
   155      bucket: v7-cf-cli-releases
   156      access_key_id: ((cli-team-aws-s3-access-key-id))
   157      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   158      versioned_file: master/cf7-cli-installer_edge_x86-64.rpm
   159      region_name: us-west-1
   160  
   161  - name: edge-osx-installer-64
   162    type: s3
   163    source:
   164      bucket: v7-cf-cli-releases
   165      access_key_id: ((cli-team-aws-s3-access-key-id))
   166      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   167      versioned_file: master/cf7-cli-installer_edge_osx.pkg
   168      region_name: us-west-1
   169  
   170  - name: edge-windows-installer-32
   171    type: s3
   172    source:
   173      bucket: v7-cf-cli-releases
   174      access_key_id: ((cli-team-aws-s3-access-key-id))
   175      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   176      versioned_file: master/cf7-cli-installer_edge_win32.zip
   177      region_name: us-west-1
   178  
   179  - name: edge-windows-installer-64
   180    type: s3
   181    source:
   182      bucket: v7-cf-cli-releases
   183      access_key_id: ((cli-team-aws-s3-access-key-id))
   184      secret_access_key: ((cli-team-aws-s3-secret-access-key))
   185      versioned_file: master/cf7-cli-installer_edge_winx64.zip
   186      region_name: us-west-1
   187  
   188  - name: gcp-bosh-pool
   189    type: pool
   190    source:
   191      uri: git@github.com:cloudfoundry/cli-pools
   192      private_key: ((cli-pools-github-private-key))
   193      branch: master
   194      pool: mashed-potato
   195  
   196  - name: slack-alert
   197    type: slack-notification
   198    icon: slack
   199    source:
   200      url: ((vat-slack-webhook-url))
   201  
   202  - name: vars-store
   203    type: git
   204    source:
   205      uri: git@github.com:cloudfoundry/cli-private
   206      private_key: ((cli-private-github-private-key))
   207      branch: master
   208  
   209  # values for this already exist in last pass, blocked on
   210  # blocked on https://github.com/concourse/concourse/issues/1407
   211  - name: cf-cli-tracker
   212    type: tracker
   213    source:
   214      token: ((cf-cli-public-tracker-token))
   215      project_id: '2196383'
   216      tracker_url: https://www.pivotaltracker.com
   217  
   218  jobs:
   219  - name: units
   220    serial: true
   221    plan:
   222    - in_parallel:
   223      - get: cli
   224        trigger: true
   225    - in_parallel:
   226      - task: lint
   227        file: cli/ci/cli-v7/tasks/lint.yml
   228        on_failure:
   229          put: slack-alert
   230          params:
   231            channel: '#v3-acceleration-team'
   232            text: &slack_notification_text |
   233              $BUILD_JOB_NAME failed :(
   234              $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME - (Viewable internally only)
   235      - task: units-linux
   236        file: cli/ci/cli-v7/tasks/units-linux.yml
   237        on_failure:
   238          put: slack-alert
   239          params:
   240            channel: '#v3-acceleration-team'
   241            text: *slack_notification_text
   242      - task: units-osx
   243        file: cli/ci/cli-v7/tasks/units-osx.yml
   244        on_failure:
   245          put: slack-alert
   246          params:
   247            channel: '#v3-acceleration-team'
   248            text: *slack_notification_text
   249      - task: units-windows
   250        tags: [vat-windows]
   251        file: cli/ci/cli-v7/tasks/units-windows.yml
   252        on_failure:
   253          put: slack-alert
   254          params:
   255            channel: '#v3-acceleration-team'
   256            text: *slack_notification_text
   257  
   258  - name: build-binaries
   259    serial: true
   260    plan:
   261    - in_parallel:
   262      - get: cli
   263        trigger: true
   264        passed: [units]
   265      - get: cli-i18n
   266    - task: build-i18n
   267      file: cli/ci/cli-v7/tasks/generate-i18n-resources.yml
   268      on_failure:
   269        put: slack-alert
   270        params:
   271          channel: '#v3-acceleration-team'
   272          text: *slack_notification_text
   273    - in_parallel:
   274      - task: build
   275        file: cli/ci/cli-v7/tasks/build-binaries.yml
   276        params:
   277          TARGET_GO_VERSION: go1.13.4
   278        on_failure:
   279          put: slack-alert
   280          params:
   281            channel: '#v3-acceleration-team'
   282            text: *slack_notification_text
   283      - task: build-osx
   284        file: cli/ci/cli-v7/tasks/build-osx-binary.yml
   285        params:
   286          TARGET_GO_VERSION: go1.13.4
   287        on_failure:
   288          put: slack-alert
   289          params:
   290            channel: '#v3-acceleration-team'
   291            text: *slack_notification_text
   292    - task: combine-binaries
   293      file: cli/ci/cli-v7/tasks/combine-binaries.yml
   294    - put: cf-cli-binaries
   295      params:
   296        file: compiled/cf-cli-binaries.tgz
   297  
   298  - name: integration-linux
   299    serial: true
   300    plan:
   301    - in_parallel: &integration_resources
   302      - get: cli
   303        passed: [build-binaries]
   304      - get: cf-cli-binaries
   305        passed: [build-binaries]
   306        trigger: true
   307      - get: vars-store
   308      - put: bosh-lock
   309        resource: gcp-bosh-pool
   310        params:
   311          acquire: true
   312    - do:
   313      - task: cleanup-integration
   314        file: cli/ci/cli-v7/tasks/cleanup-integration.yml
   315      - task: integration
   316        file: cli/ci/cli-v7/tasks/integration-linux.yml
   317        on_failure:
   318          put: slack-alert
   319          params:
   320            channel: '#v3-acceleration-team'
   321            text: *slack_notification_text
   322        ensure:
   323          task: cleanup-integration
   324          file: cli/ci/cli-v7/tasks/cleanup-integration.yml
   325        params: &integration_params
   326          CF_INT_CLIENT_ID: 'potato-face'
   327          CF_INT_CLIENT_SECRET: ((client-secret))
   328          CF_INT_DOCKER_IMAGE: ((dockerhub-private-image))
   329          CF_INT_DOCKER_USERNAME: ((dockerhub-username))
   330          CF_INT_DOCKER_PASSWORD: ((dockerhub-password))
   331          CF_INT_IGNORE_API_VERSION_CHECK: false
   332    ensure:
   333      put: gcp-bosh-pool
   334      params:
   335        release: bosh-lock
   336  
   337  - name: integration-linux-bosh-lite
   338    plan:
   339    - in_parallel:
   340      - get: bosh-deployment
   341      - get: capi-ci
   342      - get: cf-deployment
   343      - get: cli
   344        passed: [build-binaries]
   345      - get: cf-cli-binaries
   346        passed: [build-binaries]
   347        trigger: true
   348      - get: edge-capi-release
   349      - get: vars-store
   350    - do:
   351      - put: terraform
   352        params:
   353          generate_random_name: true
   354          delete_on_failure: true
   355          terraform_source: capi-ci/terraform/bosh-lite/
   356          vars:
   357            project_id: ((bosh-lite-project-id))
   358            json_key: ((bosh-lite-gcp-json-key))
   359            dns_project_id: ((bosh-lite-project-id))
   360            dns_json_key: ((bosh-lite-gcp-json-key))
   361            system_domain_suffix: ((bosh-lite-system-domain-suffix))
   362            dns_zone_name: ((bosh-lite-dns-zone-name))
   363      - do:
   364          - task: create-bosh-lite
   365            file: capi-ci/ci/bosh-lite/create-bosh-lite.yml
   366            params:
   367              GCP_JSON_KEY: ((bosh-lite-gcp-json-key))
   368              GCP_INSTANCE_TYPE: n1-highmem-16
   369          - do:
   370              - task: create-env-vars-file
   371                file: capi-ci/ci/bosh-lite/create-env-vars-file.yml
   372              - task: upload-cf-assets
   373                file: capi-ci/ci/bosh-lite/upload-cf-assets.yml
   374              - task: write-bosh-target-file
   375                file: capi-ci/ci/bosh-lite/write-bosh-target-file.yml
   376              - put: cf-deploy
   377                params:
   378                  source_file: bosh-target/target.yml
   379                  manifest: cf-deployment/cf-deployment.yml
   380                  vars_files:
   381                  - bosh-target/vars.yml
   382                  var_files:
   383                    edge_capi_url: edge-capi-release/url
   384                  vars:
   385                    client-secret: ((client-secret))
   386                  ops_files:
   387                  - capi-ci/cf-deployment-operations/skip-cert-verify.yml
   388                  - capi-ci/cf-deployment-operations/use-latest-stemcell.yml
   389                  - cf-deployment/operations/bosh-lite.yml
   390                  - cf-deployment/operations/use-compiled-releases.yml
   391                  - cf-deployment/operations/test/add-persistent-isolation-segment-diego-cell.yml
   392                  - cf-deployment/operations/test/add-persistent-isolation-segment-diego-cell-bosh-lite.yml
   393                  - cf-deployment/operations/use-internal-lookup-for-route-services.yml
   394                  - capi-ci/cf-deployment-operations/seed-credhub-asg.yml
   395                  - cli/ci/infrastructure/operations/default-app-memory.yml
   396                  - cli/ci/infrastructure/operations/add-oidc-provider.yml
   397                  - cli/ci/infrastructure/operations/add-uaa-client-cf-custom.yml
   398                  - cli/ci/infrastructure/operations/give-cf-admin-clients-read-scope.yml
   399                  - cli/ci/infrastructure/operations/use-edge-capi.yml
   400                  - cli/ci/infrastructure/operations/add-uaa-client-credentials.yml
   401              - task: upload-to-gcs
   402                file: capi-ci/ci/gcs/upload-to-gcs.yml
   403                input_mapping:
   404                  environment: terraform
   405                  source-directory: director-state
   406                params:
   407                  GCP_JSON_KEY: ((bosh-lite-gcp-json-key))
   408                  GCP_BUCKET: ((bosh-lite-storage-bucket))
   409                  GCP_PATH: director-state
   410                  USE_ENV_NAMED_SUBDIR: true
   411            on_failure:
   412              task: delete-bosh-lite
   413              file: capi-ci/ci/bosh-lite/delete-bosh-lite.yml
   414        on_failure:
   415          put: terraform
   416          params:
   417            action: destroy
   418            env_name_file: terraform/name
   419            terraform_source: capi-ci/terraform/bosh-lite/
   420            vars:
   421              project_id: ((bosh-lite-project-id))
   422              json_key: ((bosh-lite-gcp-json-key))
   423              dns_project_id: ((bosh-lite-project-id))
   424              dns_json_key: ((bosh-lite-gcp-json-key))
   425              system_domain_suffix: ((bosh-lite-system-domain-suffix))
   426              dns_zone_name: ((bosh-lite-dns-zone-name))
   427          get_params:
   428            action: destroy
   429    - do:
   430      - task: integration
   431        file: cli/ci/cli-v7/tasks/integration-linux-bosh-lite.yml
   432        on_failure:
   433          put: slack-alert
   434          params:
   435            channel: '#v3-acceleration-team'
   436            text: *slack_notification_text
   437        params: *integration_params
   438      ensure:
   439        do:
   440          - task: delete-bosh-lite
   441            file: capi-ci/ci/bosh-lite/delete-bosh-lite.yml
   442          - put: terraform
   443            params:
   444              action: destroy
   445              env_name_file: terraform/name
   446              terraform_source: capi-ci/terraform/bosh-lite/
   447              vars:
   448                project_id: ((bosh-lite-project-id))
   449                json_key: ((bosh-lite-gcp-json-key))
   450                dns_project_id: ((bosh-lite-project-id))
   451                dns_json_key: ((bosh-lite-gcp-json-key))
   452                system_domain_suffix: ((bosh-lite-system-domain-suffix))
   453                dns_zone_name: ((bosh-lite-dns-zone-name))
   454            get_params:
   455              action: destroy
   456  - name: integration-linux-client-creds
   457    serial: true
   458    plan:
   459    - in_parallel: *integration_resources
   460    - do:
   461      - task: cleanup-integration
   462        file: cli/ci/cli-v7/tasks/cleanup-integration.yml
   463      - task: integration
   464        file: cli/ci/cli-v7/tasks/integration-linux.yml
   465        on_failure:
   466          put: slack-alert
   467          params:
   468            channel: '#v3-acceleration-team'
   469            text: *slack_notification_text
   470        ensure:
   471          task: cleanup-integration
   472          file: cli/ci/cli-v7/tasks/cleanup-integration.yml
   473        params:
   474          <<: *integration_params
   475          CF_INT_CLIENT_CREDENTIALS_TEST_MODE: true
   476    ensure:
   477      put: gcp-bosh-pool
   478      params:
   479        release: bosh-lock
   480  
   481  - name: integration-windows
   482    serial: true
   483    plan:
   484    - in_parallel: *integration_resources
   485    - do:
   486      - task: cleanup-integration
   487        file: cli/ci/cli-v7/tasks/cleanup-integration.yml
   488      - task: integration
   489        tags: [vat-windows]
   490        file: cli/ci/cli-v7/tasks/integration-windows.yml
   491        params:
   492          <<: *integration_params
   493        input_mapping:
   494          cf-credentials: cleanup-integration-outputs
   495        on_failure:
   496          put: slack-alert
   497          params:
   498            channel: '#v3-acceleration-team'
   499            text: *slack_notification_text
   500        ensure:
   501          task: cleanup-integration
   502          file: cli/ci/cli-v7/tasks/cleanup-integration.yml
   503    ensure:
   504      put: gcp-bosh-pool
   505      params:
   506        release: bosh-lock
   507  
   508  - name: integration-windows-client-creds
   509    serial: true
   510    plan:
   511    - in_parallel: *integration_resources
   512    - do:
   513      - task: cleanup-integration
   514        file: cli/ci/cli-v7/tasks/cleanup-integration.yml
   515      - task: integration
   516        tags: [vat-windows]
   517        file: cli/ci/cli-v7/tasks/integration-windows.yml
   518        params:
   519          <<: *integration_params
   520          CF_INT_CLIENT_CREDENTIALS_TEST_MODE: true
   521        input_mapping:
   522          cf-credentials: cleanup-integration-outputs
   523        on_failure:
   524          put: slack-alert
   525          params:
   526            channel: '#v3-acceleration-team'
   527            text: *slack_notification_text
   528        ensure:
   529          task: cleanup-integration
   530          file: cli/ci/cli-v7/tasks/cleanup-integration.yml
   531    ensure:
   532      put: gcp-bosh-pool
   533      params:
   534        release: bosh-lock
   535  
   536  - name: create-installers
   537    serial: true
   538    plan:
   539    - in_parallel:
   540      - get: cli
   541        passed:
   542        - integration-linux
   543        - integration-linux-client-creds
   544        - integration-windows
   545        - integration-windows-client-creds
   546      - get: cf-cli-binaries
   547        passed:
   548        - integration-linux
   549        - integration-linux-client-creds
   550        - integration-windows
   551        - integration-windows-client-creds
   552        trigger: true
   553    - task: extract-binaries
   554      file: cli/ci/cli-v7/tasks/extract-binaries.yml
   555      on_failure:
   556        put: slack-alert
   557        params:
   558          channel: '#v3-acceleration-team'
   559          text: |
   560            extracting the binaries in installer creation failed :bart:
   561            $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   562    - in_parallel:
   563      - task: unix
   564        file: cli/ci/cli-v7/tasks/create-installers.yml
   565        on_failure:
   566          put: slack-alert
   567          params:
   568            channel: '#v3-acceleration-team'
   569            text: |
   570              :ubuntu: create unix installers failed :redhat:
   571              $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   572      - task: windows
   573        tags: [vat-windows]
   574        file: cli/ci/cli-v7/tasks/create-installers-windows.yml
   575        on_failure:
   576          put: slack-alert
   577          params:
   578            channel: '#v3-acceleration-team'
   579            text: |
   580              create windows installer failed :winc:
   581              $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   582    - task: package-binaries
   583      file: cli/ci/cli-v7/tasks/package-binaries.yml
   584      on_failure:
   585        put: slack-alert
   586        params:
   587          channel: '#v3-acceleration-team'
   588          text: |
   589            extracting the binaries in installer creation failed :package:
   590            $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
   591    - in_parallel:
   592      - put: edge-linux-binary-32
   593        params:
   594          file: archives/cf7-cli_edge_linux_i686.tgz
   595      - put: edge-linux-binary-64
   596        params:
   597          file: archives/cf7-cli_edge_linux_x86-64.tgz
   598      - put: edge-osx-binary-64
   599        params:
   600          file: archives/cf7-cli_edge_osx.tgz
   601      - put: edge-windows-binary-32
   602        params:
   603          file: archives/cf7-cli_edge_win32.zip
   604      - put: edge-windows-binary-64
   605        params:
   606          file: archives/cf7-cli_edge_winx64.zip
   607      - put: edge-deb-installer-32
   608        params:
   609          file: archives/cf7-cli-installer_i686.deb
   610      - put: edge-deb-installer-64
   611        params:
   612          file: archives/cf7-cli-installer_x86-64.deb
   613      - put: edge-redhat-installer-32
   614        params:
   615          file: archives/cf7-cli-installer_i686.rpm
   616      - put: edge-redhat-installer-64
   617        params:
   618          file: archives/cf7-cli-installer_x86-64.rpm
   619      - put: edge-osx-installer-64
   620        params:
   621          file: archives/cf7-cli-installer_osx.pkg
   622      - put: edge-windows-installer-32
   623        params:
   624          file: winstallers/cf7-cli-installer_win32.zip
   625      - put: edge-windows-installer-64
   626        params:
   627          file: winstallers/cf7-cli-installer_winx64.zip
   628  
   629  - name: deliver-stories
   630    serial: true
   631    plan:
   632    - get: cli
   633      passed:
   634      - integration-linux
   635      - integration-windows
   636      - integration-linux-client-creds
   637      - integration-windows-client-creds
   638      trigger: true
   639    - put: cf-cli-tracker
   640      params:
   641        repos:
   642        - cli