diff --git a/.drone.yml b/.drone.yml index 344d8d3..72d3b03 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,3 +1,24 @@ +--- +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/pki/build + --- kind: pipeline type: docker @@ -11,6 +32,42 @@ steps: environment: GOOS: linux GOARCH: amd64 + volumes: + - name: build + path: /build + +volumes: + - name: build + host: + path: /tmp/pki/build + +depends_on: + - cleanup-before + +--- +kind: pipeline +type: docker +name: default-linux-arm64 + +steps: + - name: build + image: golang + commands: + - ./ci-build.sh build + environment: + GOOS: linux + GOARCH: arm64 + volumes: + - name: build + path: /build + +volumes: + - name: build + host: + path: /tmp/pki/build + +depends_on: + - cleanup-before --- kind: pipeline @@ -18,6 +75,15 @@ 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: @@ -25,12 +91,54 @@ steps: api_key: from_secret: gitea_token files: "*.tar.gz" - title: ./VERSION 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/pki/build + depends_on: - - default-linux-amd64 \ No newline at end of file + - 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/pki/build + +depends_on: + - gitea-release diff --git a/ci-build.sh b/ci-build.sh index f672d8e..0788048 100755 --- a/ci-build.sh +++ b/ci-build.sh @@ -8,17 +8,21 @@ GOOPTIONS="-mod=vendor" SRCFILES=cmd/pki/*.go build() { + echo "Begin of build" if [[ ! -z $DRONE_TAG ]] then + echo "Drone tag set, let's do a release" VERSION=$DRONE_TAG - echo $DRONE_TAG > ./VERSION + 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 @@ -27,11 +31,15 @@ build() { 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() { @@ -46,5 +54,7 @@ case $1 in clean ;; *) + echo "No options choosen" + exit 1 ;; -esac \ No newline at end of file +esac