mirror of
https://github.com/pomerium/pomerium.git
synced 2025-08-05 09:49:15 +02:00
130 lines
4.9 KiB
YAML
130 lines
4.9 KiB
YAML
stages:
|
|
- test
|
|
- "Docker Test Build"
|
|
- name: "Docker Build and Publish"
|
|
if: fork = false AND type = push
|
|
|
|
language: go
|
|
go:
|
|
- 1.x
|
|
- tip
|
|
cache:
|
|
directories:
|
|
- $HOME/.cache/go-build
|
|
- $HOME/gopath/pkg/mod
|
|
|
|
before_script:
|
|
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
|
- chmod +x ./cc-test-reporter
|
|
- ./cc-test-reporter before-build
|
|
|
|
script:
|
|
- env GOPROXY=https://proxy.golang.org GO111MODULE=on make all
|
|
- env GO111MODULE=on make cover
|
|
- env GO111MODULE=on make release
|
|
- env GOPROXY=https://proxy.golang.org GO111MODULE=on go test ./... -coverprofile c.out
|
|
|
|
after_success:
|
|
- bash <(curl -s https://codecov.io/bash)
|
|
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
|
|
|
deploy:
|
|
provider: releases
|
|
api_key:
|
|
secure: LhWnZHIilCFItgLJUfWUvbJSLFLpzlANj80Ji8y/MnzHGfnn5baYQpYA6eUnOkO6oXU1Uca+KLEQjDa4ySg6++B+5+jkmkWS4PWtj084dgXcKVIrBOt0CX46z8212Fii4WxGKY+Cukw3HejGq5XZmExxcAWbAGDklGedOvZWQImId62/nWjAJc5GLbXgz++i+67d7Uqfcd2wqZfWXsy8OIAG6VnjEP7spUALgaDt4HJaHZU4M9yDxkLX+3eKMuEl5DAJplmEsyDz1xYTcuYRQ7kFv3krXWyb5q9YQhGi8hwv7O93Q1iKMS2lk1rq9TTsr4AlW8lTrms7nvhKNWQWfdGmB2TEyBL/yZ3oaVO45oJoXhd0ff0ufa4VI05o+4WAEeYMkyFEnPxzbRZzPmz28zv9VLWuhS0qav9OnJgBVjFPhCrCYVyCZ6HP/alhrHjepr9hM5DLKwSzNkXWWMsJ4sraRFXQvAXTUbOE3qaeM3WYZ0TXwMNCfwGqE9tx6lXPZNirXZ6UH3qa5CGGyE3S73wUOo6Wo1yG7yBpuGHs485p+QJK+j3dhsJi+PAr4KShUhT7VvLNgidRkeaLGUCcrVf4J+UMCwWSoh5QGEy2lj1Ur4D8+dzXI9BOhL/EvtB3fozzycJ7ZJHLkPfFGnKfY83Q7A3oZ5MXDaWXBNSzTp4=
|
|
on:
|
|
tags: true
|
|
file:
|
|
- dist/pomerium-darwin-amd64
|
|
- dist/pomerium-darwin-amd64.md5
|
|
- dist/pomerium-darwin-amd64.sha256
|
|
- dist/pomerium-linux-amd64
|
|
- dist/pomerium-linux-amd64.md5
|
|
- dist/pomerium-linux-amd64.sha256
|
|
- dist/pomerium-windows-amd64
|
|
- dist/pomerium-windows-amd64.md5
|
|
- dist/pomerium-windows-amd64.sha256
|
|
skip_cleanup: true
|
|
|
|
docker_setup: &docker_setup
|
|
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
|
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
|
- sudo apt-get update
|
|
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
|
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
|
|
docker_login: &docker_login
|
|
- echo ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin
|
|
|
|
matrix:
|
|
allow_failures:
|
|
- go: tip
|
|
fast_finish: true
|
|
include:
|
|
- name: "Test Build amd64"
|
|
stage: "Docker Test Build"
|
|
install: *docker_setup
|
|
go: 1.x
|
|
script:
|
|
- .travis/docker_build.sh ${TRAVIS_REPO_SLUG}:${TRAVIS_COMMIT} Dockerfile
|
|
|
|
- name: "Build Master amd64"
|
|
stage: "Docker Build and Publish"
|
|
if: branch = master
|
|
install: *docker_setup
|
|
before_script: *docker_login
|
|
go: 1.x
|
|
script:
|
|
- .travis/docker_build.sh ${TRAVIS_REPO_SLUG}:master Dockerfile
|
|
- docker push ${TRAVIS_REPO_SLUG}
|
|
|
|
- name: "Build Master arm64v8"
|
|
if: branch = master
|
|
install: *docker_setup
|
|
before_script: *docker_login
|
|
go: 1.x
|
|
script:
|
|
- .travis/docker_build.sh ${TRAVIS_REPO_SLUG}:arm64v8-master Dockerfile.arm64v8
|
|
- docker push ${TRAVIS_REPO_SLUG}
|
|
|
|
- name: "Build Tag amd64"
|
|
if: tag =~ /^v([0-9.]+)$/
|
|
install: *docker_setup
|
|
before_script: *docker_login
|
|
go: 1.x
|
|
script:
|
|
- .travis/docker_build.sh ${TRAVIS_REPO_SLUG}:${TRAVIS_TAG} Dockerfile
|
|
- docker tag ${TRAVIS_REPO_SLUG}:${TRAVIS_TAG} ${TRAVIS_REPO_SLUG}:latest
|
|
- docker tag ${TRAVIS_REPO_SLUG}:${TRAVIS_TAG} ${TRAVIS_REPO_SLUG}:amd64-latest
|
|
- docker tag ${TRAVIS_REPO_SLUG}:${TRAVIS_TAG} ${TRAVIS_REPO_SLUG}:amd64-${TRAVIS_TAG}
|
|
- docker push ${TRAVIS_REPO_SLUG}
|
|
|
|
- name: "Build Tag arm64v8"
|
|
if: tag =~ /^v([0-9.]+)$/
|
|
install: *docker_setup
|
|
before_script: *docker_login
|
|
go: 1.x
|
|
script:
|
|
- .travis/docker_build.sh ${TRAVIS_REPO_SLUG}:arm64v8-${TRAVIS_TAG} Dockerfile.arm64v8
|
|
- docker tag ${TRAVIS_REPO_SLUG}:arm64v8-${TRAVIS_TAG} ${TRAVIS_REPO_SLUG}:arm64v8-latest
|
|
- docker push ${TRAVIS_REPO_SLUG}
|
|
|
|
- name: "Build Tag arm32v7"
|
|
if: tag =~ /^v([0-9.]+)$/
|
|
install: *docker_setup
|
|
before_script: *docker_login
|
|
go: 1.x
|
|
script:
|
|
- .travis/docker_build.sh ${TRAVIS_REPO_SLUG}:arm32v7-${TRAVIS_TAG} Dockerfile.arm32v7
|
|
- docker tag ${TRAVIS_REPO_SLUG}:arm32v7-${TRAVIS_TAG} ${TRAVIS_REPO_SLUG}:arm32v7-latest
|
|
- docker push ${TRAVIS_REPO_SLUG}
|
|
|
|
- name: "Build Tag arm32v6"
|
|
if: tag =~ /^v([0-9.]+)$/
|
|
install: *docker_setup
|
|
before_script: *docker_login
|
|
go: 1.x
|
|
script:
|
|
- .travis/docker_build.sh ${TRAVIS_REPO_SLUG}:arm32v6-${TRAVIS_TAG} Dockerfile.arm32v6
|
|
- docker tag ${TRAVIS_REPO_SLUG}:arm32v6-${TRAVIS_TAG} ${TRAVIS_REPO_SLUG}:arm32v6-latest
|
|
- docker push ${TRAVIS_REPO_SLUG}
|