From e144e0808a750764fae36a79bad12e146effdd36 Mon Sep 17 00:00:00 2001 From: Yota Toyama Date: Sun, 8 Dec 2019 13:40:12 -0800 Subject: [PATCH] Add release job --- .circleci/config.yml | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 53a45ca..61900aa 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,9 +4,18 @@ workflows: all: jobs: - build + - release: + requires: + - build + filters: + branches: + only: master - docker: requires: - build + filters: + branches: + only: master jobs: build: docker: @@ -28,6 +37,26 @@ jobs: root: . paths: - liche + release: + docker: + - image: golang + environment: + GO111MODULE: "on" + steps: + - checkout + - attach_workspace: + at: . + - run: | + version=$(./liche --version) + + if git tag -l | grep $version + then + exit 0 + fi + + git tag $version + git push --tags + curl -sL https://git.io/goreleaser | bash docker: docker: - image: docker:17 @@ -40,11 +69,13 @@ jobs: name=$DOCKER_USER/liche version=$(./liche --version) - if [ $CIRCLE_BRANCH = master -a $version != $(docker run $name --version) ] + if [ $version = $(docker run $name --version) ] then - docker build -t $name . - docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - docker push $name - docker tag $name $name:$version - docker push $name:$version + exit 0 fi + + docker build -t $name . + docker login -u $DOCKER_USER -p $DOCKER_PASSWORD + docker push $name + docker tag $name $name:$version + docker push $name:$version