Rebuild blueprint whenever rewrite
branch updated
#766
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 | |
- rewrite | |
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: 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: 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 lean4checker | |
# run: | | |
# git clone https://github.com/leanprover/lean4checker | |
# cd lean4checker | |
# ~/.elan/bin/lake -Kenv=dev build | |
# - name: check environments using lean4checker | |
# run: grep -h '^import ConNF.' ConNF/*.lean | sed 's/import //' | xargs -n 1 -P 8 ~/.elan/bin/lake -Kenv=dev env lean4checker/build/bin/lean4checker | |
- name: build documentation | |
run: ~/.elan/bin/lake -Kenv=dev build ConNF:docs | |
- name: copy documentation | |
run: cp -R .lake/build/doc docs/ | |
- name: checkout rewrite | |
uses: actions/checkout@v2 | |
with: | |
ref: rewrite | |
path: rewrite | |
fetch-depth: 0 | |
- 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 | |
cd rewrite | |
inv bp web | |
cp -r blueprint/print ../docs/blueprint/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 |