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' - '1.9' - 'nightly' os: - ubuntu-latest arch: - x64 steps: - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - uses: julia-actions/cache@v1 - 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 - uses: julia-actions/setup-julia@v1 with: version: '1' - uses: julia-actions/cache@v1 - 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 using TestPkg DocMeta.setdocmeta!(TestPkg, :DocTestSetup, :(using TestPkg); recursive=true) doctest(TestPkg)