Restructure MainInduction #864
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- main | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
jobs: | |
build_project: | |
runs-on: ubuntu-latest | |
name: Build project | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- name: checkout project | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: check case sensitivity | |
uses: credfeto/action-case-checker@v1.3.0 | |
- name: look for ignored files | |
uses: credfeto/action-no-ignored-files@v1.1.0 | |
- name: check for lean files with the executable bit set | |
shell: bash | |
run: | | |
executable_files="$(find . -name '*.lean' -type f \( -perm -u=x -o -perm -g=x -o -perm -o=x \))" | |
if [[ -n "$executable_files" ]] | |
then | |
echo "ERROR: The following Lean files have the executable bit set." | |
echo "$executable_files" | |
exit 1 | |
fi | |
- name: install elan | |
run: curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y --default-toolchain leanprover/lean4:nightly-2023-08-15 | |
- name: get cache | |
run: ~/.elan/bin/lake -Kenv=dev exe cache get | |
- name: check ConNF.lean | |
run: ~/.elan/bin/lake -Kenv=dev exe mk_all --lib ConNF --check | |
- name: build project | |
run: ~/.elan/bin/lake -Kenv=dev build ConNF | |
- name: build index | |
run: | | |
printf "\n#deptree\n#index\n#unseen\n" >> DependencyGraph.lean | |
~/.elan/bin/lake -Kenv=dev build DependencyGraph | |
- name: setup graphviz | |
uses: ts-graphviz/setup-graphviz@v2 | |
- name: build dependency graph | |
working-directory: docs | |
run: | | |
dot -Tpdf -Gnewrank=true -Goverlaps=false -Gsplines=ortho depgraph.dot > depgraph.pdf | |
dot -Tpng -Gnewrank=true -Goverlaps=false -Gsplines=ortho depgraph.dot > depgraph.png | |
dot -Tsvg -Gnewrank=true -Goverlaps=false -Gsplines=ortho depgraph.dot > depgraph.svg | |
- name: build documentation | |
run: ~/.elan/bin/lake -Kenv=dev build ConNF:docs | |
- name: copy documentation | |
run: cp -R .lake/build/doc docs/ | |
- name: build blueprint | |
uses: xu-cheng/texlive-action@v2 | |
with: | |
docker_image: ghcr.io/xu-cheng/texlive-full:20231201 | |
run: | | |
apk update | |
apk add --update make py3-pip git pkgconfig graphviz graphviz-dev gcc musl-dev | |
git config --global --add safe.directory $GITHUB_WORKSPACE | |
git config --global --add safe.directory `pwd` | |
python3 -m venv env | |
source env/bin/activate | |
pip install --upgrade pip requests wheel | |
pip install invoke | |
pip install pygraphviz --global-option=build_ext --global-option="-L/usr/lib/graphviz/" --global-option="-R/usr/lib/graphviz/" | |
pip install leanblueprint | |
inv bp web | |
cp -r blueprint/print docs/print | |
cp -r blueprint/web docs/blueprint | |
- name: remove .gitignore for gh-pages | |
run: rm docs/.gitignore | |
- name: bundler deps | |
uses: ruby/setup-ruby@v1 | |
with: | |
working-directory: docs | |
ruby-version: "3.0" # Not needed with a .ruby-version file | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
- name: bundle website | |
working-directory: docs | |
run: JEKYLL_ENV=production bundle exec jekyll build | |
- name: upload artifact | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: "docs/_site" | |
- name: deploy website | |
uses: actions/deploy-pages@v1 |