Skip to content

Codes and extensionality #854

Codes and extensionality

Codes and extensionality #854

Workflow file for this run

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