Skip to content

Nightly

Nightly #786

Workflow file for this run

name: Nightly
on:
schedule:
- cron: '0 2 * * *'
workflow_dispatch:
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Cache Cargo build
uses: actions/cache/restore@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock', 'prelude-generator/**') }}
restore-keys: ${{ runner.os }}-cargo-
- name: Cache Opam switch
uses: actions/cache@v4
with:
path: ~/.local/share/creusot/_opam
key: ${{ runner.os }}-opam-${{ hashFiles('creusot-deps.opam') }}
restore-keys: ${{ runner.os }}-opam-
- run: sudo apt update && sudo apt install opam libzmq3-dev
if: matrix.os == 'ubuntu-latest'
- run: brew update && brew install opam autoconf zeromq zlib
if: matrix.os == 'macos-latest'
- name: Setup environment
run: |
opam init --bare
opam --cli=2.1 var --global in-creusot-ci=true
- name: Install Creusot
# Use only 2 parallel provers, because more provers (4) makes replaying proofs unstable
run: ./INSTALL --provers-parallelism 2
- run: cargo test --test why3
- name: Get current date
run: echo "TODAY=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
- name: Save Why3find cache
uses: actions/cache/save@v4
with:
path: target/.why3find
key: ${{ runner.os }}-why3find-${{ env.TODAY }}-${{ hashFiles('target/.why3find/**') }}
- name: Minimize Opam cache
run: opam clean --all-switches --download-cache --logs --repo-cache