CompatHelper: bump compat for Enzyme_jll to 0.0.215, (keep existing c… #7778
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: CI | |
| on: | |
| pull_request: | |
| paths: | |
| - '.github/workflows/CI.yml' | |
| - 'deps/**' | |
| - 'ext/**' | |
| - 'lib/**' | |
| - 'src/**' | |
| - 'test/**' | |
| - '!test/integration/**' | |
| - 'Project.toml' | |
| push: | |
| branches: | |
| - main | |
| - release-* | |
| paths: | |
| - '.github/workflows/CI.yml' | |
| - 'deps/**' | |
| - 'ext/**' | |
| - 'lib/**' | |
| - 'src/**' | |
| - 'test/**' | |
| - '!test/integration/**' | |
| - 'Project.toml' | |
| tags: '*' | |
| 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: | |
| timeout-minutes: 120 | |
| name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.libEnzyme }} libEnzyme - assertions=${{ matrix.assertions }} llvm_args=${{ matrix.llvm_args }} - ${{ github.event_name }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: | |
| - '1.10' | |
| - '1.11' | |
| - 'nightly' | |
| os: | |
| - ubuntu-24.04 | |
| - macOS-latest | |
| - windows-latest | |
| llvm_args: | |
| - '' | |
| arch: | |
| - default | |
| assertions: | |
| - false | |
| libEnzyme: [local, packaged] | |
| exclude: | |
| - os: windows-latest | |
| arch: default | |
| libEnzyme: local | |
| include: | |
| - os: ubuntu-24.04 | |
| arch: x86 | |
| libEnzyme: packaged | |
| version: '1.10' | |
| assertions: false | |
| - os: ubuntu-24.04 | |
| arch: default | |
| libEnzyme: packaged | |
| version: '1.10' | |
| assertions: true | |
| - os: ubuntu-24.04 | |
| arch: default | |
| libEnzyme: packaged | |
| version: '1.11' | |
| assertions: true | |
| - os: ubuntu-24.04 | |
| arch: default | |
| libEnzyme: packaged | |
| version: '1.10' | |
| assertions: true | |
| llvm_args: '--opaque-pointers' | |
| - os: ubuntu-24.04 | |
| arch: default | |
| libEnzyme: packaged | |
| version: '1.11' | |
| assertions: false | |
| llvm_args: '--opaque-pointers' | |
| - os: ubuntu-24.04 | |
| arch: default | |
| libEnzyme: packaged | |
| version: '1.12' | |
| assertions: true | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: julia-actions/setup-julia@v2 | |
| if: ${{ ! matrix.assertions }} | |
| with: | |
| version: ${{ matrix.version }} | |
| arch: ${{ matrix.arch }} | |
| - uses: actions/checkout@v5 | |
| if: ${{ matrix.assertions }} | |
| with: | |
| repository: 'JuliaLang/julia' | |
| ref: release-${{ matrix.version }} | |
| path: 'julia' | |
| - name: Compile Julia | |
| if: ${{ matrix.assertions }} | |
| run: | | |
| sed -i.bak 's/exit 2/exit 0/g' julia/deps/tools/jlchecksum | |
| make -C julia -j $(nproc) FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1 JULIA_PRECOMPILE=0 | |
| echo $PWD/julia/usr/bin >> $GITHUB_PATH | |
| - uses: julia-actions/cache@v2 | |
| - name: add EnzymeCore EnzymeTestUtils | |
| shell: julia --color=yes --project=. {0} | |
| run: | | |
| using Pkg | |
| Pkg.develop([PackageSpec(; path) for path in ("lib/EnzymeCore", "lib/EnzymeTestUtils")]) | |
| Pkg.instantiate() | |
| if: ${{ matrix.version == '1.10' }} | |
| env: | |
| JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager | |
| - name: Build libEnzyme | |
| if: ${{ matrix.libEnzyme == 'local' && matrix.os != 'macOS-latest'}} | |
| id: build_libenzyme | |
| run: | | |
| julia --color=yes --project=deps -e 'using Pkg; Pkg.instantiate()' | |
| julia --color=yes --project=deps deps/build_local.jl | |
| cp LocalPreferences.toml test/ | |
| - name: Build libEnzyme MacOS | |
| if: ${{ matrix.libEnzyme == 'local' && matrix.os == 'macOS-latest'}} | |
| continue-on-error: ${{ matrix.version == 'nightly' }} | |
| id: build_libenzyme_mac | |
| run: | | |
| julia --color=yes --project=deps -e 'using Pkg; Pkg.instantiate()' | |
| SDKROOT=`xcrun --show-sdk-path` julia --color=yes --project=deps deps/build_local.jl | |
| cp LocalPreferences.toml test/ | |
| - uses: julia-actions/julia-buildpkg@v1 | |
| if: matrix.version != 'nightly' || steps.build_libenzyme.outcome == 'success' || steps.build_libenzyme_mac.outcome == 'success' | |
| continue-on-error: ${{ matrix.version == 'nightly' }} | |
| id: buildpkg | |
| env: | |
| JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager | |
| - name: "Set test arguments" | |
| shell: bash | |
| run: | | |
| # Run tests in verbose mode | |
| TEST_ARGS=(--verbose) | |
| if [[ ${{ runner.os }} == "macOS" ]]; then | |
| # Encourage ParallelTestRunner to use two jobs on macOS, rather | |
| # than the single one it'd use by default. | |
| TEST_ARGS+=(--jobs=2) | |
| fi | |
| echo "runtest_test_args=${TEST_ARGS[@]}" >> "${GITHUB_ENV}" | |
| - uses: julia-actions/julia-runtest@v1 | |
| if: matrix.version != 'nightly' || steps.buildpkg.outcome == 'success' | |
| continue-on-error: ${{ matrix.version == 'nightly' }} | |
| id: run_tests | |
| # TODO restore coverage post https://github.com/JuliaGPU/GPUCompiler.jl/pull/711 | |
| with: | |
| coverage: ${{ matrix.version != '1.11' || !matrix.assertions }} | |
| test_args: ${{ env.runtest_test_args }} | |
| env: | |
| JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager | |
| JULIA_LLVM_ARGS: ${{ matrix.llvm_args }} | |
| - 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' | |
| 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: | |
| - default | |
| libEnzyme: [packaged] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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: | |
| - default | |
| libEnzyme: [packaged] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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 |