]> Sergey Matveev's repositories - nnn.git/commitdiff
Improvements for distribution (#417)
authorMaxim Baz <git@maximbaz.com>
Fri, 20 Dec 2019 23:32:39 +0000 (00:32 +0100)
committerMischievous Meerkat <engineerarun@gmail.com>
Fri, 20 Dec 2019 23:32:39 +0000 (05:02 +0530)
* Don't pack sources (github does it better), sign sources

* Make CircleCI generate the same git archive as Github, return make dist

* Revert make clean too

* Upload signature to Github release

* Read Github token from an env variable

.circleci/config.yml
Makefile

index 81c6c7b60734a137b22b9368012870eeb45e270c..d50b1999ca13a57e3b0c742f06f92c4f41849e80 100644 (file)
@@ -65,9 +65,7 @@ jobs:
             rm -rf ./.git
             rm -rf ./dist/*
             # Pack source
-            cd ..
-            tar -czf ${CIRCLE_PROJECT_REPONAME}-${CIRCLE_TAG}.tar.gz ${CIRCLE_PROJECT_REPONAME}
-            cd ${CIRCLE_PROJECT_REPONAME}
+            git archive -o ../${CIRCLE_PROJECT_REPONAME}-${CIRCLE_TAG}.tar.gz --format tar.gz --prefix=${CIRCLE_PROJECT_REPONAME}-${CIRCLE_TAG#v}/ ${CIRCLE_TAG}
             # Use latest installed python3 from pyenv
             export PYENV_VERSION="$(pyenv versions | grep -Po '\b3\.\d+\.\d+' | tail -1)"
             pip install packagecore
index 43287f812b82a53ef4114926d6cba2e0e4ae14d8..51dee9768b4399101f13d167aa3d785d62103f97 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -92,9 +92,19 @@ dist:
        gzip nnn-$(VERSION).tar
        $(RM) -r nnn-$(VERSION)
 
+sign:
+       git archive -o nnn-$(VERSION).tar.gz --format tar.gz --prefix=nnn-$(VERSION)/ v$(VERSION)
+       gpg --detach-sign --yes nnn-$(VERSION).tar.gz
+       rm -f nnn-$(VERSION).tar.gz
+
+       $(eval ID=$(shell curl -s 'https://api.github.com/repos/jarun/nnn/releases/tags/v$(VERSION)' | jq .id))
+       curl -XPOST 'https://uploads.github.com/repos/jarun/nnn/releases/$(ID)/assets?name=nnn-$(VERSION).tar.gz.sig' \
+           -H 'Authorization: token $(NNN_SIG_UPLOAD_TOKEN)' -H 'Content-Type: application/pgp-signature' \
+           --upload-file nnn-$(VERSION).tar.gz.sig
+
 clean:
-       $(RM) -f $(BIN) nnn-$(VERSION).tar.gz
+       $(RM) -f $(BIN) nnn-$(VERSION).tar.gz *.sig
 
 skip: ;
 
-.PHONY: all debug install uninstall strip dist clean
+.PHONY: all debug install uninstall strip dist sign clean