build: upload html docs as part of release process

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.
This commit is contained in:
David Bremner 2020-07-16 08:11:26 -03:00
parent 99a7aac8f2
commit 3f8b01a3ef
2 changed files with 3 additions and 1 deletions

View file

@ -39,6 +39,7 @@ DEB_TAG=debian/$(UPSTREAM_TAG)-1
RELEASE_HOST=notmuchmail.org RELEASE_HOST=notmuchmail.org
RELEASE_DIR=/srv/notmuchmail.org/www/releases RELEASE_DIR=/srv/notmuchmail.org/www/releases
DOC_DIR=/srv/notmuchmail.org/www/doc/latest
RELEASE_URL=https://notmuchmail.org/releases RELEASE_URL=https://notmuchmail.org/releases
TAR_FILE=$(PACKAGE)-$(VERSION).tar.xz TAR_FILE=$(PACKAGE)-$(VERSION).tar.xz
ELPA_FILE:=$(PACKAGE)-emacs-$(ELPA_VERSION).tar ELPA_FILE:=$(PACKAGE)-emacs-$(ELPA_VERSION).tar

View file

@ -64,7 +64,7 @@ update-versions:
# are part of the release and need to take the version from the # are part of the release and need to take the version from the
# version file). # version file).
.PHONY: release .PHONY: release
release: verify-source-tree-and-version release: verify-source-tree-and-version sphinx-html
$(MAKE) VERSION=$(VERSION) verify-newer $(MAKE) VERSION=$(VERSION) verify-newer
$(MAKE) VERSION=$(VERSION) clean $(MAKE) VERSION=$(VERSION) clean
$(MAKE) VERSION=$(VERSION) test $(MAKE) VERSION=$(VERSION) test
@ -80,6 +80,7 @@ ifeq ($(REALLY_UPLOAD),yes)
git push origin $(VERSION) $(DEB_TAG) release pristine-tar git push origin $(VERSION) $(DEB_TAG) release pristine-tar
cd releases && scp $(TAR_FILE) $(SHA256_FILE) $(DETACHED_SIG_FILE) $(RELEASE_HOST):$(RELEASE_DIR) 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)" 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 endif
@echo "Please send a release announcement using $(PACKAGE)-$(VERSION).announce as a template." @echo "Please send a release announcement using $(PACKAGE)-$(VERSION).announce as a template."