[lib] Introduce QuantumToolboxVisual library.
#2253
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |