|
1 | 1 | name: CI
|
2 | 2 | on:
|
3 |
| - pull_request: |
4 |
| - branches: |
5 |
| - - master |
6 | 3 | push:
|
7 |
| - branches: |
8 |
| - - master |
9 |
| - tags: '*' |
| 4 | + branches: [master] |
| 5 | + tags: ['*'] |
| 6 | + pull_request: |
| 7 | + workflow_dispatch: |
10 | 8 | jobs:
|
11 | 9 | test:
|
12 |
| - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} |
| 10 | + name: Julia ${{ matrix.version }} - ${{ matrix.os }} ${{ matrix.arch }} |
13 | 11 | runs-on: ${{ matrix.os }}
|
| 12 | + |
| 13 | + permissions: |
| 14 | + actions: write |
| 15 | + contents: read |
| 16 | + |
14 | 17 | strategy:
|
15 | 18 | fail-fast: false
|
16 | 19 | matrix:
|
17 | 20 | version:
|
18 |
| - - '1.0' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'. |
19 |
| - - '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia. |
20 |
| - - 'nightly' |
| 21 | + - '1' # Current stable version |
21 | 22 | os:
|
22 | 23 | - ubuntu-latest
|
| 24 | + - windows-latest |
| 25 | + - macOS-latest |
23 | 26 | arch:
|
24 | 27 | - x64
|
| 28 | + include: |
| 29 | + - os: macOS-14 |
| 30 | + arch: aarch64 |
| 31 | + version: '1' |
| 32 | + - os: ubuntu-latest |
| 33 | + arch: x86 |
| 34 | + version: '1' |
| 35 | + - os: ubuntu-latest |
| 36 | + arch: x64 |
| 37 | + version: '1.0' |
| 38 | + - os: ubuntu-latest |
| 39 | + arch: x64 |
| 40 | + version: 'nightly' |
| 41 | + |
25 | 42 | steps:
|
26 | 43 | - uses: actions/checkout@v4
|
27 | 44 | - uses: julia-actions/setup-julia@v1
|
28 | 45 | with:
|
29 | 46 | version: ${{ matrix.version }}
|
30 | 47 | arch: ${{ matrix.arch }}
|
31 |
| - - uses: actions/cache@v4 |
32 |
| - env: |
33 |
| - cache-name: cache-artifacts |
| 48 | + - uses: julia-actions/cache@v1 |
34 | 49 | with:
|
35 |
| - path: ~/.julia/artifacts |
36 |
| - key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} |
37 |
| - restore-keys: | |
38 |
| - ${{ runner.os }}-test-${{ env.cache-name }}- |
39 |
| - ${{ runner.os }}-test- |
40 |
| - ${{ runner.os }}- |
| 50 | + cache-registries: ${{ !(matrix.version == '1.6' && matrix.os == 'windows-latest') }} |
41 | 51 | - uses: julia-actions/julia-buildpkg@v1
|
42 | 52 | - uses: julia-actions/julia-runtest@v1
|
43 | 53 | - uses: julia-actions/julia-processcoverage@v1
|
44 |
| - - uses: codecov/codecov-action@v3 |
| 54 | + - uses: codecov/codecov-action@v4 |
45 | 55 | with:
|
46 |
| - file: lcov.info |
| 56 | + files: lcov.info |
| 57 | + token: ${{ secrets.CODECOV_TOKEN }} |
| 58 | + fail_ci_if_error: true |
47 | 59 | docs:
|
48 | 60 | name: Documentation
|
49 | 61 | runs-on: ubuntu-latest
|
50 | 62 | steps:
|
51 | 63 | - uses: actions/checkout@v4
|
52 |
| - - uses: julia-actions/setup-julia@v1 |
53 |
| - with: |
54 |
| - version: '1' |
55 |
| - - run: | |
56 |
| - julia --project=docs -e ' |
57 |
| - using Pkg |
58 |
| - Pkg.develop(PackageSpec(path=pwd())) |
59 |
| - Pkg.instantiate()' |
60 |
| - - run: | |
61 |
| - julia --project=docs -e ' |
62 |
| - using Documenter: doctest, DocMeta |
63 |
| - using TSVD |
64 |
| - DocMeta.setdocmeta!( |
65 |
| - TSVD, |
66 |
| - :DocTestSetup, |
67 |
| - :(using TSVD, MatrixDepot; matrixdepot("LPnetlib/lp_osa_30")); |
68 |
| - recursive=true) |
69 |
| - doctest(TSVD)' |
70 |
| - - run: julia --project=docs docs/make.jl |
| 64 | + - uses: julia-actions/julia-buildpkg@latest |
| 65 | + - uses: julia-actions/julia-docdeploy@latest |
71 | 66 | env:
|
72 | 67 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
73 | 68 | DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
|
0 commit comments