xref: /libCEED/.github/workflows/julia-test-with-style.yml (revision 392d940c90dcc80d2c8cd0455511b2e57938a796)
1name: Julia
2
3on:
4  push:
5    branches:
6      - main
7  pull_request:
8
9jobs:
10  test:
11    strategy:
12      matrix:
13        os: [ubuntu-24.04]
14        julia-version: ['1']
15
16    runs-on: ${{ matrix.os }}
17
18    env:
19      # Set `JULIA_PKG_SERVER` to the empty string so that the registry will
20      # be fetched using git instead of the package server (to avoid delays).
21      JULIA_PKG_SERVER: ""
22
23    steps:
24      - name: Environment setup
25        uses: actions/checkout@v4
26      - name: Julia setup
27        uses: julia-actions/setup-julia@latest
28        with:
29          version: ${{ matrix.julia-version }}
30      - name: Julia test and style
31        run: |
32          make info
33          make -j2
34          LIBCEED_LIB=$(find $PWD/lib -name "libceed.*")
35          pushd julia/LibCEED.jl
36          echo >> test/Project.toml
37          echo "[preferences.libCEED_jll]" >> test/Project.toml
38          echo "libceed_path = \"$LIBCEED_LIB\"" >> test/Project.toml
39          [[ "$GITHUB_REF" =~ ^refs/(heads/release|tags/).* ]] || julia --project -e 'import Pkg; Pkg.test("LibCEED"; coverage=true, test_args=["--run-dev-tests"])'
40          git checkout test/Project.toml && julia --project -e 'import Pkg; Pkg.test("LibCEED")'
41          julia --project=.style/ -e 'import Pkg; Pkg.instantiate()' && julia --project=.style/ .style/ceed_style.jl && git diff --exit-code src test examples
42