Skip to content

Commit c36b6d6

Browse files
authored
Merge pull request #71 from bobleesj/cookie-udpate-yml
Update docs.yml, main.yml and doc building files
2 parents 4c51c55 + e0afc02 commit c36b6d6

File tree

4 files changed

+207
-23
lines changed

4 files changed

+207
-23
lines changed

.github/workflows/docs.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,19 @@ jobs:
3838
- name: build documents
3939
run: make -C doc html
4040

41+
- name: Run tests and upload coverage
42+
shell: bash -l {0}
43+
run: |
44+
conda activate test
45+
coverage run -m pytest -vv -s
46+
coverage report -m
47+
codecov
48+
49+
- name: Upload coverage to Codecov
50+
uses: codecov/codecov-action@v4
51+
env:
52+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
53+
4154
- name: Deploy
4255
uses: peaceiris/actions-gh-pages@v4
4356
with:

.github/workflows/main.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches:
66
- main
7+
- CI
78
pull_request:
89
workflow_dispatch:
910

@@ -19,9 +20,8 @@ jobs:
1920
uses: actions/checkout@v3
2021
with:
2122
repository: diffpy/diffpy.snmf
22-
# for bookkeeping have diffpy.snmf at the same level as everything else in the
23-
# directory tree
2423
path: .
24+
fetch-depth: 0 # avoid shallow clone with no tags
2525

2626
- name: initialize miniconda
2727
# this uses a marketplace action that sets up miniconda in a way that makes
@@ -50,10 +50,6 @@ jobs:
5050
shell: bash -l {0}
5151
run: |
5252
conda activate test
53-
coverage run run_tests.py
53+
coverage run -m pytest -vv -s
5454
coverage report -m
55-
56-
- name: Upload coverage reports to Codecov
57-
uses: codecov/codecov-action@v3
58-
# with:
59-
# token: ${{ secrets.CODECOV_TOKEN }}
55+
codecov

doc/Makefile

Lines changed: 187 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,194 @@
1-
# Minimal makefile for Sphinx documentation
1+
# Makefile for Sphinx documentation
22
#
33

4-
# You can set these variables from the command line, and also
5-
# from the environment for the first two.
6-
SPHINXOPTS ?=
7-
SPHINXBUILD ?= sphinx-build
8-
SOURCEDIR = source
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
PAPER =
98
BUILDDIR = build
9+
BASENAME = $(subst .,,$(subst $() $(),,diffpy.snmf))
10+
11+
# User-friendly check for sphinx-build
12+
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
13+
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
14+
endif
15+
16+
# Internal variables.
17+
PAPEROPT_a4 = -D latex_paper_size=a4
18+
PAPEROPT_letter = -D latex_paper_size=letter
19+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
20+
# the i18n builder cannot share the environment and doctrees with the others
21+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
22+
23+
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
1024

11-
# Put it first so that "make" without argument is like "make help".
1225
help:
13-
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
26+
@echo "Please use \`make <target>' where <target> is one of"
27+
@echo " html to make standalone HTML files"
28+
@echo " dirhtml to make HTML files named index.html in directories"
29+
@echo " singlehtml to make a single large HTML file"
30+
@echo " pickle to make pickle files"
31+
@echo " json to make JSON files"
32+
@echo " htmlhelp to make HTML files and a HTML help project"
33+
@echo " qthelp to make HTML files and a qthelp project"
34+
@echo " devhelp to make HTML files and a Devhelp project"
35+
@echo " epub to make an epub"
36+
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37+
@echo " latexpdf to make LaTeX files and run them through pdflatex"
38+
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39+
@echo " text to make text files"
40+
@echo " man to make manual pages"
41+
@echo " texinfo to make Texinfo files"
42+
@echo " info to make Texinfo files and run them through makeinfo"
43+
@echo " gettext to make PO message catalogs"
44+
@echo " changes to make an overview of all changed/added/deprecated items"
45+
@echo " xml to make Docutils-native XML files"
46+
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
47+
@echo " linkcheck to check all external links for integrity"
48+
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
49+
50+
clean:
51+
rm -rf $(BUILDDIR)/*
52+
53+
html:
54+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
55+
@echo
56+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
57+
58+
dirhtml:
59+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
60+
@echo
61+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
62+
63+
singlehtml:
64+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
65+
@echo
66+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
67+
68+
pickle:
69+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
70+
@echo
71+
@echo "Build finished; now you can process the pickle files."
72+
73+
json:
74+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
75+
@echo
76+
@echo "Build finished; now you can process the JSON files."
77+
78+
htmlhelp:
79+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
80+
@echo
81+
@echo "Build finished; now you can run HTML Help Workshop with the" \
82+
".hhp project file in $(BUILDDIR)/htmlhelp."
83+
84+
qthelp:
85+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
86+
@echo
87+
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
88+
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
89+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/$(BASENAME).qhcp"
90+
@echo "To view the help file:"
91+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/$(BASENAME).qhc"
92+
93+
devhelp:
94+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
95+
@echo
96+
@echo "Build finished."
97+
@echo "To view the help file:"
98+
@echo "# mkdir -p $$HOME/.local/share/devhelp/$(BASENAME)"
99+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/$(BASENAME)"
100+
@echo "# devhelp"
101+
102+
epub:
103+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
104+
@echo
105+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
106+
107+
latex:
108+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
109+
@echo
110+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
111+
@echo "Run \`make' in that directory to run these through (pdf)latex" \
112+
"(use \`make latexpdf' here to do that automatically)."
113+
114+
latexpdf:
115+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
116+
@echo "Running LaTeX files through pdflatex..."
117+
$(MAKE) -C $(BUILDDIR)/latex all-pdf
118+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
119+
120+
latexpdfja:
121+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
122+
@echo "Running LaTeX files through platex and dvipdfmx..."
123+
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
124+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
125+
126+
text:
127+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
128+
@echo
129+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
130+
131+
man:
132+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
133+
@echo
134+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
135+
136+
texinfo:
137+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
138+
@echo
139+
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
140+
@echo "Run \`make' in that directory to run these through makeinfo" \
141+
"(use \`make info' here to do that automatically)."
142+
143+
info:
144+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
145+
@echo "Running Texinfo files through makeinfo..."
146+
make -C $(BUILDDIR)/texinfo info
147+
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
148+
149+
gettext:
150+
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
151+
@echo
152+
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
153+
154+
changes:
155+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
156+
@echo
157+
@echo "The overview file is in $(BUILDDIR)/changes."
158+
159+
linkcheck:
160+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
161+
@echo
162+
@echo "Link check complete; look for any errors in the above output " \
163+
"or in $(BUILDDIR)/linkcheck/output.txt."
164+
165+
doctest:
166+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
167+
@echo "Testing of doctests in the sources finished, look at the " \
168+
"results in $(BUILDDIR)/doctest/output.txt."
169+
170+
# Manual publishing to the gh-pages branch
14171

15-
.PHONY: help Makefile
172+
GITREPOPATH = $(shell cd $(CURDIR) && git rev-parse --git-dir)
173+
GITREMOTE = origin
174+
GITREMOTEURL = $(shell git config --get remote.$(GITREMOTE).url)
175+
GITLASTCOMMIT = $(shell git rev-parse --short HEAD)
16176

17-
# Catch-all target: route all unknown targets to Sphinx using the new
18-
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19-
%: Makefile
20-
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
177+
publish:
178+
@test -d build/html || \
179+
( echo >&2 "Run 'make html' first!"; false )
180+
git show-ref --verify --quiet refs/heads/gh-pages || \
181+
git branch --track gh-pages $(GITREMOTE)/gh-pages
182+
test -d build/gh-pages || \
183+
git clone -s -b gh-pages $(GITREPOPATH) build/gh-pages
184+
cd build/gh-pages && \
185+
git pull $(GITREMOTEURL) gh-pages
186+
rsync -acv --delete --exclude=.git --exclude=.rsync-exclude \
187+
--exclude-from=build/gh-pages/.rsync-exclude \
188+
--link-dest=$(CURDIR)/build/html build/html/ build/gh-pages/
189+
cd build/gh-pages && \
190+
git add --all . && \
191+
git diff --cached --quiet || \
192+
git commit -m "Sync with the source at $(GITLASTCOMMIT)."
193+
cd build/gh-pages && \
194+
git push origin gh-pages

doc/make.bat

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ if "%SPHINXBUILD%" == "" (
99
)
1010
set SOURCEDIR=source
1111
set BUILDDIR=build
12+
set SPHINXPROJ=PackagingScientificPython
1213

1314
if "%1" == "" goto help
1415

@@ -25,11 +26,11 @@ if errorlevel 9009 (
2526
exit /b 1
2627
)
2728

28-
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
2930
goto end
3031

3132
:help
32-
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
3334

3435
:end
3536
popd

0 commit comments

Comments
 (0)