Skip to content
Open
Show file tree
Hide file tree
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
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,11 @@ updates:
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
- package-ecosystem: "julia"
directory: "/"
schedule:
interval: "weekly"
groups:
all-julia-packages:
patterns:
- "*"
73 changes: 49 additions & 24 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,73 @@ name: CI
on:
push:
branches: [main]
tags: [v*]
tags: ["*"]
pull_request:
concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

# needed to allow julia-actions/cache to delete old caches that it has created
permissions:
actions: write
contents: read

jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
name: Julia ${{ matrix.version }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.version == 'pre' }}
strategy:
fail-fast: false
matrix:
version:
- '1.0'
- '1'
- "min" # Oldest supported version
- "1" # Latest Release
- "pre" # Latest prerelease, allowed to fail
os:
- ubuntu-latest
- macOS-latest
- windows-latest
arch:
- x64
# 32-bit Julia binaries are not available on macOS
exclude:
- os: macOS-latest
arch: x86
# aarch64 binaries are not available for the oldest supported version
- version: "min"
os: macOS-latest
include:
- version: "min"
os: macOS-15-intel
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
- uses: actions/checkout@v7
- uses: julia-actions/setup-julia@v3
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v3
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- uses: julia-actions/cache@v3
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v1
- uses: codecov/codecov-action@v7
with:
file: lcov.info
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true

docs:
name: Documentation
runs-on: ubuntu-latest
permissions:
actions: write
contents: write # Required when authenticating with `GITHUB_TOKEN`, not needed when authenticating with SSH deploy keys
pull-requests: read # Required when using `push_preview=true`
statuses: write # Optional, used to report documentation build statuses
steps:
- uses: actions/checkout@v7
- uses: julia-actions/setup-julia@v3
with:
version: '1'
- uses: julia-actions/cache@v3
- run: julia --project=docs -e 'using Pkg; Pkg.instantiate()'
- run: julia --project=docs docs/make.jl
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
16 changes: 0 additions & 16 deletions .github/workflows/CompatHelper.yml

This file was deleted.

32 changes: 0 additions & 32 deletions .github/workflows/Documenter.yml

This file was deleted.

47 changes: 29 additions & 18 deletions .github/workflows/IntegrationTest.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,65 @@
name: IntegrationTest
on:
push:
branches: [master]
branches: [main]
tags: [v*]
pull_request:

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

# needed to allow julia-actions/cache to delete old caches that it has created
permissions:
actions: write
contents: read

jobs:
test:
name: ${{ matrix.package.repo }}
name: ${{ matrix.package.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
julia-version: [1]
os: [ubuntu-latest]
package:
- {user: JuliaDiff, repo: ChainRulesTestUtils.jl}
- {user: JuliaDiff, repo: ChainRules.jl}
- {user: JuliaMath, repo: SpecialFunctions.jl}
- {user: invenia, repo: BlockDiagonals.jl}
- {user: invenia, repo: PDMatsExtras.jl}
- {user: PumasAI, repo: DataInterpolations.jl}
- {user: JuliaDiff, name: ChainRulesTestUtils}
- {user: JuliaDiff, name: ChainRules}
- {user: JuliaMath, name: SpecialFunctions}
- {user: invenia, name: BlockDiagonals}
- {user: invenia, name: PDMatsExtras}
- {user: PumasAI, name: DataInterpolations}

steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
- uses: actions/checkout@v7
- uses: julia-actions/setup-julia@v3
with:
version: ${{ matrix.julia-version }}
arch: x64
- uses: julia-actions/julia-buildpkg@latest
- uses: julia-actions/cache@v3
- uses: julia-actions/julia-buildpkg@v1
- name: Clone Downstream
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
repository: ${{ matrix.package.user }}/${{ matrix.package.repo }}
repository: ${{ matrix.package.user }}/${{ matrix.package.name }}.jl
path: downstream
- name: Load this and run the downstream tests
shell: julia --project=downstream {0}
shell: julia --project=@temp {0}
run: |
using Pkg
try
# force it to use this PR's version of the package
Pkg.develop(PackageSpec(path=".")) # ResolverError with main deps may be thrown here
Pkg.develop([PackageSpec(path="."), PackageSpec(path="downstream")]) # resolver may fail with main deps
Pkg.update()
Pkg.test() # ResolverError with test deps may be thrown here (before test process starts)
Pkg.test("${{ matrix.package.name }}") # resolver may fail with test time deps
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
exit(0) # Exit immediately, as a success
end
47 changes: 0 additions & 47 deletions .github/workflows/JuliaNightly.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
*.jl.cov
*.jl.*.cov
*.jl.mem
/Manifest.toml
Manifest.toml

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

keeping the docs manifest around is useful to avoid breaking doctests if packages we use change their string represetations

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO such doctest failures should be avoided by using doctest filters or changing to more stable tests, since string representations may change even in non-breaking releases.

dev/

# Docs:
Expand Down
33 changes: 0 additions & 33 deletions .travis.yml

This file was deleted.

3 changes: 3 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,6 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Random", "Test", "BenchmarkTools"]

[workspace]
projects = ["docs"]
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# FiniteDifferences.jl: Finite Difference Methods

[![CI](https://github.com/JuliaDiff/FiniteDifferences.jl/workflows/CI/badge.svg?branch=main)](https://github.com/JuliaDiff/FiniteDifferences.jl/actions?query=workflow%3ACI)
[![Build Status](https://travis-ci.org/JuliaDiff/FiniteDifferences.jl.svg?branch=main)](https://travis-ci.org/JuliaDiff/FiniteDifferences.jl)
[![CI](https://github.com/JuliaDiff/FiniteDifferences.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/JuliaDiff/FiniteDifferences.jl/actions/workflows/CI.yml?query=branch%3Amain)
[![codecov.io](https://codecov.io/github/JuliaDiff/FiniteDifferences.jl/coverage.svg?branch=main)](https://codecov.io/github/JuliaDiff/FiniteDifferences.jl?branch=main)
[![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/F/FiniteDifferences.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html)

[![Stable Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliadiff.org/FiniteDifferences.jl/stable/)
[![Latest Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://juliadiff.org/FiniteDifferences.jl/latest/)
[![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle)
[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet)](https://github.com/SciML/ColPrac)
Expand Down
Loading
Loading