github.com/m-lab/locate@v0.17.6/cloudbuild/cloudbuild.yaml (about)

     1  timeout: 3600s
     2  
     3  options:
     4    env:
     5      - PROJECT_ID=$PROJECT_ID
     6      - WORKSPACE_LINK=/go/src/github.com/m-lab/locate
     7  
     8  steps:
     9    # Run unit tests for environment.
    10    - name: us-central1-docker.pkg.dev/$_ARTIFACT_PROJECT_ID/build-images/golang-cbif:1.20
    11      env:
    12        - GONOPROXY=github.com/m-lab/go/*
    13      args:
    14        - go version
    15        - go get -v -t ./...
    16        - go vet ./...
    17        - go test ./... -race
    18        - go test -v ./...
    19  
    20    # Deployment of APIs in sandbox & staging.
    21    - name: us-central1-docker.pkg.dev/$_ARTIFACT_PROJECT_ID/build-images/gcloud-jsonnet-cbif:1.1
    22      env:
    23        # Use cbif condition: only run these steps in one of these projects.
    24        - PROJECT_IN=mlab-sandbox,mlab-staging
    25      args:
    26        - cp cloudbuild/app.yaml.template app.yaml
    27        - >
    28          sed -i
    29          -e 's/{{PROJECT}}/$PROJECT_ID/g'
    30          -e 's/{{PLATFORM_PROJECT}}/$_PLATFORM_PROJECT/'
    31          -e 's/{{REDIS_ADDRESS}}/$_REDIS_ADDRESS/'
    32          -e 's/{{RATE_LIMIT_REDIS_ADDRESS}}/$_RATE_LIMIT_REDIS_ADDRESS/'
    33          -e 's/{{RATE_LIMIT_INTERVAL}}/$_RATE_LIMIT_INTERVAL/'
    34          -e 's/{{RATE_LIMIT_MAX}}/$_RATE_LIMIT_MAX/'
    35          -e 's/{{RATE_LIMIT_IP_INTERVAL}}/$_RATE_LIMIT_IP_INTERVAL/'
    36          -e 's/{{RATE_LIMIT_IP_MAX}}/$_RATE_LIMIT_IP_MAX/'
    37          -e 's/{{EARLY_EXIT_CLIENTS}}/$_EARLY_EXIT_CLIENTS/'
    38          app.yaml
    39        - gcloud --project $PROJECT_ID app deploy --promote app.yaml
    40        # After deploying the new service, deploy the openapi spec.
    41        - sed -i -e 's/{{PROJECT}}/$PROJECT_ID/' -e 's/{{DEPLOYMENT}}/$PROJECT_ID/' openapi.yaml
    42        - gcloud endpoints services deploy openapi.yaml
    43  
    44    # Deployment of APIs in mlab-ns.
    45    - name: us-central1-docker.pkg.dev/$_ARTIFACT_PROJECT_ID/build-images/gcloud-jsonnet-cbif:1.1
    46      env:
    47        # Use cbif condition: only run these steps in this project.
    48        - PROJECT_IN=mlab-ns
    49      args:
    50        - cp cloudbuild/app.yaml.mlab-ns.template app.yaml
    51        - >
    52          sed -i
    53          -e 's/{{PROJECT}}/$PROJECT_ID/g'
    54          -e 's/{{PLATFORM_PROJECT}}/$_PLATFORM_PROJECT/'
    55          -e 's/{{REDIS_ADDRESS}}/$_REDIS_ADDRESS/'
    56          -e 's/{{RATE_LIMIT_REDIS_ADDRESS}}/$_RATE_LIMIT_REDIS_ADDRESS/'
    57          -e 's/{{RATE_LIMIT_INTERVAL}}/$_RATE_LIMIT_INTERVAL/'
    58          -e 's/{{RATE_LIMIT_MAX}}/$_RATE_LIMIT_MAX/'
    59          -e 's/{{RATE_LIMIT_IP_INTERVAL}}/$_RATE_LIMIT_IP_INTERVAL/'
    60          -e 's/{{RATE_LIMIT_IP_MAX}}/$_RATE_LIMIT_IP_MAX/'
    61          -e 's/{{EARLY_EXIT_CLIENTS}}/$_EARLY_EXIT_CLIENTS/'
    62          app.yaml
    63        - gcloud --project $PROJECT_ID app deploy --no-promote app.yaml
    64        # After deploying the new service, deploy the openapi spec.
    65        - sed -i -e 's/{{PROJECT}}/$PROJECT_ID/' -e 's/{{DEPLOYMENT}}/Production/' openapi.yaml
    66        - gcloud endpoints services deploy openapi.yaml