Skip to content

feat: stability of the classical harmonic oscillator #205

feat: stability of the classical harmonic oscillator

feat: stability of the classical harmonic oscillator #205

Workflow file for this run

name: Build project
on:
push:
branches:
- main
paths:
- '**/*.lean'
- '**/blueprint.yml'
- 'blueprint/**'
- 'docs/**'
- 'scripts/**'
- 'lean-toolchain'
- 'lakefile.toml'
- 'lake-manifest.json'
pull_request:
branches:
- main
paths:
- '**/*.lean'
- '**/blueprint.yml'
- 'blueprint/**'
- 'docs/**'
- 'scripts/**'
- 'lean-toolchain'
- 'lakefile.toml'
- 'lake-manifest.json'
workflow_dispatch: # Allow manual triggering of the workflow from the GitHub Actions interface
# We do not cancel CI on main so as to keep all commits green (cancelling CI on a commit makes it
# red).
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages and modify PR labels
permissions:
contents: read # Read access to repository contents
pages: write # Write access to GitHub Pages
id-token: write # Write access to ID tokens
jobs:
style_lint:
name: Lint style
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Don't 'import Mathlib', use precise imports
if: always()
run: |
! (find DynamicalSystems -name "*.lean" -type f -print0 | xargs -0 grep -E -n '^import Mathlib$')
build_project:
runs-on: ubuntu-latest
name: Build
steps:
- name: Cleanup to free disk space
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: false
# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: false
haskell: false
large-packages: false
docker-images: false
swap-storage: false
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Build and lint
uses: leanprover/lean-action@v1
with:
build: true
lint: true
# mk_all-check: false
- name: Check axioms
run: lake exe axiom-audit
- name: Build verso
run: lake exe generate-docs
- name: Setup pages
uses: actions/configure-pages@v6
- name: Upload pages
uses: actions/upload-pages-artifact@v5
with:
path: html/html-multi/
deploy:
if: github.ref == 'refs/heads/main'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build_project
steps:
- name: Deploy to GitHub pages
uses: actions/deploy-pages@v5