Skip to content

Don't test on 'lts' and 'pre' for draft PRs #585

Don't test on 'lts' and 'pre' for draft PRs

Don't test on 'lts' and 'pre' for draft PRs #585

Workflow file for this run

name: Test
on:
push:
branches:
- main
tags: ['*']
pull_request:
types: [opened, reopened, synchronize, labeled]
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-DI:
name: ${{ matrix.version }} - DI (${{ matrix.group }})
runs-on: ubuntu-latest
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'
- 'lts'
- 'pre'
group:
- Formalities
- Internals
- Back/Diffractor
- Back/Enzyme
- Back/FastDifferentiation
- Back/FiniteDiff
- Back/FiniteDifferences
- Back/ForwardDiff
- Back/PolyesterForwardDiff
- Back/ReverseDiff
- Back/SecondOrder
- Back/Symbolics
- Back/Tapir
- Back/Tracker
- Back/Zygote
- Down/Detector
- Down/DifferentiateWith
- Down/Flux
exclude:
# lts
- version: 'lts'
group: Formalities
- version: 'lts'
group: Back/Diffractor
- version: 'lts'
group: Back/Enzyme
- version: 'lts'
group: Back/FiniteDiff
- version: 'lts'
group: Back/FastDifferentiation
- version: 'lts'
group: Back/PolyesterForwardDiff
- version: 'lts'
group: Back/SecondOrder
- version: 'lts'
group: Back/Symbolics
- version: 'lts'
group: Back/Tapir
- version: 'lts'
group: Down/Detector
- version: 'lts'
group: Down/Flux
# pre-release
- version: 'pre'
group: Formalities
- version: 'pre'
group: Back/Enzyme
- version: 'pre'
group: Back/Tapir
- version: 'pre'
group: Back/SecondOrder
- version: 'pre'
group: Down/Detector
env:
SHOULDRUN: ${{ matrix.version == '1' || contains(github.event.pull_request.labels.*.name, 'fulltest') }}
steps:
- run: echo "$SHOULDRUN"
- uses: actions/checkout@v4
if: ${{ env.SHOULDRUN == 'true' }}
- uses: julia-actions/setup-julia@v2
if: ${{ env.SHOULDRUN == 'true' }}
with:
version: ${{ matrix.version }}
arch: x64
- uses: julia-actions/cache@v2
if: ${{ env.SHOULDRUN == 'true' }}
- uses: julia-actions/julia-buildpkg@v1
if: ${{ env.SHOULDRUN == 'true' }}
- name: Update registry
if: ${{ env.SHOULDRUN == 'true' }}
run: julia -e 'using Pkg; Pkg.Registry.update()'
- uses: julia-actions/julia-runtest@v1
if: ${{ env.SHOULDRUN == 'true' }}
with:
project: ./DifferentiationInterface
env:
JULIA_DI_TEST_GROUP: ${{ matrix.group }}
- uses: julia-actions/julia-processcoverage@v1
if: ${{ env.SHOULDRUN == 'true' }}
with:
directories: ./DifferentiationInterface/src,./DifferentiationInterface/ext,./DifferentiationInterface/test
- uses: codecov/codecov-action@v4
if: ${{ env.SHOULDRUN == 'true' }}
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
test-DIT:
name: ${{ matrix.version }} - DIT (${{ matrix.group }})
runs-on: ubuntu-latest
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'
- 'lts'
- 'pre'
group:
- Formalities
- Zero
- ForwardDiff
- Weird
exclude:
- version: 'lts'
group: Formalities
- version: 'lts'
group: Weird
env:
SHOULDRUN: ${{ matrix.version == '1' || contains(github.event.pull_request.labels.*.name, 'fulltest') }}
steps:
- run: echo "$SHOULDRUN"
- uses: actions/checkout@v4
if: ${{ env.SHOULDRUN == 'true' }}
- uses: julia-actions/setup-julia@v2
if: ${{ env.SHOULDRUN == 'true' }}
with:
version: ${{ matrix.version }}
arch: x64
- uses: julia-actions/cache@v2
if: ${{ env.SHOULDRUN == 'true' }}
- uses: julia-actions/julia-buildpkg@v1
if: ${{ env.SHOULDRUN == 'true' }}
- name: Dev dependencies (temporary)
if: ${{ env.SHOULDRUN == 'true' }}
run: julia --project='./DifferentiationInterfaceTest' -e '
using Pkg;
Pkg.Registry.update();
Pkg.develop(PackageSpec(path="./DifferentiationInterface"));
Pkg.instantiate();'
- uses: julia-actions/julia-runtest@v1
if: ${{ env.SHOULDRUN == 'true' }}
with:
project: ./DifferentiationInterfaceTest
env:
JULIA_DI_TEST_GROUP: ${{ matrix.group }}
- uses: julia-actions/julia-processcoverage@v1
if: ${{ env.SHOULDRUN == 'true' }}
with:
directories: ./DifferentiationInterfaceTest/src,./DifferentiationInterfaceTest/ext,./DifferentiationInterfaceTest/test
- uses: codecov/codecov-action@v4
if: ${{ env.SHOULDRUN == 'true' }}
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true