master Update .travis.yml

Commenting google-cloud-sdk snap since it's available on Focal dist

Konrad Wrzos avatar Konrad Wrzos

Push event #4610 failed

  • Ran for
  • Total time
travis-ci/worker:.travis.yml@c32b553
language: go

go: 1.22.x

dist: focal

git:
  depth: 10

# Build master and PRs which merge into those branches
# We don't automatically build other branches when they're pushed; create a PR to cause the CI to run.
branches:
  only:
    - master

cache:
  directories:
  - vendor
  - $HOME/.cache/go-build
  - $HOME/gopath/bin
  - $HOME/gopath/pkg/mod

services:
- rabbitmq
- docker
- redis

env:
  global:
  - AMQP_URI="amqp://"
  - GOPATH="$HOME/gopath"
  - PATH="bin:$HOME/gopath/bin:$HOME/bin:$PATH"
  - CHECKOUT_ROOT="$HOME/gopath/src/github.com/travis-ci/worker"
  - GO15VENDOREXPERIMENT='1'
  - REDIS_URL="redis://"

stages:
  - name: test
    if: (type = push OR type = pull_request) AND branch = master

before_cache:
- make clean

jobs:
  include:
  - stage: test
    name: lint

    script:
    - make deps
    - make lintall

  - stage: test
    name: linux

    script:
    - make deps
    - GO111MODULE=on make build
    - mkdir -p build/linux/amd64
    - cp ${GOPATH%%:*}/bin/travis-worker build/linux/amd64
    - make test-no-cover
    - make test-cover
    - make smoke

    addons:
      apt:
        packages:
        - rabbitmq-server
      artifacts:
        paths:
        - ./build/linux/amd64/travis-worker
        target_paths:
        - travis-ci/worker/$TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
        - travis-ci/worker/$(git describe --always --dirty --tags)
        - travis-ci/worker/$TRAVIS_BRANCH

  - stage: test
    name: crossbuild

    script:
    - go mod vendor
    - GO111MODULE=on make build/darwin/amd64/travis-worker

    addons:
      artifacts:
        paths:
        - ./build/darwin/amd64/travis-worker
        target_paths:
        - travis-ci/worker/$TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
        - travis-ci/worker/$(git describe --always --dirty --tags)
        - travis-ci/worker/$TRAVIS_BRANCH

  - stage: test
    name: docker
    if: type != 'pull_request' && env(VAULT_PASS) is present && env(VAULT_USERNAME) is present

    script:
    - vault login --no-print -method=userpass username=$VAULT_USERNAME password=$VAULT_PASS
    - vault kv get -field=secret gcp/gcr-sa-key > /tmp/gcr_key.json;
    - gcloud -q auth activate-service-account --key-file /tmp/gcr_key.json;
    - gcloud -q config set project ${GCE_PROJECT}
    - gcloud auth configure-docker
    - make docker-build
    - make docker-push

    addons:
      snaps:
      # google-cloud-sdk is available on focal
      # - name: google-cloud-sdk
      - name: vault
      apt:
        update: true
        packages:
        - docker-ce

  - stage: test
    name: http-job-test

    script:
    - GO111MODULE=on make build
    - mkdir -p build/linux/amd64
    - cp ${GOPATH%%:*}/bin/travis-worker build/linux/amd64
    - make http-job-test
Build Config
{
  "language": "go",
  "os": [
    "linux"
  ],
  "dist": "focal",
  "go": [
    "1.22.x"
  ],
  "git": {
    "depth": 10
  },
  "branches": {
    "only": [
      "master"
    ]
  },
  "cache": {
    "directories": [
      "vendor",
      "$HOME/.cache/go-build",
      "$HOME/gopath/bin",
      "$HOME/gopath/pkg/mod"
    ]
  },
  "services": [
    "rabbitmq",
    "docker",
    "redis"
  ],
  "env": {
    "global": [
      {
        "AMQP_URI": "\"amqp://\""
      },
      {
        "GOPATH": "\"$HOME/gopath\""
      },
      {
        "PATH": "\"bin:$HOME/gopath/bin:$HOME/bin:$PATH\""
      },
      {
        "CHECKOUT_ROOT": "\"$HOME/gopath/src/github.com/travis-ci/worker\""
      },
      {
        "GO15VENDOREXPERIMENT": "'1'"
      },
      {
        "REDIS_URL": "\"redis://\""
      }
    ]
  },
  "stages": [
    {
      "name": "test",
      "if": "(type = push OR type = pull_request) AND branch = master"
    }
  ],
  "before_cache": [
    "make clean"
  ],
  "jobs": {
    "include": [
      {
        "stage": "test",
        "name": "lint",
        "script": [
          "make deps",
          "make lintall"
        ]
      },
      {
        "stage": "test",
        "name": "linux",
        "script": [
          "make deps",
          "GO111MODULE=on make build",
          "mkdir -p build/linux/amd64",
          "cp ${GOPATH%%:*}/bin/travis-worker build/linux/amd64",
          "make test-no-cover",
          "make test-cover",
          "make smoke"
        ],
        "addons": {
          "apt": {
            "packages": [
              "rabbitmq-server"
            ]
          },
          "artifacts": {
            "paths": [
              "./build/linux/amd64/travis-worker"
            ],
            "target_paths": [
              "travis-ci/worker/$TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER",
              "travis-ci/worker/$(git describe --always --dirty --tags)",
              "travis-ci/worker/$TRAVIS_BRANCH"
            ]
          }
        }
      },
      {
        "stage": "test",
        "name": "crossbuild",
        "script": [
          "go mod vendor",
          "GO111MODULE=on make build/darwin/amd64/travis-worker"
        ],
        "addons": {
          "artifacts": {
            "paths": [
              "./build/darwin/amd64/travis-worker"
            ],
            "target_paths": [
              "travis-ci/worker/$TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER",
              "travis-ci/worker/$(git describe --always --dirty --tags)",
              "travis-ci/worker/$TRAVIS_BRANCH"
            ]
          }
        }
      },
      {
        "stage": "test",
        "name": "docker",
        "if": "type != 'pull_request' && env(VAULT_PASS) is present && env(VAULT_USERNAME) is present",
        "script": [
          "vault login --no-print -method=userpass username=$VAULT_USERNAME password=$VAULT_PASS",
          "vault kv get -field=secret gcp/gcr-sa-key > /tmp/gcr_key.json;",
          "gcloud -q auth activate-service-account --key-file /tmp/gcr_key.json;",
          "gcloud -q config set project ${GCE_PROJECT}",
          "gcloud auth configure-docker",
          "make docker-build",
          "make docker-push"
        ],
        "addons": {
          "snaps": [
            {
              "name": "vault"
            }
          ],
          "apt": {
            "update": true,
            "packages": [
              "docker-ce"
            ]
          }
        }
      },
      {
        "stage": "test",
        "name": "http-job-test",
        "script": [
          "GO111MODULE=on make build",
          "mkdir -p build/linux/amd64",
          "cp ${GOPATH%%:*}/bin/travis-worker build/linux/amd64",
          "make http-job-test"
        ]
      }
    ]
  }
}