diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 66bcb77c..f1b05a22 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -14,7 +14,7 @@ concurrency: cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} jobs: test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.num_threads }} threads - ${{ github.event_name }} + name: ${{ matrix.downgrade && 'Downgrade / ' || '' }}Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.num_threads }} threads - ${{ github.event_name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -29,6 +29,14 @@ jobs: num_threads: - 1 - 2 + downgrade: + - false + include: + - version: '1' + os: ubuntu-latest + arch: x64 + num_threads: 2 + downgrade: true steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 @@ -36,9 +44,12 @@ jobs: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - uses: julia-actions/cache@v1 + - uses: cjdoris/julia-downgrade-compat-action@v1 + with: + skip: LinearAlgebra,Random,Statistics + if: ${{ matrix.downgrade }} + name: Downgrade dependencies to oldest supported versions - uses: julia-actions/julia-buildpkg@v1 - - name: Fix Transducers to last-compatible version - run: julia --project -e 'using Pkg; Pkg.pin(name="Transducers", version=v"0.4.75")' - uses: julia-actions/julia-runtest@v1 env: JULIA_NUM_THREADS: ${{ matrix.num_threads }} diff --git a/.github/workflows/IntegrationTests.yml b/.github/workflows/IntegrationTests.yml index a617b994..5a0c7868 100644 --- a/.github/workflows/IntegrationTests.yml +++ b/.github/workflows/IntegrationTests.yml @@ -6,7 +6,7 @@ on: pull_request: jobs: test: - name: ${{ matrix.package }} - Julia ${{ matrix.version }} + name: ${{ matrix.downgrade && 'Downgrade / ' || '' }}${{ matrix.package }} - Julia ${{ matrix.version }} runs-on: ubuntu-latest strategy: fail-fast: false @@ -16,17 +16,20 @@ jobs: - DynamicHMC - AdvancedHMC - Turing - include: - - package: DynamicHMC - version: 'nightly' - - package: Turing - version: 'nightly' + downgrade: + - true + - false steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} arch: x64 + - uses: cjdoris/julia-downgrade-compat-action@v1 + with: + skip: LinearAlgebra,Random,Statistics + if: ${{ matrix.downgrade }} + name: Downgrade dependencies to oldest supported versions - uses: julia-actions/julia-buildpkg@v1 - run: | julia --code-coverage=user -e ' diff --git a/Project.toml b/Project.toml index fc6cf524..5dfada2f 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "Pathfinder" uuid = "b1d3bc72-d0e7-4279-b92f-7fa5d6d2d454" authors = ["Seth Axen and contributors"] -version = "0.8.2" +version = "0.8.3" [deps] Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" @@ -36,28 +36,29 @@ PathfinderDynamicHMCExt = "DynamicHMC" PathfinderTuringExt = ["Accessors", "DynamicPPL", "MCMCChains", "Turing"] [compat] -Accessors = "0.1" -Distributions = "0.25" -DynamicPPL = "0.21, 0.22, 0.23, 0.24" -Folds = "0.2" -ForwardDiff = "0.10" +Accessors = "0.1.1" +Distributions = "0.25.57" +DynamicHMC = "3.4.0" +DynamicPPL = "0.21.5, 0.22, 0.23, 0.24" +Folds = "0.2.2" +ForwardDiff = "0.10.13" IrrationalConstants = "0.1.1, 0.2" LinearAlgebra = "1.6" -LogDensityProblems = "2" -MCMCChains = "5, 6" -Optim = "1.4" -Optimization = "3" -OptimizationOptimJL = "0.1, 0.2" +LogDensityProblems = "2.1.0" +MCMCChains = "5.3.0, 6" +Optim = "1.6.2" +Optimization = "3.5" +OptimizationOptimJL = "0.1.1, 0.2" PDMats = "0.11.26" PSIS = "0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9" ProgressLogging = "0.1.4" Random = "1.6" -Requires = "1" -SciMLBase = "1.8.1, 2" +Requires = "1.1" +SciMLBase = "1.61.2, 2" Statistics = "1.6" -StatsBase = "0.33, 0.34" -Transducers = "0.4.5" -Turing = "0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30" +StatsBase = "0.33.1, 0.34" +Transducers = "0.4.66" +Turing = "0.24.2, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30" UnPack = "1" julia = "1.6" diff --git a/docs/Project.toml b/docs/Project.toml index 0314a3cb..0b63c9c2 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -17,13 +17,13 @@ Turing = "fce5fe82-541a-59a6-adf8-730c64b5f9a0" [compat] AdvancedHMC = "0.4, 0.5, 0.6" Documenter = "1" -DynamicHMC = "3" -ForwardDiff = "0.10" -LogDensityProblems = "1, 2" -LogDensityProblemsAD = "1, 2" +DynamicHMC = "3.4.0" +ForwardDiff = "0.10.13" +LogDensityProblems = "2.1.0" +LogDensityProblemsAD = "1.4" Pathfinder = "0.8" -StatsFuns = "0.9, 1" -StatsPlots = "0.14, 0.15" +StatsFuns = "1" +StatsPlots = "0.14.21, 0.15" TransformVariables = "0.6, 0.7, 0.8" -TransformedLogDensities = "1" -Turing = "0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30" +TransformedLogDensities = "1.0.2" +Turing = "0.24.2, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30" diff --git a/test/integration/AdvancedHMC/Project.toml b/test/integration/AdvancedHMC/Project.toml index 61a60925..0f3ffef4 100644 --- a/test/integration/AdvancedHMC/Project.toml +++ b/test/integration/AdvancedHMC/Project.toml @@ -17,15 +17,15 @@ TransformedLogDensities = "f9bc47f6-f3f8-4f3b-ab21-f8bc73906f26" [compat] AdvancedHMC = "0.4, 0.5, 0.6" -Distributions = "0.25" -ForwardDiff = "0.10" -LogDensityProblems = "1, 2" -LogDensityProblemsAD = "1" +Distributions = "0.25.57" +ForwardDiff = "0.10.13" +LogDensityProblems = "2.1.0" +LogDensityProblemsAD = "1.0.1, 2" MCMCDiagnosticTools = "0.3" -Optim = "1.4" -Pathfinder = "0.7, 0.8" +Optim = "1.6.2" +Pathfinder = "0.8" Statistics = "1" -StatsFuns = "0.9, 1" +StatsFuns = "1" TransformVariables = "0.6, 0.7, 0.8" -TransformedLogDensities = "1" +TransformedLogDensities = "1.0.2" julia = "1.6" diff --git a/test/integration/DynamicHMC/Project.toml b/test/integration/DynamicHMC/Project.toml index d270e4b1..4f332c77 100644 --- a/test/integration/DynamicHMC/Project.toml +++ b/test/integration/DynamicHMC/Project.toml @@ -14,14 +14,14 @@ TransformVariables = "84d833dd-6860-57f9-a1a7-6da5db126cff" TransformedLogDensities = "f9bc47f6-f3f8-4f3b-ab21-f8bc73906f26" [compat] -DynamicHMC = "3" -LogDensityProblems = "1, 2" -LogDensityProblemsAD = "1" +DynamicHMC = "3.4.0" +LogDensityProblems = "2.1.0" +LogDensityProblemsAD = "1.0.1" MCMCDiagnosticTools = "0.3" -Optim = "1.4" -Pathfinder = "0.7, 0.8" +Optim = "1.6.2" +Pathfinder = "0.8" Statistics = "1" -StatsFuns = "0.9, 1" +StatsFuns = "1" TransformVariables = "0.6, 0.7, 0.8" -TransformedLogDensities = "1" +TransformedLogDensities = "1.0.2" julia = "1.6" diff --git a/test/integration/Turing/Project.toml b/test/integration/Turing/Project.toml index b448a485..dbd99810 100644 --- a/test/integration/Turing/Project.toml +++ b/test/integration/Turing/Project.toml @@ -5,6 +5,6 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Turing = "fce5fe82-541a-59a6-adf8-730c64b5f9a0" [compat] -Pathfinder = "0.5, 0.6, 0.7, 0.8" -Turing = "0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30" +Pathfinder = "0.8" +Turing = "0.24.2, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30" julia = "1.6"