From 82c79aaddd899008a748b48bb51b86b50f3d770e Mon Sep 17 00:00:00 2001 From: konrad Date: Mon, 21 Jan 2019 00:27:06 +0100 Subject: [PATCH] Started adding reprepro to drone to build debian repo --- .drone1.yml | 55 ++++++++++++++++++++++++++++++++++++++++ Makefile | 30 ++++++++++++++-------- build/reprepro-dist-conf | 8 ++++++ 3 files changed, 83 insertions(+), 10 deletions(-) create mode 100644 build/reprepro-dist-conf diff --git a/.drone1.yml b/.drone1.yml index c90dae108..14f81967e 100644 --- a/.drone1.yml +++ b/.drone1.yml @@ -180,6 +180,61 @@ steps: target: /master/ depends_on: [ sign-release ] + # Build a debian package and push it to our bucket + - name: build-deb + image: kolaente/fpm + pull: true + commands: + - make build-deb + depends_on: [ static-build-linux ] + + - name: deb-structure + image: kolaente/reprepro + pull: true + environment: + GPG_PASSWORD: ?[Rf'Iu9WU]6E> ~/.gnupg/gpg.conf + - gpgconf --kill gpg-agent + - echo "-----BEGIN PGP PRIVATE KEY BLOCK-----\n\n\n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\n=vY5V\n-----END PGP PRIVATE KEY BLOCK-----" > ~/frederik.gpg + - gpg --import ~/frederik.gpg + - mkdir debian/conf -p + - cp build/reprepro-dist-conf debian/conf/distributions + - make reprepro + + - name: sign-deb + image: plugins/gpgsign:1 + pull: true + depends_on: [ build-deb ] + settings: + key: + from_secret: gpg_privkey + passphrase: + from_secret: gpg_password + files: + - '*.deb' + detach_sign: true + + # Push the releases to our pseudo-s3-bucket + - name: release-deb-latest + image: plugins/s3:1 + pull: true + settings: + bucket: vikunja-deb + access_key: + from_secret: aws_access_key_id + secret_key: + from_secret: aws_secret_access_key + endpoint: https://storage.kolaente.de + path_style: true + source: '*.deb' + target: /master/ + depends_on: [ build-deb ] + # Build the docker image and push it to docker hub - name: docker image: plugins/docker diff --git a/Makefile b/Makefile index 2fd86b74e..108bf1a85 100644 --- a/Makefile +++ b/Makefile @@ -42,6 +42,12 @@ else endif endif +ifeq ($(DRONE_WORKSPACE),'') + BINLOCATION := $(EXECUTABLE) +else + BINLOCATION := $(DIST)/binaries/$(EXECUTABLE)-$(VERSION)-linux-amd64 +endif + VERSION := $(shell echo $(VERSION) | sed 's/\//\-/g') .PHONY: all @@ -104,9 +110,9 @@ release-windows: go install $(GOFLAGS) github.com/karalabe/xgo; \ fi xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'windows/*' -out vikunja-$(VERSION) . -ifneq ($(DRONE_WORKSPACE),'') - mv /build/* $(DIST)/binaries -endif +#ifneq ($(DRONE_WORKSPACE),'') +# mv /build/* $(DIST)/binaries +#endif .PHONY: release-linux release-linux: @@ -114,9 +120,9 @@ release-linux: go install $(GOFLAGS) github.com/karalabe/xgo; \ fi xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'linux/*' -out vikunja-$(VERSION) . -ifneq ($(DRONE_WORKSPACE),'') - mv /build/* $(DIST)/binaries -endif +#ifneq ($(DRONE_WORKSPACE),'') +# mv /build/* $(DIST)/binaries +#endif .PHONY: release-darwin release-darwin: @@ -124,9 +130,9 @@ release-darwin: go install $(GOFLAGS) github.com/karalabe/xgo; \ fi xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '$(LDFLAGS)' -targets 'darwin/*' -out vikunja-$(VERSION) . -ifneq ($(DRONE_WORKSPACE),'') - mv /build/* $(DIST)/binaries -endif +#ifneq ($(DRONE_WORKSPACE),'') +# mv /build/* $(DIST)/binaries +#endif .PHONY: release-copy release-copy: @@ -149,7 +155,11 @@ release-zip: # Builds a deb package using fpm from a previously created binary (using make build) .PHONY: build-deb build-deb: - fpm -s dir -t deb -n vikunja -v $(VERSION) --license GPLv3 --directories /opt/vikunja --after-install ./build/after-install.sh --description 'Vikunja is an open-source todo application, written in Go. It lets you create lists,tasks and share them via teams or directly between users.' -m maintainers@vikunja.io ./$(EXECUTABLE)=/opt/vikunja/vikunja ./templates=/opt/vikunja ./config.yml.sample=/etc/vikunja/config.yml + fpm -s dir -t deb --url https://vikunja.io -n vikunja -v $(VERSION) --license GPLv3 --directories /opt/vikunja --after-install ./build/after-install.sh --description 'Vikunja is an open-source todo application, written in Go. It lets you create lists,tasks and share them via teams or directly between users.' -m maintainers@vikunja.io ./$(BINLOCATION)=/opt/vikunja/vikunja ./templates=/opt/vikunja ./config.yml.sample=/etc/vikunja/config.yml; + +.PHONY: reprepro +reprepro: + reprepro_expect debian includedeb strech ./$(EXECUTABLE)_$(VERSION)_amd64.deb .PHONY: got-swag got-swag: do-the-swag diff --git a/build/reprepro-dist-conf b/build/reprepro-dist-conf new file mode 100644 index 000000000..8ea7e4c7b --- /dev/null +++ b/build/reprepro-dist-conf @@ -0,0 +1,8 @@ +Origin: dl.vikunja.io +Label: Vikunja +Codename: strech +Architectures: amd64 +Components: main +Description: The debian repo for Vikunja builds. +SignWith: yes +Pull: strech