|
4 | 4 | push: |
5 | 5 | branches: |
6 | 6 | - develop |
7 | | - - release** |
| 7 | + - 'release/**' |
8 | 8 | workflow_dispatch: |
| 9 | + |
9 | 10 | jobs: |
10 | 11 | test: |
11 | | - name: Julia ${{ matrix.julia-version }} - ${{ matrix.os }} - ${{ matrix.arch }} |
| 12 | + name: Julia ${{ matrix.julia-version }} - Env:${{ matrix.environment }} - ${{ matrix.os }} |
12 | 13 | runs-on: ${{ matrix.os }} |
13 | 14 | env: |
14 | 15 | JULIA_PKG_SERVER: "" |
| 16 | + JULIA_PROJECT: ${{ matrix.project-path }} |
15 | 17 | strategy: |
16 | 18 | fail-fast: false |
17 | 19 | matrix: |
18 | | - julia-version: ['1.11', 'nightly'] |
| 20 | + julia-version: ['1', 'nightly'] |
19 | 21 | os: [ubuntu-latest] |
20 | 22 | arch: [x64] |
| 23 | + environment: ['standard', 'upstream'] |
| 24 | + |
| 25 | + include: |
| 26 | + - environment: 'standard' |
| 27 | + project-path: 'RoME/test' |
| 28 | + - environment: 'upstream' |
| 29 | + project-path: 'RoME/test/upstream_test' |
| 30 | + |
| 31 | + exclude: |
| 32 | + - environment: 'upstream' |
| 33 | + julia-version: 'nightly' |
| 34 | + |
21 | 35 | steps: |
22 | | - - uses: actions/checkout@v2 |
| 36 | + - uses: actions/checkout@v4 |
| 37 | + |
23 | 38 | - uses: julia-actions/setup-julia@v2 |
24 | 39 | with: |
25 | 40 | version: ${{ matrix.julia-version }} |
26 | 41 | arch: ${{ matrix.arch }} |
27 | | - - uses: actions/cache@v4 |
28 | | - env: |
29 | | - cache-name: cache-artifacts |
30 | | - with: |
31 | | - path: ~/.julia/artifacts |
32 | | - key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} |
33 | | - restore-keys: | |
34 | | - ${{ runner.os }}-test-${{ env.cache-name }}- |
35 | | - ${{ runner.os }}-test- |
36 | | - ${{ runner.os }}- |
37 | | - - uses: julia-actions/julia-buildpkg@latest |
| 42 | + |
| 43 | + - uses: julia-actions/cache@v2 |
| 44 | + |
| 45 | + # Julia automatically spins up in the folder specified by JULIA_PROJECT above. |
| 46 | + - name: Instantiate workspace |
| 47 | + shell: julia --color=yes {0} |
| 48 | + run: | |
| 49 | + using Pkg |
| 50 | + Pkg.instantiate() |
| 51 | + |
38 | 52 | - run: | |
39 | 53 | git config --global user.name Tester |
40 | 54 | git config --global user.email te@st.er |
41 | | - - uses: julia-actions/julia-runtest@latest |
| 55 | +
|
| 56 | + - name: Run Test Suite |
| 57 | + shell: julia --color=yes {0} |
| 58 | + run: | |
| 59 | + using Pkg |
| 60 | + Pkg.test("RoME"; coverage = true) |
42 | 61 | continue-on-error: ${{ matrix.julia-version == 'nightly' }} |
| 62 | + |
43 | 63 | - uses: julia-actions/julia-processcoverage@v1 |
44 | | - if: ${{ matrix.julia-version == '1.10' }} |
45 | | - - uses: codecov/codecov-action@v1 |
46 | 64 | with: |
47 | | - file: lcov.info |
48 | | - |
49 | | - upstream-dev: |
50 | | - #if: github.ref != 'refs/heads/release**' |
51 | | - name: Upstream Dev |
52 | | - runs-on: ubuntu-latest |
53 | | - env: |
54 | | - JULIA_PKG_SERVER: "" |
55 | | - steps: |
56 | | - - uses: actions/checkout@v4 |
57 | | - - uses: julia-actions/setup-julia@v2 |
| 65 | + directories: RoME/src,RoME/ext,RoMETypes/src |
| 66 | + if: ${{ matrix.julia-version == '1' }} |
| 67 | + |
| 68 | + - uses: codecov/codecov-action@v4 |
| 69 | + if: ${{ matrix.julia-version == '1' }} |
58 | 70 | with: |
59 | | - version: '1' |
60 | | - arch: x64 |
61 | | - - uses: julia-actions/cache@v2 |
62 | | - - name: Dev dependencies |
63 | | - shell: julia --color=yes --project=monorepo {0} |
64 | | - run: | |
65 | | - using Pkg; |
66 | | - Pkg.add(PackageSpec(name="DistributedFactorGraphs",rev="develop")) |
67 | | - Pkg.add(PackageSpec(name="ApproxManifoldProducts",rev="develop")) |
68 | | - Pkg.add(PackageSpec(url="https://github.com/JuliaRobotics/IncrementalInference.jl",rev="develop",subdir="IncrementalInferenceTypes")) |
69 | | - Pkg.add(PackageSpec(url="https://github.com/JuliaRobotics/IncrementalInference.jl",rev="develop",subdir="IncrementalInference")) |
70 | | - Pkg.develop([PackageSpec(path="RoMETypes"), PackageSpec(path="RoME")]) |
71 | | - - name: Run tests |
72 | | - env: |
73 | | - IIF_TEST_GROUP: 'basic_functional_group' |
74 | | - run: > |
75 | | - julia --color=yes --project=monorepo -e 'using Pkg; Pkg.test("RoME")' |
76 | | -
|
| 71 | + file: lcov.info |
| 72 | + token: ${{ secrets.CODECOV_TOKEN }} |
0 commit comments