-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
36 lines (31 loc) · 1.22 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
language: bash
dist: bionic
before_install:
- sudo rm -rf /var/lib/apt/lists/*
- 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) edge"
- sudo apt-get update
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
# handle multiple platform
- docker run --rm --privileged tonistiigi/binfmt:latest --install all
# install docker buildx
- mkdir -vp ~/.docker/cli-plugins/
- curl --silent -L "https://github.com/docker/buildx/releases/download/v0.4.2/buildx-v0.4.2.linux-amd64" > ~/.docker/cli-plugins/docker-buildx
- chmod a+x ~/.docker/cli-plugins/docker-buildx
- docker buildx install
- docker buildx create --use
env:
global:
- EXTRA_ARGS=--push
branches:
only:
- main
script: |
docker build --tag jdrouet/gatsby:local --target tester .
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
docker buildx build ${EXTRA_ARGS} --progress=plain \
--platform linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,linux/s390x \
--tag jdrouet/gatsby:$(date +%Y%m%d) \
--tag jdrouet/gatsby:latest \
--target base \
.