Skip to content

Commit db9fe6c

Browse files
committed
more effective cmake presets
1 parent c251382 commit db9fe6c

7 files changed

Lines changed: 56 additions & 89 deletions

File tree

.github/workflows/ci_windows.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ jobs:
5757

5858
- name: Upload log failure
5959
if: failure()
60-
uses: actions/upload-artifact@v6
60+
uses: actions/upload-artifact@v7
6161
with:
62+
archive: false
6263
name: example-${{ runner.os }}-CMakeConfigureLog.yaml
6364
path: example/build/CMakeFiles/CMakeConfigureLog.yaml
6465

@@ -114,8 +115,9 @@ jobs:
114115

115116
- name: Upload log failure
116117
if: failure()
117-
uses: actions/upload-artifact@v6
118+
uses: actions/upload-artifact@v
118119
with:
120+
archive: false
119121
name: example-${{ runner.os }}-CMakeConfigureLog.yaml
120122
path: /tmp/build-ex/CMakeFiles/CMakeConfigureLog.yaml
121123

.github/workflows/composite-example/action.yml

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,40 @@ name: build example
22
description: Build and test MUMPS example workflow
33

44
runs:
5-
using: "composite"
5+
using: composite
66

77
steps:
88

99
- name: configure example
1010
shell: bash
11-
run: cmake -S example -B example/build
12-
13-
- name: build example
14-
shell: bash
15-
run: cmake --build example/build
16-
17-
- name: test example
18-
shell: bash
19-
run: ctest --test-dir example/build -V
11+
working-directory: example
12+
run: cmake --workflow default
2013

2114
- name: Scotch example
2215
shell: bash
2316
if: ${{ matrix.scotch }}
24-
run: |
25-
cmake -S example/scotch -Bexample/scotch/build
26-
cmake --build example/scotch/build
27-
ctest --test-dir example/scotch/build -V
17+
working-directory: example/scotch
18+
run: cmake --workflow default
2819

2920
- name: Upload log failure
3021
if: ${{ failure() && matrix.scotch }}
31-
uses: actions/upload-artifact@v6
22+
uses: actions/upload-artifact@v7
3223
with:
24+
archive: false
3325
name: Scotch-example-${{ runner.os }}-CMakeConfigureLog.yaml
3426
path: example/scotch/build/CMakeFiles/CMakeConfigureLog.yaml
3527

3628
- name: METIS example
3729
shell: bash
3830
if: ${{ matrix.metis }}
39-
run: |
40-
cmake -S example/metis -Bexample/metis/build
41-
cmake --build example/metis/build
42-
ctest --test-dir example/metis/build -V
31+
working-directory: example/metis
32+
run: cmake --workflow default
4333

4434
- name: Upload log failure
4535
if: ${{ failure() && matrix.metis }}
46-
uses: actions/upload-artifact@v6
36+
uses: actions/upload-artifact@v7
4737
with:
38+
archive: false
4839
name: METIS-example-${{ runner.os }}-CMakeConfigureLog.yaml
4940
path: example/metis/build/CMakeFiles/CMakeConfigureLog.yaml
5041

@@ -59,7 +50,8 @@ runs:
5950
6051
- name: Upload log failure
6152
if: ${{ failure() && matrix.openmp }}
62-
uses: actions/upload-artifact@v6
53+
uses: actions/upload-artifact@v7
6354
with:
55+
archive: false
6456
name: OpenMP-example-${{ runner.os }}-CMakeConfigureLog.yaml
6557
path: example/openmp/build/CMakeFiles/CMakeConfigureLog.yaml

.github/workflows/oneapi-linux.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,9 @@ jobs:
9090
9191
- name: Upload log failure
9292
if: failure()
93-
uses: actions/upload-artifact@v6
93+
uses: actions/upload-artifact@v7
9494
with:
95+
archive: false
9596
name: oneapi-${{ matrix.oneapi }}-${{ runner.os }}-CMakeConfigureLog.yaml
9697
path: build/CMakeFiles/CMakeConfigureLog.yaml
9798

CMakePresets.json

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,18 @@
1212
"BUILD_COMPLEX16": false,
1313
"CMAKE_BUILD_TYPE": "Release"
1414
}
15+
},
16+
{
17+
"name": "shared", "inherits": "default",
18+
"binaryDir": "${sourceDir}/build-shared",
19+
"cacheVariables": {
20+
"BUILD_SHARED_LIBS": true
21+
}
1522
}
1623
],
1724
"buildPresets": [
18-
{
19-
"name": "default",
20-
"configurePreset": "default"
21-
}
25+
{ "name": "default", "configurePreset": "default", "jobs": 0 },
26+
{ "name": "shared", "configurePreset": "shared", "inherits": "default" }
2227
],
2328
"testPresets": [
2429
{
@@ -34,24 +39,24 @@
3439
"stopOnFailure": false,
3540
"timeout": 60
3641
}
37-
}
42+
},
43+
{ "name": "shared", "configurePreset": "shared", "inherits": "default" }
3844
],
3945
"workflowPresets": [
4046
{
4147
"name": "default",
4248
"steps": [
43-
{
44-
"type": "configure",
45-
"name": "default"
46-
},
47-
{
48-
"type": "build",
49-
"name": "default"
50-
},
51-
{
52-
"type": "test",
53-
"name": "default"
54-
}
49+
{ "type": "configure", "name": "default" },
50+
{ "type": "build", "name": "default" },
51+
{ "type": "test", "name": "default"}
52+
]
53+
},
54+
{
55+
"name": "shared",
56+
"steps": [
57+
{ "type": "configure", "name": "shared" },
58+
{ "type": "build", "name": "shared" },
59+
{ "type": "test", "name": "shared"}
5560
]
5661
}
5762
]

example/CMakePresets.json

Lines changed: 3 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,6 @@
11
{
22
"version": 6,
3-
4-
"configurePresets": [
5-
{
6-
"name": "default",
7-
"binaryDir": "${sourceDir}/build"
8-
}
9-
],
10-
"buildPresets": [
11-
{
12-
"name": "default",
13-
"configurePreset": "default"
14-
}
15-
],
16-
"testPresets": [
17-
{
18-
"name": "default",
19-
"configurePreset": "default",
20-
"output": {
21-
"outputOnFailure": true,
22-
"verbosity": "verbose"
23-
},
24-
"execution": {
25-
"noTestsAction": "error",
26-
"scheduleRandom": true,
27-
"stopOnFailure": false,
28-
"timeout": 60
29-
}
30-
}
31-
],
32-
"workflowPresets": [
33-
{
34-
"name": "default",
35-
"steps": [
36-
{
37-
"type": "configure",
38-
"name": "default"
39-
},
40-
{
41-
"type": "build",
42-
"name": "default"
43-
},
44-
{
45-
"type": "test",
46-
"name": "default"
47-
}
48-
]
49-
}
50-
]
3+
"include": [
4+
"../CMakePresets.json"
5+
]
516
}

example/metis/CMakePresets.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"version": 6,
3+
"include": [
4+
"../CMakePresets.json"
5+
]
6+
}

example/scotch/CMakePresets.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"version": 6,
3+
"include": [
4+
"../CMakePresets.json"
5+
]
6+
}

0 commit comments

Comments
 (0)