From d59d2c61eead50f6581ff75c51e095d750221d8d Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 27 Jul 2019 17:03:05 +0300 Subject: [PATCH] Add .gitlab-ci.yml --- .gitlab-ci.yml | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ Dockerfile.ci | 13 ++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile.ci diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..e479fb5 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,55 @@ +stages: +- build +- build docker +- push docker + +build: + image: golang:1-alpine + stage: build + before_script: + - apk add git build-base + script: + - go build -o mautrix-whatsapp + artifacts: + paths: + - mautrix-whatsapp + +build docker: + image: docker:stable + stage: build docker + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + script: + - docker pull $CI_REGISTRY_IMAGE:latest || true + - docker build --pull --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA . --file Dockerfile.ci + - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + +push latest: + image: docker:stable + stage: push docker + only: + - master + variables: + GIT_STRATEGY: none + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + script: + - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest + - docker push $CI_REGISTRY_IMAGE:latest + dependencies: [] + +push tag: + image: docker:stable + stage: push docker + except: + - master + variables: + GIT_STRATEGY: none + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + script: + - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME + - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME + dependencies: [] diff --git a/Dockerfile.ci b/Dockerfile.ci new file mode 100644 index 0000000..d5c3642 --- /dev/null +++ b/Dockerfile.ci @@ -0,0 +1,13 @@ +FROM alpine:latest + +ENV UID=1337 \ + GID=1337 + +RUN apk add --no-cache su-exec ca-certificates + +COPY ./mautrix-whatsapp /usr/bin/mautrix-whatsapp +COPY ./example-config.yaml /opt/mautrix-whatsapp/example-config.yaml +COPY ./docker-run.sh /docker-run.sh +VOLUME /data + +CMD ["/docker-run.sh"]