Skip to content

Commit fd17244

Browse files
authored
Merge pull request #47 from C-Achard/docs_autodeploy
Docs autodeploy
2 parents 5ceab36 + bbde5f1 commit fd17244

File tree

1 file changed

+12
-133
lines changed

1 file changed

+12
-133
lines changed

.github/workflows/build_docs.yml

Lines changed: 12 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -1,138 +1,17 @@
1-
# From: https://github.com/rkdarst/sphinx-actions-test/blob/master/.github/workflows/sphinx-build.yml
1+
name: CI
22

3-
name: sphinx
4-
on: [push, pull_request]
5-
6-
env:
7-
DEFAULT_BRANCH: "main"
8-
#SPHINXOPTS: "-W --keep-going -T"
9-
# ^-- If these SPHINXOPTS are enabled, then be strict about the builds and fail on any warnings
3+
on:
4+
[ push ]
105

116
jobs:
12-
build-and-deploy:
13-
name: Build and gh-pages
7+
build:
8+
149
runs-on: ubuntu-latest
15-
steps:
16-
# https://github.com/marketplace/actions/checkout
17-
- uses: actions/checkout@v2
18-
with:
19-
fetch-depth: 0
20-
lfs: true
21-
# https://github.com/marketplace/actions/setup-python
22-
# ^-- This gives info on matrix testing.
23-
- name: Install Python
24-
uses: actions/setup-python@v2
25-
with:
26-
python-version: 3.8
27-
# https://docs.github.com/en/actions/guides/building-and-testing-python#caching-dependencies
28-
# ^-- How to set up caching for pip on Ubuntu
29-
- name: Cache pip
30-
uses: actions/cache@v2
31-
with:
32-
path: ~/.cache/pip
33-
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
34-
restore-keys: |
35-
${{ runner.os }}-pip-
36-
${{ runner.os }}-
37-
# https://docs.github.com/en/actions/guides/building-and-testing-python#installing-dependencies
38-
# ^-- This gives info on installing dependencies with pip
39-
- name: Install dependencies
40-
run: |
41-
python -m pip install --upgrade pip
42-
pip install -r requirements.txt
43-
- name: Debugging information
44-
run: |
45-
echo "github.ref:" ${{github.ref}}
46-
echo "github.event_name:" ${{github.event_name}}
47-
echo "github.head_ref:" ${{github.head_ref}}
48-
echo "github.base_ref:" ${{github.base_ref}}
49-
set -x
50-
git rev-parse --abbrev-ref HEAD
51-
git branch
52-
git branch -a
53-
git remote -v
54-
python -V
55-
pip list --not-required
56-
pip list
57-
# Build
58-
- uses: ammaraskar/sphinx-problem-matcher@master
59-
- name: Build Sphinx docs
60-
run: |
61-
make html
62-
# This fixes broken copy button icons, as explained in
63-
# https://github.com/coderefinery/sphinx-lesson/issues/50
64-
# https://github.com/executablebooks/sphinx-copybutton/issues/110
65-
# This can be removed once these PRs are accepted (but the
66-
# fixes also need to propagate to other themes):
67-
# https://github.com/sphinx-doc/sphinx/pull/8524
68-
# https://github.com/readthedocs/sphinx_rtd_theme/pull/1025
69-
# sed -i 's/url_root="#"/url_root=""/' _build/dirhtml/index.html || true
70-
# The following supports building all branches and combining on
71-
# gh-pages
7210

73-
# Clone and set up the old gh-pages branch
74-
- name: Clone old gh-pages
75-
if: ${{ github.event_name == 'push' }}
76-
run: |
77-
set -x
78-
git fetch
79-
( git branch gh-pages remotes/origin/gh-pages && git clone . --branch=gh-pages _gh-pages/ ) || mkdir _gh-pages
80-
rm -rf _gh-pages/.git/
81-
mkdir -p _gh-pages/branch/
82-
# If a push and default branch, copy build to _gh-pages/ as the "main"
83-
# deployment.
84-
- name: Copy new build (default branch)
85-
if: |
86-
contains(github.event_name, 'push') &&
87-
contains(github.ref, env.DEFAULT_BRANCH)
88-
run: |
89-
set -x
90-
# Delete everything under _gh-pages/ that is from the
91-
# primary branch deployment. Eicludes the other branches
92-
# _gh-pages/branch-* paths, and not including
93-
# _gh-pages itself.
94-
find _gh-pages/ -mindepth 1 ! -path '_gh-pages/branch*' -delete
95-
rsync -a _build/dirhtml/ _gh-pages/
96-
# If a push and not on default branch, then copy the build to
97-
# _gh-pages/branch/$brname (transforming '/' into '--')
98-
- name: Copy new build (branch)
99-
if: |
100-
contains(github.event_name, 'push') &&
101-
!contains(github.ref, env.DEFAULT_BRANCH)
102-
run: |
103-
set -x
104-
#brname=$(git rev-parse --abbrev-ref HEAD)
105-
brname="${{github.ref}}"
106-
brname="${brname##refs/heads/}"
107-
brdir=${brname//\//--} # replace '/' with '--'
108-
rm -rf _gh-pages/branch/${brdir}
109-
rsync -a _build/dirhtml/ _gh-pages/branch/${brdir}
110-
# Go through each branch in _gh-pages/branch/, if it's not a
111-
# ref, then delete it.
112-
- name: Delete old feature branches
113-
if: ${{ github.event_name == 'push' }}
114-
run: |
115-
set -x
116-
for brdir in `ls _gh-pages/branch/` ; do
117-
brname=${brdir//--/\/} # replace '--' with '/'
118-
if ! git show-ref remotes/origin/$brname ; then
119-
echo "Removing $brdir"
120-
rm -r _gh-pages/branch/$brdir/
121-
fi
122-
done
123-
# Add the .nojekyll file
124-
- name: nojekyll
125-
if: ${{ github.event_name == 'push' }}
126-
run: |
127-
touch _gh-pages/.nojekyll
128-
# Deploy
129-
# https://github.com/peaceiris/actions-gh-pages
130-
- name: Deploy
131-
uses: peaceiris/actions-gh-pages@v3
132-
if: ${{ github.event_name == 'push' }}
133-
#if: ${{ success() && github.event_name == 'push' && github.ref == 'refs/heads/$defaultBranch' }}
134-
with:
135-
publish_branch: gh-pages
136-
github_token: ${{ secrets.GITHUB_TOKEN }}
137-
publish_dir: _gh-pages/
138-
force_orphan: true
11+
steps:
12+
- uses: actions/checkout@v1
13+
# Standard drop-in approach that should work for most people.
14+
- uses: ammaraskar/sphinx-action@master
15+
with:
16+
pre-build-command: "pip install -r dev.requirements.txt"
17+
docs-folder: "docs/"

0 commit comments

Comments
 (0)