Skip to content

Commit a2f69db

Browse files
Automated dependency checking (#5432)
* Add automatic checking for Julia dependency updates * Add automatic dependency checks Checks for minimum version compatability, and tries to resolve all projects (./, test, benchmarking) * Change Reactant core version * Fix mode name * Remove Cache from dependency check Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com> * Add check for dependency resolution * Fix typo in filename * Remove cache from resolve check * Combine commands into one run * List project files in downgrade action This should reduce the number of individual CI jobs * Add General registry * Remove CompatHelper CI * Apply suggestions from code review Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com> * Modify dependabot.yml Group dependencies together and ignore Oceananigans * Change working directory Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com> --------- Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com>
1 parent 083554c commit a2f69db

File tree

4 files changed

+81
-46
lines changed

4 files changed

+81
-46
lines changed

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,15 @@ updates:
55
directory: "/" # Location of package manifests
66
schedule:
77
interval: "weekly"
8+
- package-ecosystem: "julia"
9+
directories:
10+
- "/"
11+
- "/benchmark"
12+
- "/test"
13+
schedule:
14+
interval: "weekly"
15+
ignore:
16+
- dependency-name: "Oceananigans"
17+
groups:
18+
per-dependency:
19+
group-by: dependency-name

.github/workflows/CompatHelper.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Dependency Checks
2+
3+
on:
4+
pull_request:
5+
paths: &paths
6+
- '.github/workflows/dependency_checks.yml'
7+
- 'test/Project.toml'
8+
- 'benchmarks/Project.toml'
9+
- 'Project.toml'
10+
push:
11+
branches:
12+
- main
13+
tags: '*'
14+
paths: *paths
15+
jobs:
16+
check_minimum_version:
17+
name: Check Minimum Dependency Versions
18+
runs-on: ${{ matrix.os }}
19+
timeout-minutes: 10
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
downgrade_mode: ['deps', 'alldeps']
24+
version:
25+
- '1.11.9'
26+
os:
27+
- ubuntu-latest
28+
arch:
29+
- x64
30+
steps:
31+
- uses: actions/checkout@v6
32+
- uses: julia-actions/setup-julia@v2
33+
with:
34+
version: ${{ matrix.version }}
35+
arch: ${{ matrix.arch }}
36+
- uses: julia-actions/julia-downgrade-compat@v2
37+
with:
38+
mode: ${{ matrix.downgrade_mode }}
39+
projects: '., test, benchmarking'
40+
resolve_dependencies:
41+
runs-on: ${{ matrix.os }}
42+
timeout-minutes: 10
43+
strategy:
44+
fail-fast: false
45+
matrix:
46+
version:
47+
- '1.11.9'
48+
os:
49+
- ubuntu-latest
50+
arch:
51+
- x64
52+
dir:
53+
- 'test/'
54+
- 'benchmarking/'
55+
steps:
56+
- uses: actions/checkout@v6
57+
- uses: julia-actions/setup-julia@v2
58+
with:
59+
version: ${{ matrix.version }}
60+
arch: ${{ matrix.arch }}
61+
- name: Resolve environment in ${{ matrix.dir }}
62+
working-directory: ${{ matrix.dir }}
63+
shell: julia --color=yes --project=. {0}
64+
run: |
65+
using Pkg
66+
Pkg.Registry.add("General")
67+
Pkg.Registry.update()
68+
Pkg.resolve()

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ OrderedCollections = "1.1"
9090
Pkg = "<0.0.1, 1"
9191
Printf = "1.9"
9292
Reactant = "0.2.236"
93-
ReactantCore = "0.1"
93+
ReactantCore = "^0.1.0"
9494
Rotations = "1.0"
9595
SeawaterPolynomials = "0.3.9"
9696
SparseArrays = "1.9"

0 commit comments

Comments
 (0)