Skip to content

Commit bf3c425

Browse files
Merge pull request #134 from ChrisRackauckas-Claude/smc/ci-modernize
Modernize CI infrastructure to match SciML conventions
2 parents 44f7e8e + 0a2ef94 commit bf3c425

53 files changed

Lines changed: 1460 additions & 1235 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2+
version: 2
3+
enable-beta-ecosystems: true # Julia ecosystem
4+
updates:
5+
- package-ecosystem: "github-actions"
6+
directory: "/" # Location of package manifests
7+
schedule:
8+
interval: "weekly"
9+
ignore:
10+
- dependency-name: "crate-ci/typos"
11+
update-types: ["version-update:semver-patch", "version-update:semver-minor"]
12+
- package-ecosystem: "julia"
13+
directories:
14+
- "/"
15+
schedule:
16+
interval: "daily"
17+
groups:
18+
all-julia-packages:
19+
patterns:
20+
- "*"

.github/workflows/CI.yml

Lines changed: 0 additions & 75 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
tags: '*'
8+
pull_request:
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: write
15+
statuses: write
16+
steps:
17+
- uses: actions/checkout@v6
18+
- uses: julia-actions/setup-julia@v3
19+
with:
20+
version: '1'
21+
- uses: julia-actions/cache@v3
22+
- uses: julia-actions/julia-buildpkg@v1
23+
- uses: julia-actions/julia-docdeploy@v1
24+
env:
25+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

.github/workflows/Downgrade.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Downgrade
2+
on:
3+
pull_request:
4+
branches:
5+
- master
6+
paths-ignore:
7+
- 'docs/**'
8+
push:
9+
branches:
10+
- master
11+
paths-ignore:
12+
- 'docs/**'
13+
jobs:
14+
test:
15+
runs-on: ubuntu-latest
16+
strategy:
17+
matrix:
18+
downgrade_mode: ['alldeps']
19+
julia-version: ['1.10']
20+
steps:
21+
- uses: actions/checkout@v6
22+
- uses: julia-actions/setup-julia@v3
23+
with:
24+
version: ${{ matrix.julia-version }}
25+
- uses: julia-actions/julia-downgrade-compat@v2
26+
continue-on-error: true
27+
with:
28+
skip: Pkg,TOML
29+
- uses: julia-actions/julia-buildpkg@v1
30+
- uses: julia-actions/julia-runtest@v1
31+
with:
32+
ALLOW_RERESOLVE: false

.github/workflows/FormatCheck.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: format-check
2+
3+
on:
4+
push:
5+
branches:
6+
- 'master'
7+
- 'main'
8+
- 'release-'
9+
tags: '*'
10+
pull_request:
11+
12+
jobs:
13+
runic:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v6
17+
- uses: julia-actions/setup-julia@v3
18+
with:
19+
version: '1'
20+
- uses: fredrikekre/runic-action@v1
21+
with:
22+
version: '1'

.github/workflows/SpellCheck.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Spell Check
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
typos-check:
7+
name: Spell Check with Typos
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout Actions Repository
11+
uses: actions/checkout@v6
12+
- name: Check spelling
13+
uses: crate-ci/typos@v1.18.0

.github/workflows/TagBot.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@ on:
44
types:
55
- created
66
workflow_dispatch:
7+
inputs:
8+
lookback:
9+
default: 3
10+
permissions:
11+
actions: read
12+
checks: read
13+
contents: write
14+
deployments: read
15+
issues: read
16+
discussions: read
17+
packages: read
18+
pages: read
19+
pull-requests: read
20+
repository-projects: read
21+
security-events: read
22+
statuses: read
723
jobs:
824
TagBot:
925
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'

.github/workflows/Tests.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: "Tests"
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths-ignore:
8+
- "docs/**"
9+
pull_request:
10+
branches:
11+
- master
12+
paths-ignore:
13+
- "docs/**"
14+
workflow_dispatch:
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch || github.ref != 'refs/tags/v*' }}
19+
20+
jobs:
21+
test:
22+
name: "Tests"
23+
strategy:
24+
fail-fast: false
25+
matrix:
26+
version:
27+
- "1"
28+
os:
29+
- "ubuntu-latest"
30+
- "windows-latest"
31+
- "macOS-15-intel"
32+
arch:
33+
- "x64"
34+
include:
35+
- version: "1"
36+
os: "macOS-latest"
37+
arch: "aarch64"
38+
- version: "lts"
39+
os: "ubuntu-latest"
40+
arch: "x64"
41+
- version: "pre"
42+
os: "ubuntu-latest"
43+
arch: "x64"
44+
uses: "SciML/.github/.github/workflows/tests.yml@v1"
45+
with:
46+
julia-version: ${{ matrix.version }}
47+
julia-arch: ${{ matrix.arch }}
48+
os: ${{ matrix.os }}
49+
secrets: inherit

Project.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,15 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
1111
UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed"
1212

1313
[compat]
14+
LinearAlgebra = "1"
1415
NLSolversBase = "8"
16+
Random = "1"
17+
StableRNGs = "1"
1518
StackViews = "^0.1"
19+
Statistics = "1"
20+
Test = "1"
1621
UnPack = "^1.0.1"
17-
julia = "^1.6"
22+
julia = "1.10"
1823

1924
[extras]
2025
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"

_typos.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[files]
2+
extend-exclude = [
3+
"examples/*.ipynb",
4+
]
5+
6+
[default.extend-words]
7+
# Journal abbreviation "Comput." (Applied Math. and Computation, etc.)
8+
Comput = "Comput"
9+
10+
[default.extend-identifiers]
11+
# Type parameter names and short local variables that look like typos
12+
OT = "OT"
13+
nd = "nd"

0 commit comments

Comments
 (0)