Skip to content

Commit 3e4c2a9

Browse files
authored
ci: standardize workflows using SciML's reusable workflows (#14)
* ci: update invalidations workflow to use centralised reusable workflow * ci: update format check workflow to use centralised reusable workflow * ci: update tests workflow to use centralized reusable workflow * ci(format-check): automatically comment formatting suggestions on PRs
1 parent 3e94ced commit 3e4c2a9

File tree

4 files changed

+46
-118
lines changed

4 files changed

+46
-118
lines changed

.github/workflows/CI.yml

Lines changed: 0 additions & 55 deletions
This file was deleted.

.github/workflows/FormatCheck.yml

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,13 @@
1-
name: format-check
1+
name: "Format Check"
22

33
on:
44
push:
55
branches:
66
- 'main'
7-
- 'release-'
87
tags: ['*']
98
pull_request:
109

1110
jobs:
12-
build:
13-
runs-on: ${{ matrix.os }}
14-
strategy:
15-
matrix:
16-
julia-version: [1]
17-
julia-arch: [x86]
18-
os: [ubuntu-latest]
19-
steps:
20-
- uses: julia-actions/setup-julia@latest
21-
with:
22-
version: ${{ matrix.julia-version }}
23-
24-
- uses: actions/checkout@v4
25-
- name: Install JuliaFormatter and format
26-
# This will use the latest version by default but you can set the version like so:
27-
#
28-
# julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.0"))'
29-
run: |
30-
julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter"))'
31-
julia -e 'using JuliaFormatter; format(".", verbose=true)'
32-
- name: Format check
33-
run: |
34-
julia -e '
35-
out = Cmd(`git diff --name-only`) |> read |> String
36-
if out == ""
37-
exit(0)
38-
else
39-
@error "Some files have not been formatted !!!"
40-
write(stdout, out)
41-
exit(1)
42-
end'
43-
11+
format-check:
12+
name: "Format Check"
13+
uses: "SciML/.github/.github/workflows/format-suggestions-on-pr.yml@v1"
Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Invalidations
1+
name: "Invalidations"
22

33
on:
44
pull_request:
@@ -10,31 +10,6 @@ concurrency:
1010
cancel-in-progress: true
1111

1212
jobs:
13-
evaluate:
14-
# Only run on PRs to the default branch.
15-
# In the PR trigger above branches can be specified only explicitly whereas this check should work for master, main, or any other default branch
16-
if: github.base_ref == github.event.repository.default_branch
17-
runs-on: ubuntu-latest
18-
steps:
19-
- uses: julia-actions/setup-julia@v2
20-
with:
21-
version: "1"
22-
- uses: actions/checkout@v4
23-
- uses: julia-actions/julia-buildpkg@v1
24-
- uses: julia-actions/julia-invalidations@v1
25-
id: invs_pr
26-
27-
- uses: actions/checkout@v4
28-
with:
29-
ref: ${{ github.event.repository.default_branch }}
30-
- uses: julia-actions/julia-buildpkg@v1
31-
- uses: julia-actions/julia-invalidations@v1
32-
id: invs_default
33-
34-
- name: Report invalidation counts
35-
run: |
36-
echo "Invalidations on default branch: ${{ steps.invs_default.outputs.total }} (${{ steps.invs_default.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY
37-
echo "This branch: ${{ steps.invs_pr.outputs.total }} (${{ steps.invs_pr.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY
38-
- name: Check if the PR does increase number of invalidations
39-
if: steps.invs_pr.outputs.total > steps.invs_default.outputs.total
40-
run: exit 1
13+
evaluate-invalidations:
14+
name: "Evaluate Invalidations"
15+
uses: "SciML/.github/.github/workflows/invalidations.yml@v1"

.github/workflows/Tests.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: "Tests"
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
- 'release-'
8+
paths-ignore:
9+
- 'docs/**'
10+
push:
11+
branches:
12+
- main
13+
paths-ignore:
14+
- 'docs/**'
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+
env:
21+
JULIA_NUM_THREADS: 11
22+
RETESTITEMS_NWORKERS: 4
23+
RETESTITEMS_NWORKER_THREADS: 2
24+
25+
jobs:
26+
tests:
27+
name: "Tests"
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
os:
32+
- "ubuntu-latest"
33+
- "macos-latest"
34+
- "windows-latest"
35+
uses: "SciML/.github/.github/workflows/tests.yml@v1"
36+
with:
37+
os: "${{ matrix.os }}"
38+
secrets: "inherit"

0 commit comments

Comments
 (0)