Skip to content

Commit 44ab4b8

Browse files
committed
INFRA: add .gitignore and CI
1 parent eb0e378 commit 44ab4b8

File tree

2 files changed

+70
-129
lines changed

2 files changed

+70
-129
lines changed

.github/workflows/build-book.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: build-test-deploy-book
2+
3+
# Run on pushes and pull requests
4+
on: [push, pull_request]
5+
6+
# This job installs dependencies, build the book, and pushes it to `gh-pages`
7+
jobs:
8+
build-test-book:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v2
12+
13+
- name: Setup Python
14+
uses: actions/setup-python@v2
15+
with:
16+
python-version: '3.9'
17+
18+
- name: Upgrade pip
19+
run: |
20+
# install pip=>20.1 to use "pip cache dir"
21+
python3 -m pip install --upgrade pip
22+
- name: Get pip cache dir
23+
id: pip-cache
24+
run: echo "::set-output name=dir::$(pip cache dir)"
25+
26+
- name: Cache dependencies
27+
uses: actions/cache@v2
28+
with:
29+
path: ${{ steps.pip-cache.outputs.dir }}
30+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
31+
restore-keys: |
32+
${{ runner.os }}-pip-
33+
34+
- name: Install dependencies
35+
run: python3 -m pip install nox
36+
37+
- name: Build book
38+
run: nox -s docs
39+
40+
# Test for bad links and ensure alt tags for usability
41+
- name: Check HTML using htmlproofer
42+
uses: chabad360/htmlproofer@master
43+
with:
44+
directory: '_build'
45+
arguments: |
46+
--ignore-files "/.+\/_static/"
47+
48+
# Save html as artifact
49+
- name: Save book html as artifact for viewing
50+
uses: actions/upload-artifact@v3
51+
with:
52+
name: book-html
53+
path: |
54+
_build/html/
55+
56+
# Push the book's HTML to github-pages
57+
- name: Push to GitHub Pages
58+
# Only push if on main branch
59+
if: github.ref == 'refs/heads/main'
60+
uses: peaceiris/[email protected]
61+
with:
62+
github_token: ${{ secrets.GITHUB_TOKEN }}
63+
publish_dir: ./_build/html

.gitignore

Lines changed: 7 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -1,129 +1,7 @@
1-
# Byte-compiled / optimized / DLL files
2-
__pycache__/
3-
*.py[cod]
4-
*$py.class
5-
6-
# C extensions
7-
*.so
8-
9-
# Distribution / packaging
10-
.Python
11-
build/
12-
develop-eggs/
13-
dist/
14-
downloads/
15-
eggs/
16-
.eggs/
17-
lib/
18-
lib64/
19-
parts/
20-
sdist/
21-
var/
22-
wheels/
23-
pip-wheel-metadata/
24-
share/python-wheels/
25-
*.egg-info/
26-
.installed.cfg
27-
*.egg
28-
MANIFEST
29-
30-
# PyInstaller
31-
# Usually these files are written by a python script from a template
32-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
33-
*.manifest
34-
*.spec
35-
36-
# Installer logs
37-
pip-log.txt
38-
pip-delete-this-directory.txt
39-
40-
# Unit test / coverage reports
41-
htmlcov/
42-
.tox/
43-
.nox/
44-
.coverage
45-
.coverage.*
46-
.cache
47-
nosetests.xml
48-
coverage.xml
49-
*.cover
50-
*.py,cover
51-
.hypothesis/
52-
.pytest_cache/
53-
54-
# Translations
55-
*.mo
56-
*.pot
57-
58-
# Django stuff:
59-
*.log
60-
local_settings.py
61-
db.sqlite3
62-
db.sqlite3-journal
63-
64-
# Flask stuff:
65-
instance/
66-
.webassets-cache
67-
68-
# Scrapy stuff:
69-
.scrapy
70-
71-
# Sphinx documentation
72-
docs/_build/
73-
74-
# PyBuilder
75-
target/
76-
77-
# Jupyter Notebook
78-
.ipynb_checkpoints
79-
80-
# IPython
81-
profile_default/
82-
ipython_config.py
83-
84-
# pyenv
85-
.python-version
86-
87-
# pipenv
88-
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89-
# However, in case of collaboration, if having platform-specific dependencies or dependencies
90-
# having no cross-platform support, pipenv may install dependencies that don't work, or not
91-
# install all needed dependencies.
92-
#Pipfile.lock
93-
94-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
95-
__pypackages__/
96-
97-
# Celery stuff
98-
celerybeat-schedule
99-
celerybeat.pid
100-
101-
# SageMath parsed files
102-
*.sage.py
103-
104-
# Environments
105-
.env
106-
.venv
107-
env/
108-
venv/
109-
ENV/
110-
env.bak/
111-
venv.bak/
112-
113-
# Spyder project settings
114-
.spyderproject
115-
.spyproject
116-
117-
# Rope project settings
118-
.ropeproject
119-
120-
# mkdocs documentation
121-
/site
122-
123-
# mypy
124-
.mypy_cache/
125-
.dmypy.json
126-
dmypy.json
127-
128-
# Pyre type checker
129-
.pyre/
1+
_build
2+
.vscode
3+
*/.ipynb_checkpoints/*
4+
tmp/
5+
.DS_Store
6+
.nox
7+
__pycache__

0 commit comments

Comments
 (0)