Skip to content

Add Google Colab compatibility and update CI/CD workflow - #6

Open
yohanchatelain wants to merge 8 commits into
verificarlo:masterfrom
yohanchatelain:master
Open

yohanchatelain wants to merge 8 commits into
verificarlo:masterfrom
yohanchatelain:master

Conversation

@yohanchatelain

Copy link
Copy Markdown

This pull request updates the CI workflow to use newer and more reliable GitHub Actions, introduces automated testing for the Jupyter notebook, and improves project documentation. The most significant changes are grouped below.

CI Workflow Updates:

  • Updated GitHub Actions to use the latest versions: actions/checkout@v4, xu-cheng/latex-action@v3 (replacing dante-ev/latex-action), and actions/upload-artifact@v4 for improved reliability and compatibility. [1] [2]

Jupyter Notebook Testing:

  • Added a new test_notebook job to the workflow that runs inside the verificarlo/verificarlo:latest container, installs notebook dependencies, executes tutorial.ipynb, and uploads the executed notebook as an artifact. This ensures the notebook runs successfully in CI.

Documentation Improvements:

  • Updated README.md to include a Colab badge for easy access to the notebook and described the contents of the repository, highlighting the Jupyter notebook.

yohanchatelain and others added 5 commits January 29, 2026 10:53
Verificarlo 2.5.0 dropped support for LLVM < 17, so the setup cell's
hardcoded llvm-14-dev/clang-14 install can no longer build it. Update
the install cell to:

- pick the newest supported LLVM (17-21) available in apt, falling back
  to apt.llvm.org when none is packaged (e.g. older Colab images)
- install the newly required build dependencies: GNU parallel and
  libclang-rt-dev

All other tutorial interfaces (MCA/IEEE/VPREC backends and options,
--ddebug/--inst-fma flags, vfc_ddebug, VFC_BACKENDS_LOGGER) are
unchanged in verificarlo 2.5.1. Notebook outputs regenerated by a full
end-to-end run against verificarlo 2.5.1 built with LLVM 20 on
Ubuntu 24.04.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ao48deGgH1zfbPB2PLkqJ5
The workflow failed before running any step because actions/upload-artifact@v3
was disabled by GitHub in 2025. Update all actions to maintained versions:

- actions/checkout v2 -> v4, actions/upload-artifact v3 -> v4
- dante-ev/latex-action@latest -> xu-cheng/latex-action@v3, passing the
  equivalent latexmk arguments

Add a test_notebook job that executes tutorial.ipynb end-to-end inside the
official verificarlo/verificarlo Docker image and uploads the executed
notebook as an artifact, so the tutorial is checked against the latest
verificarlo release on every push.

Add an Open-in-Colab badge to the README and to the notebook title cell.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ao48deGgH1zfbPB2PLkqJ5
…-compat-ishw8x

Update CI/CD workflow and improve project documentation

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request modernizes CI for building the LaTeX tutorial and adds CI execution of the Jupyter notebook, alongside small documentation and ignore-list updates to support Google Colab usage.

Changes:

  • Updated the LaTeX build job to use newer GitHub Actions (checkout v4, latex-action v3, upload-artifact v4).
  • Added a test_notebook workflow job that installs dependencies, executes tutorial.ipynb, and uploads the executed notebook.
  • Added a Colab badge + notebook mention in README.md, and expanded .gitignore for LaTeX build artifacts.

Reviewed changes

Copilot reviewed 2 out of 4 changed files in this pull request and generated 2 comments.

File Description
README.md Adds a Colab badge and documents the notebook as part of the repo contents.
.gitignore Ignores common LaTeX build outputs (aux/log/pdf/etc.).
.github/workflows/main.yml Updates CI actions, adds a notebook execution job, and uploads notebook output as an artifact.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/main.yml Outdated
Comment thread .github/workflows/main.yml Outdated
yohanchatelain and others added 3 commits July 17, 2026 13:08
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
- Dockerfile with LLVM 20, Verificarlo from source, and all dependencies
- .dockerignore to exclude build artifacts and unnecessary files
- docker-compose.yml for easy container management

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants