forked from typelevel/spire
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
122 lines (106 loc) · 4.32 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<<<<<<< HEAD
language: scala
scala:
- 2.11.12
- 2.12.6
jdk:
- oraclejdk8
cache:
directories:
- $HOME/.ivy2/cache
- $HOME/.sbt
script:
- scripts/travis-publish.sh
after_success:
- bash <(curl -s https://codecov.io/bash)
cache:
directories:
- $HOME/.sbt/boot/scala*
- $HOME/.sbt/launchers
- $HOME/.ivy2/cache
before_cache:
- du -h -d 1 $HOME/.ivy2/cache
- du -h -d 2 $HOME/.sbt/
- find $HOME/.sbt -name "*.lock" -type f -delete
- find $HOME/.ivy2/cache -name "ivydata-*.properties" -type f -delete
notifications:
irc:
channels:
- "chat.freenode.net#spire-math"
on_success: change
on_failure: always
sudo: false
=======
sudo: required
dist: xenial
services:
- docker
language: go
cache:
directories:
- .cache
# cache the Go module cache
- $HOME/gopath/pkg/mod
jobs:
include:
- stage: build release
script:
- ./build.sh setup
- ./build.sh utils
- ./build.sh protobuf_verify
- ./build.sh race-test
- ./build.sh binaries
- ./build.sh integration
- ./build.sh artifact
- ./build.sh release
deploy:
- provider: s3
access_key_id: $AWS_ACCESS_KEY_ID
secret_access_key: $AWS_SECRET_ACCESS_KEY
bucket: scytale-artifacts
local-dir: artifacts
upload-dir: spire
acl: public_read
skip_cleanup: true
region: us-east-2
on:
all_branches: true
condition: $AWS_SECRET_ACCESS_KEY != ""
- provider: releases
api_key: $GITHUB_TOKEN
file_glob: true
file: releases/*
skip_cleanup: true
on:
tags: true
condition: $GITHUB_TOKEN != ""
- stage: publish images
if: type = push AND (tag IS present OR branch = master)
env:
- CHANGE_MINIKUBE_NONE_USER=true
before_script:
# Decrypt credentials needed to log into gcr registry
- openssl aes-256-cbc -K $encrypted_b48f9e852489_key -iv $encrypted_b48f9e852489_iv -in .travis/spire-travis-ci.json.enc -out .travis/spire-travis-ci.json -d
# Download stable kubectl
- curl -s -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
# Download latest minikube
- curl -s -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
# Start up minikube
- sudo minikube start --vm-driver=none --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/apiserver.key --extra-config=apiserver.service-account-issuer=api --extra-config=apiserver.service-account-api-audiences=api --extra-config=apiserver.authorization-mode=RBAC
# Make sure kubectl configuration is up to date
- sudo chown -R $USER.$USER ~/.kube
- sudo chown -R $USER.$USER ~/.minikube
- minikube update-context
# Wait for stuff to become ready
- JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}'; until kubectl get nodes -o jsonpath="$JSONPATH" 2>&1 | grep -q "Ready=True"; do sleep 1; done
script:
# Build spire images
- eval $(minikube docker-env) && make spire-images
# Run systems tests
- examples/k8s/test-all.sh
# Publish images
- eval $(minikube docker-env) && .travis/publish-images.sh
notifications:
slack:
secure: auV9VWkA50+tf4cKUUkMH/KqggKSJCBV9ruLSF1LVgqQYnK34rp/PPzx4gTiQYA07ltnu8Hi13XMoN5+OFsRfzVRCKP1tlGuTvVhpsoyMGiNxBY1Yw2OhZXRoSjCwJkuBsAkkaxAgsC58IEnxhKq+M83dDYx+WiybO+aQnQ6ExbGE4oUBhhBkYKrHy4Kt9/3yWLqicV/VXFtvwbXG5OG1zNNOYCUEud4Y8j6pcb0kyVqlHFjAjasLPsln0QSaTxOThLZCxMZD2zpbI1xxO5tBusqDe1QOMSgsyAbDaNk7wCb2kU+0hRKcfiuWShrswhECSJsYUImLq4c77WbdhrjRgscgY2779T/jaJHbG3Lx7GlDWYLSgFcM8VfZK+K5XPcm35F2qGPiEjtYEEAPS2qQM9PZyvTEVPxjNEc2PE3bINTjibcKbfATNa1ULQvJ6ixtSL9Ao8828iUfaR0mK4eaWnJckov5OaGvah+v6vh49JqZTEN3Or8XTUw0ra14euS6jR30XB2Y3S8/0NuvHY+ytJe36yQn9FdFM3asNpBuNP7F9v00WJr3+Lhg7KHMd0m19ulwtmXiWJYU25AVMk/oXp+aq+678AvhYkYZGaUzC3timsuTlAjH9DA9yxBW+8KE9y46Jq8vXHXhKTfdKDVVUyOFxKKGAjCA5QbeKx+5QU=
>>>>>>> upstream/master