-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
81 lines (76 loc) · 1.79 KB
/
.gitlab-ci.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
stages:
- binaries
- images
.dind:
image: egnd/docker:latest
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay2
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ""
before_script:
- docker login ${CI_REGISTRY} -u gitlab-ci-token -p ${CI_JOB_TOKEN}
amd64-linux-bin:
image: golang:1.18-alpine
stage: binaries
variables:
CGO_ENABLED: 0
GOPROXY: https://proxy.golang.org,direct
GOSUMDB: "off"
GOOS: linux
GOARCH: amd64
BUILD_VERSION: latest
before_script:
- apk add -q unzip make
script:
- make build-indexer BUILD_VERSION=${BUILD_VERSION}
- make build-server BUILD_VERSION=${BUILD_VERSION}
- make build-converter
cache:
key: fb2c-${GOOS}-${GOARCH}
paths:
- fb2c-*.zip
artifacts:
paths:
- bin/${GOOS}-${GOARCH}
expire_in: 1 day
only:
- master
except:
- tags
arm64-linux-bin:
extends: amd64-linux-bin
variables:
GOARCH: arm64
images-latest:
extends: .dind
stage: images
dependencies:
- amd64-linux-bin
- arm64-linux-bin
script:
- docker buildx create --driver=docker-container --use
- docker buildx build --push --progress=plain
--platform linux/arm64,linux/amd64
--file .ci/ci.Dockerfile
--tag ${CI_REGISTRY_IMAGE}:latest
--tag=${CI_REGISTRY_IMAGE}/ci:${CI_COMMIT_SHORT_SHA}
.
only:
- master
except:
- tags
images-stable:
extends: .dind
stage: images
script:
- docker buildx create --driver=docker-container --use
- docker buildx build --push --progress=plain
--build-arg SRC_IMG=${CI_REGISTRY_IMAGE}/ci:${CI_COMMIT_SHORT_SHA}
--platform linux/arm64,linux/amd64
--file .ci/proxy.Dockerfile
--tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}
.ci
only:
- tags