From 52994e39169abeabd44c30cc11f4d634f6293ad2 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Fri, 30 Jan 2026 11:35:02 +0100 Subject: [PATCH 1/6] chore: Run build and test suite jobs on MacOS and Windows We add a job matrix so we build and test Verso on MacOS and Windows. In order to avoid multiple uploads, we split the upload step to its own job, which still runs on Linux. Other changes: - elan version updated --- .github/workflows/ci.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd673cbd..56fba7e8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,10 @@ name: Continuous Integration jobs: build: name: Build and test - runs-on: nscloud-ubuntu-22.04-amd64-8x16 + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [nscloud-ubuntu-22.04-amd64-8x16, macos-latest, windows-latest] env: # Used for browser tests. Placing them here allows caching to work right. PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/.playwright-browsers @@ -22,7 +25,7 @@ jobs: - name: install elan run: | set -o pipefail - curl -sSfL https://github.com/leanprover/elan/releases/download/v3.0.0/elan-x86_64-unknown-linux-gnu.tar.gz | tar xz + curl -sSfL https://github.com/leanprover/elan/releases/download/v4.1.2/elan-x86_64-unknown-linux-gnu.tar.gz | tar xz ./elan-init -y --default-toolchain none echo "$HOME/.elan/bin" >> "$GITHUB_PATH" @@ -186,6 +189,14 @@ jobs: run: uv run --project browser-tests --extra test pytest browser-tests -v # End browser testing + upload: + name: Upload Artifact and Releases + needs: build + runs-on: nscloud-ubuntu-22.04-amd64-8x16 + env: + # Used for browser tests. Placing them here allows caching to work right. + PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/.playwright-browsers + steps: - name: Upload docs to artifact storage if: github.ref_type != 'tag' && github.ref != 'refs/heads/main' uses: actions/upload-artifact@v6 From 78e99db2809e3311138b4d41139b73e98aa46d5d Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Fri, 30 Jan 2026 12:23:52 +0100 Subject: [PATCH 2/6] wip --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56fba7e8..14e3bf60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,8 +25,9 @@ jobs: - name: install elan run: | set -o pipefail - curl -sSfL https://github.com/leanprover/elan/releases/download/v4.1.2/elan-x86_64-unknown-linux-gnu.tar.gz | tar xz - ./elan-init -y --default-toolchain none + curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y --default-toolchain none + # curl -sSfL https://github.com/leanprover/elan/releases/download/v4.1.2/elan-x86_64-unknown-linux-gnu.tar.gz | tar xz + # elan-init -y --default-toolchain none echo "$HOME/.elan/bin" >> "$GITHUB_PATH" - uses: actions/checkout@v6 From 47b9b98d73064fa221ba638478a9bd41ab76a15a Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Fri, 30 Jan 2026 12:28:51 +0100 Subject: [PATCH 3/6] wip --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14e3bf60..1125d0ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: steps: - name: install elan run: | - set -o pipefail + # set -o pipefail curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y --default-toolchain none # curl -sSfL https://github.com/leanprover/elan/releases/download/v4.1.2/elan-x86_64-unknown-linux-gnu.tar.gz | tar xz # elan-init -y --default-toolchain none From 008c617c1cb6bb820585cec086dd23c4554deec7 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Fri, 30 Jan 2026 12:31:43 +0100 Subject: [PATCH 4/6] wip --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1125d0ab..a2885d17 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,6 +14,7 @@ name: Continuous Integration jobs: build: name: Build and test + continue-on-error: true runs-on: ${{ matrix.os }} strategy: matrix: @@ -34,7 +35,7 @@ jobs: - name: List all files run: | - find . -name "*.lean" -type f + bash -c "find . -name "*.lean" -type f" - name: lean version run: | From adaa3a5cf204865c60679abd3cb6b508e2a3bc8b Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Fri, 30 Jan 2026 12:32:28 +0100 Subject: [PATCH 5/6] wip --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2885d17..c7508e42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: - name: List all files run: | - bash -c "find . -name "*.lean" -type f" + bash -c "find . -name \"*.lean\" -type f" - name: lean version run: | From d52e1c3b6f7a76e8693bb5288fe55f077bac68dd Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Fri, 30 Jan 2026 12:36:00 +0100 Subject: [PATCH 6/6] wip --- .github/workflows/ci.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c7508e42..b09eff83 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,25 +25,27 @@ jobs: steps: - name: install elan run: | - # set -o pipefail + set -o pipefail curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y --default-toolchain none - # curl -sSfL https://github.com/leanprover/elan/releases/download/v4.1.2/elan-x86_64-unknown-linux-gnu.tar.gz | tar xz - # elan-init -y --default-toolchain none echo "$HOME/.elan/bin" >> "$GITHUB_PATH" + shell: bash - uses: actions/checkout@v6 - name: List all files run: | - bash -c "find . -name \"*.lean\" -type f" + find . -name \"*.lean\" -type f + shell: bash - name: lean version run: | lean --version + shell: bash - name: Compute short SHA id: shortSHA run: echo "short_sha=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" + shell: bash - name: Cache .lake uses: actions/cache@v5 @@ -64,10 +66,12 @@ jobs: lake build lake build :examples popd + shell: bash - name: Build the project run: | lake build + shell: bash - name: Install PDF Dependencies uses: zauguin/install-texlive@v4 @@ -114,23 +118,28 @@ jobs: - name: Check `tlmgr` version run: tlmgr --version + shell: bash - name: Run tests run: | lake test -- --verbose --check-tex + shell: bash - name: Generate the test website run: | lake exe demosite --output _out/test-projects/demosite + shell: bash - name: Generate the test genre's document run: | lake exe simplepage + shell: bash - name: Generate some source HTML run: | lake build Verso.Hover:literate lake exe verso-html .lake/build/literate htmlout + shell: bash - name: Install linkchecker run: pip install linkchecker