golang.org/x/tools/gopls@v0.15.3/integration/govim/cloudbuild.yaml (about)

     1  # Copyright 2019 The Go Authors. All rights reserved.
     2  # Use of this source code is governed by a BSD-style
     3  # license that can be found in the LICENSE file.
     4  
     5  # Build gopls, and run the govim integration tests.  See README.md for
     6  # instructions on how to use this.
     7  
     8  substitutions:
     9    # This bucket must be owned by the GCP project executing the build. If
    10    # you are running this from your own project, override using --substitutions.
    11    _RESULT_BUCKET: 'golang-gopls_integration_tests'
    12  
    13  steps:
    14    # Build gopls from source, to use with the govim integration tests.
    15    - name: 'golang:1.14'
    16      env: ['GOPROXY=https://proxy.golang.org']
    17      dir: 'gopls'
    18      args: ['go', 'build']
    19  
    20    # Run the tests. Note that the script in this step does not return the exit
    21    # code from `go test`, but rather saves it for use in the final step after
    22    # uploading artifacts.
    23    - name: 'gcr.io/$PROJECT_ID/govim-harness:3'
    24      dir: '/src/govim'
    25      volumes:
    26        - name: artifacts
    27          path: /artifacts
    28      env:
    29        - GOVIM_TESTSCRIPT_WORKDIR_ROOT=/artifacts
    30        - VIM_FLAVOR=vim
    31      args: ['/workspace/gopls/integration/govim/run_tests_for_cloudbuild.sh']
    32  
    33    # The govim tests produce a large number of artifacts; tarball/gzip to reduce
    34    # roundtrips and save space.
    35    - name: 'ubuntu'
    36      volumes:
    37        - name: artifacts
    38          path: /artifacts
    39      args: ['tar', '-czf', 'artifacts.tar.gz', '/artifacts']
    40  
    41    # Upload artifacts to GCS.
    42    - name: 'gcr.io/cloud-builders/gsutil'
    43      args: ['cp', 'artifacts.tar.gz', 'gs://${_RESULT_BUCKET}/govim/${BUILD_ID}/artifacts.tar.gz']
    44  
    45    # Exit with the actual exit code of the integration tests.
    46    - name: 'ubuntu'
    47      args: ['bash', 'govim_test_result.sh']
    48  
    49  # Write build logs to the same bucket as artifacts, so they can be more easily
    50  # shared.
    51  logsBucket: 'gs://${_RESULT_BUCKET}'