2024-05-07 11:14:07 +09:00
|
|
|
name: CI
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- main
|
|
|
|
tags: ['*']
|
|
|
|
pull_request:
|
|
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
|
|
# Skip intermediate builds: always.
|
|
|
|
# Cancel intermediate builds: only if it is a pull request build.
|
|
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
|
|
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
timeout-minutes: 60
|
|
|
|
permissions: # needed to allow julia-actions/cache to proactively delete old caches that it has created
|
|
|
|
actions: write
|
|
|
|
contents: read
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
version:
|
|
|
|
- '1.10'
|
2024-05-07 11:17:16 +09:00
|
|
|
- '1.9'
|
2024-05-07 11:14:07 +09:00
|
|
|
os:
|
|
|
|
- ubuntu-latest
|
|
|
|
arch:
|
|
|
|
- x64
|
2024-05-07 16:07:08 +09:00
|
|
|
include:
|
|
|
|
# ref: https://discourse.julialang.org/t/why-do-packages-run-continuous-integration-tests-on-julia-nightly/101208/11
|
|
|
|
# ref: https://github.com/JuliaData/DataFrames.jl/actions/runs/8622690427/workflow
|
|
|
|
- os: ubuntu-latest
|
|
|
|
- version: 'nightly'
|
|
|
|
- arch: x64
|
|
|
|
- allow_failure: true
|
2024-05-07 11:14:07 +09:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
2024-05-07 11:14:40 +09:00
|
|
|
- uses: julia-actions/setup-julia@v2
|
2024-05-07 11:14:07 +09:00
|
|
|
with:
|
|
|
|
version: ${{ matrix.version }}
|
|
|
|
arch: ${{ matrix.arch }}
|
2024-05-07 11:14:43 +09:00
|
|
|
- uses: julia-actions/cache@v2
|
2024-05-07 11:14:07 +09:00
|
|
|
- uses: julia-actions/julia-buildpkg@v1
|
|
|
|
- uses: julia-actions/julia-runtest@v1
|
|
|
|
- uses: julia-actions/julia-processcoverage@v1
|
|
|
|
- uses: codecov/codecov-action@v4
|
|
|
|
with:
|
|
|
|
files: lcov.info
|
|
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
fail_ci_if_error: false
|
|
|
|
docs:
|
|
|
|
name: Documentation
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
|
|
actions: write # needed to allow julia-actions/cache to proactively delete old caches that it has created
|
|
|
|
contents: write
|
|
|
|
statuses: write
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
2024-05-07 11:14:40 +09:00
|
|
|
- uses: julia-actions/setup-julia@v2
|
2024-05-07 11:14:07 +09:00
|
|
|
with:
|
|
|
|
version: '1'
|
2024-05-07 11:14:43 +09:00
|
|
|
- uses: julia-actions/cache@v2
|
2024-05-07 11:14:07 +09:00
|
|
|
- name: Configure doc environment
|
|
|
|
shell: julia --project=docs --color=yes {0}
|
|
|
|
run: |
|
|
|
|
using Pkg
|
|
|
|
Pkg.develop(PackageSpec(path=pwd()))
|
|
|
|
Pkg.instantiate()
|
|
|
|
- uses: julia-actions/julia-buildpkg@v1
|
|
|
|
- uses: julia-actions/julia-docdeploy@v1
|
|
|
|
env:
|
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
|
|
|
|
- name: Run doctests
|
|
|
|
shell: julia --project=docs --color=yes {0}
|
|
|
|
run: |
|
|
|
|
using Documenter: DocMeta, doctest
|
2024-05-07 11:23:34 +09:00
|
|
|
using QuantumLegos
|
2024-05-07 11:26:31 +09:00
|
|
|
DocMeta.setdocmeta!(QuantumLegos, :DocTestSetup, :(using QuantumLegos); recursive=true)
|
|
|
|
doctest(QuantumLegos)
|