From 54afe37e18cdbf4fd858907f0a6e83c6cb1c4157 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Tue, 27 Oct 2020 13:21:48 +0100 Subject: [PATCH] [mod] .travis.yml: build documentation automatically on the master branch --- .travis.yml | 22 ++++++++++++++++++++++ utils/makefile.sphinx | 15 ++++++++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index fa59d528d..951f292b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,8 @@ after_success: stages: - test + - name: documentation + if: env(GITHUB_TOKEN) IS present - name: docker if: branch = master AND type != pull_request AND env(DOCKER_USERNAME) IS present @@ -32,6 +34,26 @@ jobs: - python: "3.6" - python: "3.7" - python: "3.8" + - stage: documentation + python: "3.8" + addons: [] + before_install: + - sudo ./utils/searx.sh install buildhost + install: true + script: + - SEARX_DEBUG=1 make travis-gh-pages + after_success: true + deploy: + provider: pages + edge: false + token: $GITHUB_TOKEN # Set in the settings page of your repository, as a secure variable + strategy: git + skip_cleanup: true + keep_history: true + local_dir: gh-pages + target_branch: gh-pages + on: + branch: master - stage: docker python: "3.8" git: diff --git a/utils/makefile.sphinx b/utils/makefile.sphinx index a9931ec78..ba18dffa6 100644 --- a/utils/makefile.sphinx +++ b/utils/makefile.sphinx @@ -168,6 +168,11 @@ $(BOOKS_CLEAN): $(DOCS_BUILD)/latex/$(patsubst books/%.clean,%,$@) # github pages +PHONY += prepare-gh-pages +prepare-gh-pages: + cp -r $(DOCS_DIST)/* $(GH_PAGES)/ + touch $(GH_PAGES)/.nojekyll + echo "" > $(GH_PAGES)/404.html PHONY += $(GH_PAGES) $(GH_PAGES):: @@ -176,14 +181,18 @@ $(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 - cp -r $(DOCS_DIST)/* $(GH_PAGES)/ - touch $(GH_PAGES)/.nojekyll - echo "" > $(GH_PAGES)/404.html + $(MAKE) prepare-gh-pages cd $(GH_PAGES);\ git add --all . ;\ git commit -m "gh-pages: updated" ;\ git push origin gh-pages +PHONY += travis-gh-pages +travis-gh-pages: + $(MAKE) docs + rm -Rf $(GH_PAGES) + mkdir -p $(GH_PAGES) + $(MAKE) prepare-gh-pages PHONY += docs-clean docs-clean: $(BOOKS_CLEAN)