branch: elpa/with-editor
commit c63a5b990b9f697bff6cc4c84babfc7da114b9be
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 | 8 +++++---
docs/Makefile | 41 ++++++++++++-----------------------------
4 files changed, 19 insertions(+), 36 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 0577715daf6..0ff08563a7e 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 c1700c8244e..4012b4adf2b 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