Skip to content

Extend atomic instruction APIs (#495) #192

Extend atomic instruction APIs (#495)

Extend atomic instruction APIs (#495) #192

Workflow file for this run

name: Enzyme [Downstream CI]
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
binary_test:
name: Enzyme Julia ${{ matrix.version }} ${{ matrix.llvm_args }} - ${{ matrix.os }} - ${{ matrix.arch }} , assertions ${{ matrix.assertions }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version: ['1.10']
os: ['ubuntu-latest']
assertions:
- false
- true
arch: [x64]
llvm_args: ['']
include:
# starting with Julia 1.10, we can enable opaque pointers
- version: '1.10'
os: 'ubuntu-latest'
arch: 'x64'
llvm_args: '--opaque-pointers'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # build_ci.jl needs to be able to inspect the git log
- name: Clone Downstream
uses: actions/checkout@v4
with:
repository: EnzymeAD/Enzyme.jl
path: downstream
# install Julia
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/julia-buildpkg@latest
- name: Load this and run the downstream tests
shell: julia --color=yes --project=downstream {0}
run: |
using Pkg
try
# force it to use this PR's version of the package
## resolver may fail with main deps
Pkg.develop(PackageSpec(path="."))
Pkg.update()
## # resolver may fail with test time deps
Pkg.test(; coverage=true, julia_args=`--depwarn=no`)
catch err
err isa Pkg.Resolve.ResolverError || rethrow()
# If we can't resolve that means this is incompatible by SemVer and this is fine
# It means we marked this as a breaking change, so we don't need to worry about
# Mistakenly introducing a breaking change, as we have intentionally made one
@info "Not compatible with this release. No problem." exception=err
exit(0) # Exit immediately, as a success
end