From ae53567fd708950ed5d5f53e08d4081cfcafd6c9 Mon Sep 17 00:00:00 2001 From: Paul Lecuq Date: Fri, 4 Dec 2020 21:05:10 +0100 Subject: [PATCH] updated ci related files --- .drone.yml | 127 +++++++++++++++++++++++++++++++++++++++++++--------- ci-build.sh | 28 +++++++----- 2 files changed, 122 insertions(+), 33 deletions(-) diff --git a/.drone.yml b/.drone.yml index eea4dbd..c1f9b38 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,14 +1,30 @@ +--- +kind: pipeline +type: docker +name: cleanup-before + +steps: + - name: clean + image: alpine + commands: + - rm -rf /build/* + volumes: + - name: build + path: /build + when: + event: tag + +volumes: + - name: build + host: + path: /tmp/dip/build + --- kind: pipeline type: docker name: default-linux-amd64 steps: - - name: packr2 - image: golang - commands: - - go get -u github.com/gobuffalo/packr/v2/packr2 - - go build -o packr2 -mod=mod github.com/gobuffalo/packr/v2/packr2 - name: build image: golang commands: @@ -16,18 +32,17 @@ steps: environment: GOOS: linux GOARCH: amd64 - - name: release - image: plugins/gitea-release - settings: - base_url: https://git.paulbsd.com - api_key: - from_secret: gitea_token - files: "*.tar.gz" - checksum: - - sha256 - - sha512 - when: - event: tag + volumes: + - name: build + path: /build + +volumes: + - name: build + host: + path: /tmp/dip/build + +depends_on: + - cleanup-before --- kind: pipeline @@ -35,11 +50,6 @@ type: docker name: default-linux-arm64 steps: - - name: packr2 - image: golang - commands: - - go get -u github.com/gobuffalo/packr/v2/packr2 - - go build -o packr2 -mod=mod github.com/gobuffalo/packr/v2/packr2 - name: build image: golang commands: @@ -47,6 +57,33 @@ steps: environment: GOOS: linux GOARCH: arm64 + volumes: + - name: build + path: /build + +volumes: + - name: build + host: + path: /tmp/dip/build + +depends_on: + - cleanup-before + +--- +kind: pipeline +type: docker +name: gitea-release + +steps: + - name: move + image: alpine + commands: + - mv build/* ./ + volumes: + - name: build + path: /drone/src/build + when: + event: tag - name: release image: plugins/gitea-release settings: @@ -57,5 +94,51 @@ steps: checksum: - sha256 - sha512 + title: VERSION + volumes: + - name: build + path: /drone/src/build when: event: tag + - name: ls + image: alpine + commands: + - find . + volumes: + - name: build + path: /drone/src/build + when: + event: tag + +volumes: + - name: build + host: + path: /tmp/dip/build + +depends_on: + - default-linux-amd64 + - default-linux-arm64 + +--- +kind: pipeline +type: docker +name: cleanup-after + +steps: + - name: clean + image: alpine + commands: + - rm -rf /build/* + volumes: + - name: build + path: /build + when: + event: tag + +volumes: + - name: build + host: + path: /tmp/dip/build + +depends_on: + - gitea-release diff --git a/ci-build.sh b/ci-build.sh index 0cc4e6f..92dd256 100755 --- a/ci-build.sh +++ b/ci-build.sh @@ -5,41 +5,45 @@ RELEASENAME=${PROJECTNAME} VERSION="0" GOOPTIONS="-mod=vendor" -SRCFILES=cmd/${PROJECTNAME}/*.go +SRCFILES=cmd/dip/*.go build() { + echo "Begin of build" if [[ ! -z $DRONE_TAG ]] then + echo "Drone tag set, let's do a release" VERSION=$DRONE_TAG + echo "${PROJECTNAME} ${VERSION}" > /build/VERSION elif [[ ! -z $DRONE_TAG ]] then + echo "Drone not set, let's only do a build" VERSION=$DRONE_COMMIT fi if [[ ! -z $VERSION && ! -z $GOOS && ! -z $GOARCH ]] then + echo "Let's set a release name" RELEASENAME=${PROJECTNAME}-${VERSION}-${GOOS}-${GOARCH} fi - echo "Running packr2" - if [[ -f ./packr2 ]] - then - ./packr2 - else - echo "packr2 binary not found" - exit 1 - fi + echo "Getting packr2 and building embedded files" + go get -u github.com/gobuffalo/packr/v2/packr2 + packr2 echo "Building project" go build -o ${PROJECTNAME} ${GOOPTIONS} ${SRCFILES} if [[ ! -z $DRONE_TAG ]] then - tar -czvf ${RELEASENAME}.tar.gz ${PROJECTNAME} + echo "Let's make archives" + mkdir -p /build + tar -czvf /build/${RELEASENAME}.tar.gz ${PROJECTNAME} fi echo "Removing binary file" rm ${PROJECTNAME} + + echo "End of build" } clean() { @@ -54,5 +58,7 @@ case $1 in clean ;; *) + echo "No options choosen" + exit 1 ;; -esac \ No newline at end of file +esac