aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2025-11-13 20:25:55 +0100
committerJonas Bernoulli <jonas@bernoul.li>2025-11-13 20:25:55 +0100
commitc313064daa0e5a61c4484f7b12fe01427ba7b7e4 (patch)
treeec7e056d685280b53e3043b8b1382934392e7d34
parent5cc70b9e5850e61a66f1afbb546f6c1703b39dab (diff)
Publish manual and statistics using webdav
Re magit/magit#5472.
-rw-r--r--.github/workflows/manual.yml3
-rw-r--r--.github/workflows/stats.yml3
-rw-r--r--default.mk10
-rw-r--r--docs/Makefile74
4 files changed, 33 insertions, 57 deletions
diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml
index 3b02f40..2a655ae 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 e941fb9..5597fb9 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 167dffa..37ef9f0 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 7bebba1..351bc27 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
-------