[PATCH] build: upload html docs as part of release process

Subject: [PATCH] build: upload html docs as part of release process

Date: Thu, 16 Jul 2020 08:11:26 -0300

To: David Bremner, notmuch@notmuchmail.org

Cc:

From: David Bremner


Use a URL https://notmuchmail.org/doc/latest to leave room for a
future more ambitious scheme deploying multiple versions.

This also forces the html docs to built as part of the release
process. In the future this should be updated to tolerate generating a
release without sphinx installed. This needs a new target analogous to
build-info and build-man that does nothing if sphinx is not installed.
---

 Oops. Of course as soon as I send it I see a flaw. It's hard to test
 this stuff without doing another release; in some sense this patch is
 a reminder to me to debug it next time I do a release.

 Makefile.global | 1 +
 Makefile.local  | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/Makefile.global b/Makefile.global
index 98b6962e..4fd796e3 100644
--- a/Makefile.global
+++ b/Makefile.global
@@ -39,6 +39,7 @@ DEB_TAG=debian/$(UPSTREAM_TAG)-1
 
 RELEASE_HOST=notmuchmail.org
 RELEASE_DIR=/srv/notmuchmail.org/www/releases
+DOC_DIR=/srv/notmuchmail.org/www/doc/latest
 RELEASE_URL=https://notmuchmail.org/releases
 TAR_FILE=$(PACKAGE)-$(VERSION).tar.xz
 ELPA_FILE:=$(PACKAGE)-emacs-$(ELPA_VERSION).tar
diff --git a/Makefile.local b/Makefile.local
index 22577617..39f36d50 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -64,7 +64,7 @@ update-versions:
 # are part of the release and need to take the version from the
 # version file).
 .PHONY: release
-release: verify-source-tree-and-version
+release: verify-source-tree-and-version sphinx-html
 	$(MAKE) VERSION=$(VERSION) verify-newer
 	$(MAKE) VERSION=$(VERSION) clean
 	$(MAKE) VERSION=$(VERSION) test
@@ -80,6 +80,7 @@ ifeq ($(REALLY_UPLOAD),yes)
 	git push origin $(VERSION) $(DEB_TAG) release pristine-tar
 	cd releases && scp $(TAR_FILE) $(SHA256_FILE) $(DETACHED_SIG_FILE) $(RELEASE_HOST):$(RELEASE_DIR)
 	ssh $(RELEASE_HOST) "rm -f $(RELEASE_DIR)/LATEST-$(PACKAGE)-* ; ln -s $(TAR_FILE) $(RELEASE_DIR)/LATEST-$(TAR_FILE)"
+	rsync --verbose --delete --recursive doc/_build/html/ $(RELEASE_HOST):$(DOC_DIR)
 endif
 	@echo "Please send a release announcement using $(PACKAGE)-$(VERSION).announce as a template."
 
-- 
2.27.0
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: