Add gitlab CI
This commit is contained in:
parent
10ace75c19
commit
29e3895a88
|
@ -0,0 +1,57 @@
|
|||
variables:
|
||||
REPO_NAME: codeberg.org/librarian/librarian
|
||||
DOCKER_HOST: tcp://docker:2375
|
||||
|
||||
stages:
|
||||
- build
|
||||
- buildx
|
||||
- deploy
|
||||
|
||||
bin:
|
||||
stage: build
|
||||
needs: []
|
||||
image: golang:latest
|
||||
script:
|
||||
- mkdir -p $GOPATH/src/$(dirname $REPO_NAME)
|
||||
- ln -svf $CI_PROJECT_DIR $GOPATH/src/$REPO_NAME
|
||||
- cd $GOPATH/src/$REPO_NAME
|
||||
- go build -ldflags "-extldflags '-static'" -o $CI_PROJECT_DIR/librarian-linux-amd64
|
||||
- GOARCH=arm64 GOOS=linux go build -ldflags "-extldflags '-static'" -o $CI_PROJECT_DIR/librarian-linux-arm64
|
||||
- GOARCH=amd64 GOOS=openbsd go build -ldflags "-extldflags '-static'" -o $CI_PROJECT_DIR/librarian-openbsd-amd64
|
||||
artifacts:
|
||||
paths:
|
||||
- librarian-linux-amd64
|
||||
- librarian-linux-arm64
|
||||
- librarian-openbsd-amd64
|
||||
|
||||
buildx:
|
||||
image: docker:20-git
|
||||
stage: buildx
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
artifacts:
|
||||
paths:
|
||||
- buildx
|
||||
expire_in: 1 hour
|
||||
services:
|
||||
- docker:20-dind
|
||||
script:
|
||||
- export DOCKER_BUILDKIT=1
|
||||
- git clone git://github.com/docker/buildx ./docker-buildx
|
||||
- docker build --platform=local -o . ./docker-buildx
|
||||
|
||||
deploy:
|
||||
image: docker:20
|
||||
stage: deploy
|
||||
services:
|
||||
- name: docker:20-dind
|
||||
command: ["--experimental"]
|
||||
before_script:
|
||||
- mkdir -p ~/.docker/cli-plugins
|
||||
- mv buildx ~/.docker/cli-plugins/docker-buildx
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
script:
|
||||
- docker login -u $DOCKER_USERNAME -p $DOCKER_ACCESS_TOKEN
|
||||
- docker context create mybuilder
|
||||
- docker buildx create --use --name mybuilder mybuilder
|
||||
- docker buildx build --platform linux/amd64,linux/arm64 --push -t nineteengladespool/librarian:latest .
|
Loading…
Reference in New Issue