Browse Source

Merge pull request #2514 from return42/fix-gh-pages

[fix] Makefile target gh-pages & flatten history of branch gh.pages
Alexandre Flament 4 years ago
parent
commit
99244440e4
2 changed files with 13 additions and 15 deletions
  1. 1 1
      .github/workflows/integration.yml
  2. 12 14
      utils/makefile.sphinx

+ 1 - 1
.github/workflows/integration.yml

@@ -80,7 +80,7 @@ jobs:
       with:
         GITHUB_TOKEN: ${{ github.token }}
         BRANCH: gh-pages
-        FOLDER: gh-pages
+        FOLDER: build/gh-pages
         CLEAN: true # Automatically remove deleted files from the deploy branch
 
   dockers:

+ 12 - 14
utils/makefile.sphinx

@@ -10,7 +10,7 @@ SPHINX_CONF ?= conf.py
 DOCS_FOLDER = ./docs
 DOCS_BUILD  = ./$(LXC_ENV_FOLDER)build/docs
 DOCS_DIST   = ./$(LXC_ENV_FOLDER)dist/docs
-GH_PAGES    ?= gh-pages
+GH_PAGES    ?= build/gh-pages
 
 BOOKS_FOLDER = ./docs
 BOOKS_DIST   = ./$(LXC_ENV_FOLDER)dist/books
@@ -172,24 +172,22 @@ PHONY += prepare-gh-pages
 prepare-gh-pages:
 	cp -r $(DOCS_DIST)/* $(GH_PAGES)/
 	touch $(GH_PAGES)/.nojekyll
-	echo "<html><head><META http-equiv='refresh' content='0;URL=index.html'></head></html>" > $(GH_PAGES)/404.html	
-
-PHONY += $(GH_PAGES)
-$(GH_PAGES)::
-	$(MAKE) docs
-	[ -d "gh-pages/.git" ] || git clone $(GIT_URL) gh-pages
-	-cd $(GH_PAGES); git checkout gh-pages >/dev/null
-	-cd $(GH_PAGES); git pull
-	-cd $(GH_PAGES); ls -A | grep -v '.git$$' | xargs rm -rf
+	echo "<html><head><META http-equiv='refresh' content='0;URL=index.html'></head></html>" > $(GH_PAGES)/404.html
+
+PHONY += gh-pages
+gh-pages: docs-clean docs
+	- git worktree remove -f $(GH_PAGES) || exit 0
+	- git branch -D gh-pages || exit 0
+	git worktree add --no-checkout $(GH_PAGES) master
+	cd $(GH_PAGES); git checkout --orphan gh-pages && git rm -rfq .
 	$(MAKE) prepare-gh-pages
 	cd $(GH_PAGES);\
 		git add --all . ;\
-		git commit -m "gh-pages: updated" ;\
-		git push origin gh-pages
+		git commit -q -m "make gh-pages: from $(shell git config --get remote.origin.url)@$(shell git rev-parse HEAD)" ;\
+		git push -f origin gh-pages
 
 PHONY += travis-gh-pages
-travis-gh-pages:
-	$(MAKE) docs
+travis-gh-pages: docs-clean docs
 	rm -Rf $(GH_PAGES)
 	mkdir -p $(GH_PAGES)
 	$(MAKE) prepare-gh-pages