Skip to content
Merged
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
57 changes: 57 additions & 0 deletions .github/workflows/IntegrationTest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Test dependent packages

# Based on https://github.com/SciML/SciMLBase.jl/blob/master/.github/workflows/Downstream.yml

on:
workflow_dispatch:
push:
branches:
- main
pull_request:

jobs:
test:
name: ${{ matrix.package.repo }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
julia-version: ['1']
os: [ubuntu-latest]
package:
# Add downstream packages that depend on ExponentialFamilyProjection here
# Each entry runs as a separate parallel job
- { user: ReactiveBayes, repo: ReactiveMP.jl }
- { user: ReactiveBayes, repo: RxInfer.jl }

steps:
- uses: actions/checkout@v5

- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.julia-version }}
arch: x64

- uses: julia-actions/julia-buildpkg@v1

- name: Clone Downstream
uses: actions/checkout@v5
with:
repository: ${{ matrix.package.user }}/${{ matrix.package.repo }}
path: downstream

- name: Load this and run the downstream tests
shell: julia --project=downstream {0}
run: |
using Pkg
try
# Force downstream to use this PR version of ExponentialFamilyProjection
Pkg.develop(PackageSpec(path=".")) # add this version
Pkg.update()
Pkg.test() # run downstream tests
catch err
err isa Pkg.Resolve.ResolverError || rethrow()
# If resolver fails, assume intentional breaking change (SemVer)
@info "Not compatible with this release. No problem." exception=err
exit(0) # Treat as success
end
Loading