summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2025-11-13 20:17:05 +0100
committerJonas Bernoulli <jonas@bernoul.li>2025-11-13 20:17:05 +0100
commitc63a5b990b9f697bff6cc4c84babfc7da114b9be (patch)
tree1c107911861048a348cdc137f73579657ef5b748
parentdebe61b4f5058212d56118701948d82f7b417396 (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.mk8
-rw-r--r--docs/Makefile41
4 files changed, 19 insertions, 36 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 0577715..0ff0856 100644
--- a/default.mk
+++ b/default.mk
@@ -1,5 +1,7 @@
TOP := $(dir $(lastword $(MAKEFILE_LIST)))
+DOMAIN ?= magit.vc
+
PKG = with-editor
ELS = $(PKG).el
@@ -8,9 +10,6 @@ ELCS = $(ELS:.el=.elc)
DEPS = compat
DEPS += vterm
-DOMAIN ?= magit.vc
-CFRONT_DIST ?= E2LUHBKU1FBV02
-
VERSION ?= $(shell test -e $(TOP).git && git describe --tags --abbrev=0 | cut -c2-)
REVDESC := $(shell test -e $(TOP).git && git describe --tags)
@@ -32,3 +31,6 @@ MANUAL_HTML_ARGS ?= --css-ref /assets/page.css
GITSTATS ?= gitstats
GITSTATS_DIR ?= $(TOP)docs/stats
GITSTATS_ARGS ?= -c style=https://magit.vc/assets/stats.css -c max_authors=999
+
+RCLONE ?= rclone
+RCLONE_ARGS ?= -v
diff --git a/docs/Makefile b/docs/Makefile
index c1700c8..4012b4a 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -66,34 +66,21 @@ HTML_FIXUP_MENU = '/<\/body>/i<div id="s-css-s--menu"><\/div>'
@printf "Generating $@\n"
@texi2pdf --clean $< > /dev/null
-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)
+STAT_DOMAIN = stats.$(DOMAIN)
+SNAP_TARGET = $(subst .,_,$(DOCS_DOMAIN)):devel/$(PKG)/
+DOCS_TARGET = $(subst .,_,$(DOCS_DOMAIN)):$(PKG)/
+STAT_TARGET = $(subst .,_,$(STAT_DOMAIN)):$(PKG)/
publish: redo-docs
- @aws s3 cp $(PKG).html $(PUBLISH_TARGET)
- @aws s3 cp $(PKG).pdf $(PUBLISH_TARGET)
- @aws s3 sync $(PKG) $(PUBLISH_TARGET)$(PKG)/
- @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
+ @$(RCLONE) sync $(RCLONE_ARGS) $(PKG) $(SNAP_TARGET)
release: redo-docs
- @aws s3 cp $(PKG).html $(RELEASE_TARGET)
- @aws s3 cp $(PKG).pdf $(RELEASE_TARGET)
- @aws s3 sync $(PKG) $(RELEASE_TARGET)$(PKG)/
- @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
+ @$(RCLONE) sync $(RCLONE_ARGS) $(PKG) $(DOCS_TARGET)
stats:
@printf "Generating statistics...\n"
@@ -101,11 +88,7 @@ stats:
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)
CLEAN = $(PKG).info dir $(PKG) $(PKG).html $(PKG).pdf