-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
63 lines (58 loc) · 2.62 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
dist: bionic
language: go
go:
- "1.17"
#FROM https://github.com/openhab/openhab-docker/blob/c5e586be529a9d3645e91962eba1ae20c3067cf8/.travis.yml#L16-L28
before_install:
# Configure environment so changes are picked up when the Docker daemon is restarted after upgrading
- echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
- export DOCKER_CLI_EXPERIMENTAL=enabled
- docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64
# Upgrade to Docker CE 19.03 for BuildKit support
- 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=5:19.03.8~3-0~ubuntu-bionic # pin version for reproducibility
# Show info to simplify debugging and create a builder
- docker info
- docker buildx create --name builder --use
- docker buildx ls
stages:
- compile
- test
- deploy
jobs:
include:
- stage: compile
name: GO Compile
os: linux
arch: amd64
script:
- go build cmd/benchtool-go/main.go
- stage: test
name: GO Test
os: linux
arch: amd64
script:
- go test ./...
- stage: test
name: Docker build
os: linux
arch: amd64
script:
- docker buildx build --platform linux/amd64 .
- stage: deploy
name: Docker Build and Repository Push
if: branch = main and type = push
os: linux
arch: amd64
script:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
#- docker buildx build --platform linux/arm/v7 -t brunoshiroma/benchtool-go:armv7-latest --push .
#- docker buildx build --platform linux/arm/v6 -t brunoshiroma/benchtool-go:armv6-latest --push .
- docker buildx build --platform linux/amd64 -t brunoshiroma/benchtool-go:amd64-latest --push .
#- docker buildx build --platform linux/arm64/v8 -t brunoshiroma/benchtool-go:aarch64-latest --push .
#- docker buildx build --platform linux/386 -t brunoshiroma/benchtool-go:386-latest --push .
#- docker manifest create brunoshiroma/benchtool-go:latest brunoshiroma/benchtool-go:386-latest brunoshiroma/benchtool-go:armv7-latest brunoshiroma/benchtool-go:armv6-latest brunoshiroma/benchtool-go:amd64-latest brunoshiroma/benchtool-go:aarch64-latest
- docker manifest create brunoshiroma/benchtool-go:latest brunoshiroma/benchtool-go:amd64-latest
- docker manifest push brunoshiroma/benchtool-go:latest