Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
200 changes: 5 additions & 195 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,14 @@ jobs:
fail-fast: false
matrix:
version:
- '1.10'
- '1.11'
- 'nightly'
os:
- ubuntu-24.04
- macOS-13
- windows-latest
arch:
- x64
assertions:
- false
libEnzyme: [local, packaged]
exclude:
- os: windows-latest
arch: x64
libEnzyme: local
include:
- os: ubuntu-24.04
arch: x86
libEnzyme: packaged
version: '1.10'
assertions: false
- os: ubuntu-24.04
arch: x64
libEnzyme: packaged
version: '1.10'
assertions: true
- os: ubuntu-24.04
arch: x64
libEnzyme: packaged
version: '1.11'
assertions: true
- true
libEnzyme: [packaged]
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
Expand Down Expand Up @@ -111,173 +87,7 @@ jobs:
id: run_tests
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- uses: julia-actions/julia-processcoverage@v1
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
- uses: codecov/codecov-action@v5
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
- uses: mxschmitt/action-tmate@v3
if: ${{ !cancelled() }}
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false # or true if you want CI to fail when Codecov fails
enzymetestutils:
timeout-minutes: 60
name: EnzymeTestUtils - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.libEnzyme }} libEnzyme - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.version == 'nightly' }}
env:
JULIA_PROJECT: "lib/EnzymeTestUtils"
strategy:
fail-fast: false
matrix:
version:
- '1.10'
- '1.11'
- 'nightly'
os:
- ubuntu-latest
arch:
- x64
libEnzyme: [packaged]
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/cache@v2
- name: setup EnzymeTestUtils
shell: julia --color=yes {0}
id: setup_testutils
continue-on-error: ${{ matrix.version == 'nightly' }}
run: |
using Pkg
Pkg.develop([PackageSpec(; path) for path in (".", "lib/EnzymeCore")])
Pkg.instantiate()
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- name: Run the tests
if: matrix.version != 'nightly' || steps.setup_testutils.outcome == 'success'
continue-on-error: ${{ matrix.version == 'nightly' }}
id: run_tests
shell: julia --color=yes {0}
run: |
using Pkg
Pkg.test("EnzymeTestUtils"; coverage=true)
- uses: julia-actions/julia-processcoverage@v1
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
with:
directories: lib/EnzymeTestUtils/src
- uses: codecov/codecov-action@v5
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false # or true if you want CI to fail when Codecov fails
enzymecore:
timeout-minutes: 20
name: EnzymeCore - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.libEnzyme }} libEnzyme - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.version == 'nightly' }}
env:
JULIA_PROJECT: "lib/EnzymeCore"
strategy:
fail-fast: false
matrix:
version:
- '1.10'
- '1.11'
- 'nightly'
os:
- ubuntu-latest
arch:
- x64
libEnzyme: [packaged]
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/cache@v2
- name: setup EnzymeCore
shell: julia --color=yes {0}
id: setup_testutils
continue-on-error: ${{ matrix.version == 'nightly' }}
run: |
using Pkg
Pkg.develop([PackageSpec(; path) for path in (".",)])
Pkg.instantiate()
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- name: Run the tests
if: matrix.version != 'nightly' || steps.setup_testutils.outcome == 'success'
continue-on-error: ${{ matrix.version == 'nightly' }}
id: run_tests
shell: julia --color=yes {0}
run: |
using Pkg
Pkg.test("EnzymeCore"; coverage=true)
- uses: julia-actions/julia-processcoverage@v1
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
with:
directories: lib/EnzymeCore/src
- uses: codecov/codecov-action@v5
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false # or true if you want CI to fail when Codecov fails
integration:
timeout-minutes: 20
name: Integration Tests - ${{ matrix.test }}
runs-on: ${{ matrix.os }}
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
strategy:
fail-fast: false
matrix:
version:
- '1.10'
os:
- ubuntu-latest
test:
- DynamicExpressions
- Bijectors
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- name: "Run tests"
run: |
julia --color=yes --project=test/integration/${{ matrix.test }} -e 'using Pkg; Pkg.develop([PackageSpec(; path) for path in (".", "lib/EnzymeCore")]); Pkg.instantiate()'
julia --color=yes --project=test/integration/${{ matrix.test }} --threads=auto --check-bounds=yes test/integration/${{ matrix.test }}/runtests.jl
shell: bash
docs:
timeout-minutes: 20
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- uses: julia-actions/cache@v2
- run: |
julia --color=yes --project=docs -e '
using Pkg
Pkg.instantiate()'
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- run: |
julia --color=yes --project=docs -e '
using Documenter: DocMeta, doctest
using Enzyme
DocMeta.setdocmeta!(Enzyme, :DocTestSetup, :(using Enzyme); recursive=true)
doctest(Enzyme)'
- run: julia --color=yes --project=docs docs/make.jl
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
limit-access-to-actor: false
Loading
Loading