branch: elpa/magit
commit c313064daa0e5a61c4484f7b12fe01427ba7b7e4
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>
Publish manual and statistics using webdav
Re magit/magit#5472.
---
.github/workflows/manual.yml | 3 +-
.github/workflows/stats.yml | 3 +-
default.mk | 10 +++---
docs/Makefile | 74 +++++++++++++++-----------------------------
4 files changed, 33 insertions(+), 57 deletions(-)
diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml
index 3b02f40e398..2a655ae46d7 100644
--- a/.github/workflows/manual.yml
+++ b/.github/workflows/manual.yml
@@ -8,5 +8,4 @@ jobs:
name: Manual
uses: emacscollective/workflows/.github/workflows/manual.yml@main
secrets:
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ rclone_config: ${{ secrets.RCLONE_CONFIG }}
diff --git a/.github/workflows/stats.yml b/.github/workflows/stats.yml
index e941fb95884..5597fb9732b 100644
--- a/.github/workflows/stats.yml
+++ b/.github/workflows/stats.yml
@@ -9,5 +9,4 @@ jobs:
name: Statistics
uses: emacscollective/workflows/.github/workflows/stats.yml@main
secrets:
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ rclone_config: ${{ secrets.RCLONE_CONFIG }}
diff --git a/default.mk b/default.mk
index 167dffacde1..37ef9f01850 100644
--- a/default.mk
+++ b/default.mk
@@ -1,5 +1,7 @@
TOP := $(dir $(lastword $(MAKEFILE_LIST)))
+DOMAIN ?= magit.vc
+
## User options ######################################################
#
# You can override these settings in "config.mk" or on the command
@@ -35,7 +37,7 @@ LISP_EXTRA_TARGETS ?= check-declare
INSTALL_INFO ?= $(shell command -v ginstall-info || printf install-info)
MAKEINFO ?= makeinfo
-MANUAL_HTML_ARGS ?= --css-ref /assets/page.css
+MANUAL_HTML_ARGS ?= --css-ref https://$(DOMAIN)/assets/page.css
GITSTATS ?= gitstats
GITSTATS_DIR ?= $(TOP)docs/stats
@@ -243,9 +245,9 @@ DEPS += with-editor/lisp
## Publish ###########################################################
-DOMAIN ?= magit.vc
-CFRONT_DIST ?= E2LUHBKU1FBV02
-
DOCBOOK_XSL ?= /usr/share/xml/docbook/stylesheet/docbook-xsl/epub/docbook.xsl
EPUBTRASH = epub.xml META-INF OEBPS
+
+RCLONE ?= rclone
+RCLONE_ARGS ?= -v
diff --git a/docs/Makefile b/docs/Makefile
index 7bebba1db37..351bc2739bc 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -43,13 +43,13 @@ dir: magit.info magit-section.info
@printf "Generating dir\n"
@echo $^ | xargs -n 1 $(INSTALL_INFO) --dir=$@
-HTML_FIXUP_CSS = '/<link rel="stylesheet" type="text\/css"
href="\/assets\/page.css">/a\
-<link rel="icon" href="/assets/magit_alt1.ico">\
-\n<link class="s-css-s--style" rel="stylesheet" title="Default"
href="/assets/themes/default.css">\
-\n<link class="s-css-s--style" rel="stylesheet alternate" title="Default high
contrast" href="/assets/themes/default-high-contrast.css">\
-\n<link class="s-css-s--style" rel="stylesheet alternate" title="Solarized
dark xterm" href="/assets/themes/solarized-dark-xterm.css">\
-\n<link class="s-css-s--style" rel="stylesheet alternate" title="Black on
white" href="/assets/themes/black-on-white.css">\
-\n<script src="/assets/js/simple-css-switch.js"></script>'
+HTML_FIXUP_CSS = '/<link rel="stylesheet" type="text\/css"
href="https:\/\/$(DOMAIN)\/assets\/page.css">/a\
+<link rel="icon" href="https://$(DOMAIN)/assets/magit_alt1.ico">\
+\n<link class="s-css-s--style" rel="stylesheet" title="Default"
href="https://$(DOMAIN)/assets/themes/default.css">\
+\n<link class="s-css-s--style" rel="stylesheet alternate" title="Default high
contrast" href="https://$(DOMAIN)/assets/themes/default-high-contrast.css">\
+\n<link class="s-css-s--style" rel="stylesheet alternate" title="Solarized
dark xterm" href="https://$(DOMAIN)/assets/themes/solarized-dark-xterm.css">\
+\n<link class="s-css-s--style" rel="stylesheet alternate" title="Black on
white" href="https://$(DOMAIN)/assets/themes/black-on-white.css">\
+\n<script src="https://$(DOMAIN)/assets/js/simple-css-switch.js"></script>'
HTML_FIXUP_ONLOAD = 's/<body lang="en">/<body lang="en"
onload="simpleCssSwitch()">/'
HTML_FIXUP_MENU = '/<\/body>/i<div id="s-css-s--menu"><\/div>'
@@ -119,60 +119,36 @@ AUTHORS.md:
@git commit --gpg-sign -m "AUTHORS.md: Update list of contributors" \
-o -- $@ ../.mailmap && git show --pretty= -p HEAD || true
-PUBLISH_PATH ?= /manual/
-RELEASE_PATH ?= /manual/$(VERSION)/
-S3_BUCKET ?= s3://$(DOMAIN)
-PUBLISH_TARGET = $(S3_BUCKET)$(PUBLISH_PATH)
-RELEASE_TARGET = $(S3_BUCKET)$(RELEASE_PATH)
-CFRONT_PATHS = $(PKG).html $(PKG).pdf $(PKG)/*
-
-comma := ,
-empty :=
-space := $(empty) $(empty)
+DOCS_DOMAIN = docs.$(DOMAIN)
+SNAP_TARGET = $(subst .,_,$(DOCS_DOMAIN)):devel/
+DOCS_TARGET = $(subst .,_,$(DOCS_DOMAIN)):
publish: redo-docs
- @printf "Uploading snapshot manuals...\n"
- @aws s3 cp $(PKG).html $(PUBLISH_TARGET)
- @aws s3 cp $(PKG).pdf $(PUBLISH_TARGET)
- @printf "upload: ./$(PKG)/* to $(PUBLISH_TARGET)*\n"
- @aws s3 sync --delete $(PKG) $(PUBLISH_TARGET)$(PKG)/ > /dev/null
- @aws s3 cp magit-section.html $(PUBLISH_TARGET)
- @aws s3 cp magit-section.pdf $(PUBLISH_TARGET)
- @printf "upload: ./magit-section/* to $(PUBLISH_TARGET)*\n"
- @aws s3 sync --delete magit-section $(PUBLISH_TARGET)magit-section/ >
/dev/null
- @printf "Generating CDN invalidation\n"
- @aws cloudfront create-invalidation --distribution-id $(CFRONT_DIST)
--paths \
- "$(subst $(space),$(comma),$(addprefix
$(PUBLISH_PATH),$(CFRONT_PATHS)))" > /dev/null
+ @printf "Publishing snapshot manual...\n"
+ @cp $(PKG).pdf $(PKG)/$(PKG).pdf
+ @cp $(PKG)-section.pdf $(PKG)-section/$(PKG)-section.pdf
+ @$(RCLONE) sync $(RCLONE_ARGS) $(PKG) $(SNAP_TARGET)/$(PKG)/
+ @$(RCLONE) sync $(RCLONE_ARGS) $(PKG)-section
$(SNAP_TARGET)/$(PKG)-section/
release: redo-docs
- @printf "Uploading release manuals...\n"
- @aws s3 cp $(PKG).html $(RELEASE_TARGET)
- @aws s3 cp $(PKG).pdf $(RELEASE_TARGET)
- @printf "upload: ./$(PKG)/* to $(RELEASE_TARGET)*\n"
- @aws s3 sync --delete $(PKG) $(RELEASE_TARGET)$(PKG)/ > /dev/null
- @aws s3 cp magit-section.html $(RELEASE_TARGET)
- @aws s3 cp magit-section.pdf $(RELEASE_TARGET)
- @printf "upload: ./magit-section/* to $(RELEASE_TARGET)*\n"
- @aws s3 sync --delete magit-section $(RELEASE_TARGET)magit-section/ >
/dev/null
- @aws s3 cp $(PUBLISH_TARGET)dir.html $(RELEASE_TARGET)dir.html
- @aws s3 cp $(PUBLISH_TARGET)dir/index.html
$(RELEASE_TARGET)dir/index.html
- @printf "Generating CDN invalidation\n"
- @aws cloudfront create-invalidation --distribution-id $(CFRONT_DIST)
--paths \
- "$(subst $(space),$(comma),$(addprefix
$(RELEASE_PATH),$(CFRONT_PATHS)))" > /dev/null
+ @printf "Publishing release manual...\n"
+ @cp $(PKG).pdf $(PKG)/$(PKG).pdf
+ @cp $(PKG)-section.pdf $(PKG)-section/$(PKG)-section.pdf
+ @$(RCLONE) sync $(RCLONE_ARGS) $(PKG) $(DOCS_TARGET)/$(PKG)/
+ @$(RCLONE) sync $(RCLONE_ARGS) $(PKG)-section
$(DOCS_TARGET)/$(PKG)-section/
## Statistics ########################################################
+STAT_DOMAIN = stats.$(DOMAIN)
+STAT_TARGET = $(subst .,_,$(STAT_DOMAIN)):$(PKG)/
+
stats:
@printf "Generating statistics\n"
@$(GITSTATS) $(GITSTATS_ARGS) $(TOP) $(GITSTATS_DIR)
stats-upload:
@printf "Uploading statistics...\n"
- @aws s3 sync $(GITSTATS_DIR) $(S3_BUCKET)/stats/$(PKG)
- @printf "Uploaded to $(S3_BUCKET)/stats/$(PKG)\n"
- @printf "Generating CDN invalidation\n"
- @aws cloudfront create-invalidation \
- --distribution-id $(CFRONT_DIST) --paths "/stats/*" > /dev/null
+ @$(RCLONE) sync $(RCLONE_ARGS) stats $(STAT_TARGET)
## Lisp ##############################################################
@@ -202,7 +178,7 @@ export ORG_MAN_EXPORT
define AUTHORS_HEADER
The following people have contributed to Magit.
-For statistics see https://magit.vc/stats/magit/authors.html.
+For statistics see https://$(STAT_DOMAIN)/magit/authors.html.
Authors
-------