Skip to content

[lib] Introduce QuantumToolboxVisual library. #2253

[lib] Introduce QuantumToolboxVisual library.

[lib] Introduce QuantumToolboxVisual library. #2253

Workflow file for this run

name: Runtests
on:
push:
branches:
- 'main'
paths:
- '.github/workflows/CI.yml'
- 'src/**'
- 'lib/**'
- 'ext/**'
- 'test/runtests.jl'
- 'test/main-test/**'
- 'test/ext-test/cpu/**'
- 'Project.toml'
pull_request:
branches:
- 'main'
paths:
- '.github/workflows/CI.yml'
- 'src/**'
- 'lib/**'
- 'ext/**'
- 'test/runtests.jl'
- 'test/main-test/**'
- 'test/ext-test/cpu/**'
- 'Project.toml'
types:
- opened
- reopened
- synchronize
- ready_for_review
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.node.os }} - ${{ matrix.node.arch }} ( ${{ matrix.group }} )
runs-on: ${{ matrix.node.os }}
permissions: # needed to allow julia-actions/cache to delete old caches that it has created
actions: write
contents: read
if: ${{ !github.event.pull_request.draft }}
strategy:
fail-fast: false
matrix:
# for core tests (latest and oldest supported versions)
version:
- '1.10' # oldest
- '1' # latest
node:
- os: 'ubuntu-latest'
arch: 'x64'
- os: 'windows-latest'
arch: 'x64'
- os: 'macOS-latest'
arch: 'arm64'
group:
- 'Main'
include:
# for core tests (intermediate versions)
# comment this part first since Julia 1.11 security support ended [see https://endoflife.date/julia]
# but this can be re-enabled, for example, when latest version becomes 1.13, we can put 1.12 here
# - version: '1.11'
# node:
# os: 'ubuntu-latest'
# arch: 'x64'
# group: 'Main'
# for extension tests
- version: '1'
node:
os: 'ubuntu-latest'
arch: 'x64'
group: 'Makie-Ext'
- version: '1.12'
node:
os: 'ubuntu-latest'
arch: 'x64'
group: 'AutoDiff-Ext'
- version: '1'
node:
os: 'ubuntu-latest'
arch: 'x64'
group: 'Arbitrary-Precision'
steps:
- uses: actions/checkout@v7
- uses: julia-actions/setup-julia@v3
with:
version: ${{ matrix.version }}
arch: ${{ matrix.node.arch }}
- uses: julia-actions/cache@v3
- name: Dev local libs for Julia < 1.11
shell: bash
run: |
julia --project=. -e '
using Pkg
if VERSION < v"1.11"
for lib in readdir("lib"; join=true)
isdir(lib) || continue
isfile(joinpath(lib, "Project.toml")) || continue
Pkg.develop(path=lib)
end
end
Pkg.instantiate()
'
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
GROUP: ${{ matrix.group }}
JULIA_NUM_THREADS: auto
- uses: julia-actions/julia-processcoverage@v1
with:
directories: src,ext
- uses: codecov/codecov-action@v7
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
files: lcov.info
fail_ci_if_error: false