Skip to content

Commit f05315f

Browse files
committed
ci: update workflows
1 parent 53e2301 commit f05315f

File tree

7 files changed

+275
-107
lines changed

7 files changed

+275
-107
lines changed

.github/workflows/aarch64_docker.yml

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

.github/workflows/amd64_docker.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ name: amd64 Docker
33

44
on: [push, pull_request, workflow_dispatch]
55

6+
concurrency:
7+
group: ${{github.workflow}}-${{github.ref}}
8+
cancel-in-progress: true
9+
610
jobs:
711
docker:
812
strategy:
@@ -43,3 +47,9 @@ jobs:
4347
run: make --directory=ci amd64_${{ matrix.distro }}_install_build
4448
- name: Test install project
4549
run: make --directory=ci amd64_${{ matrix.distro }}_install_test
50+
51+
amd64_docker:
52+
runs-on: ubuntu-latest
53+
needs: docker
54+
steps:
55+
- uses: actions/checkout@v5

.github/workflows/amd64_linux.yml

Lines changed: 53 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,59 @@ name: amd64 Linux
33

44
on: [push, pull_request, workflow_dispatch]
55

6+
concurrency:
7+
group: ${{github.workflow}}-${{github.ref}}
8+
cancel-in-progress: true
9+
10+
# Building using the github runner environement directly.
611
jobs:
7-
# Building using the github runner environement directly.
8-
linux:
9-
runs-on: ubuntu-latest
12+
native:
1013
strategy:
11-
matrix:
12-
build: [
13-
["Unix Makefiles", "Release"],
14-
["Ninja", "Release"],
15-
["Ninja Multi-Config", "Release"]
16-
]
17-
fail-fast: false
18-
env:
19-
GENERATOR: ${{ matrix.build[0] }}
20-
BUILD_TYPE: ${{ matrix.build[1] }}
14+
matrix:
15+
cmake: [
16+
{generator: "Unix Makefiles", config: "Release"},
17+
{generator: "Ninja", config: "Release"},
18+
{generator: "Ninja Multi-Config", config: "Release"},
19+
]
20+
fail-fast: false
21+
name: Linux•CMake(${{matrix.cmake.generator}})
22+
runs-on: ubuntu-latest
23+
steps:
24+
- uses: actions/checkout@v5
25+
- name: Install Ninja
26+
run: |
27+
sudo apt-get update
28+
sudo apt-get install ninja-build
29+
- name: Check CMake
30+
run: cmake --version
31+
- name: Configure
32+
run: >
33+
cmake -S. -Bbuild
34+
-G "${{matrix.cmake.generator}}"
35+
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
36+
-DCMAKE_INSTALL_PREFIX=install
37+
- name: Build
38+
run: >
39+
cmake --build build
40+
--config ${{matrix.cmake.config}}
41+
--target all
42+
-v -j2
43+
- name: Test
44+
run: >
45+
CTEST_OUTPUT_ON_FAILURE=1
46+
cmake --build build
47+
--config ${{matrix.cmake.config}}
48+
--target test
49+
-v
50+
- name: Install
51+
run: >
52+
cmake --build build
53+
--config ${{matrix.cmake.config}}
54+
--target install
55+
-v
56+
57+
amd64_linux:
58+
runs-on: ubuntu-latest
59+
needs: native
2160
steps:
22-
- uses: actions/checkout@v5
23-
- name: Install Ninja
24-
run: |
25-
sudo apt-get update
26-
sudo apt-get install ninja-build
27-
- name: Check cmake
28-
run: cmake --version
29-
- name: Configure
30-
run: cmake -S. -Bbuild -G "$GENERATOR" -DCMAKE_BUILD_TYPE="$BUILD_TYPE" -DCMAKE_INSTALL_PREFIX=install
31-
- name: Build
32-
run: cmake --build build --config "$BUILD_TYPE" --target all -v
33-
- name: Test
34-
run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config "$BUILD_TYPE" --target test -v
35-
- name: Install
36-
run: cmake --build build --config "$BUILD_TYPE" --target install -v
61+
- uses: actions/checkout@v5

.github/workflows/amd64_macos.yml

Lines changed: 49 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,56 @@
11
# ref: https://github.com/actions/runner-images
2-
name: amd64 macOS
2+
name: amd64 MacOS
33

44
on: [push, pull_request, workflow_dispatch]
55

6+
concurrency:
7+
group: ${{github.workflow}}-${{github.ref}}
8+
cancel-in-progress: true
9+
10+
# Building using the github runner environement directly.
611
jobs:
7-
# Building using the github runner environement directly.
8-
macos:
9-
runs-on: macos-latest
12+
native:
1013
strategy:
11-
matrix:
12-
build: [
13-
["Xcode", "Release", "ALL_BUILD", "RUN_TESTS", "install"],
14-
["Unix Makefiles", "Release", "all", "test", "install"]
15-
]
16-
fail-fast: false
17-
env:
18-
GENERATOR: ${{ matrix.build[0] }}
19-
BUILD_TYPE: ${{ matrix.build[1] }}
20-
BUILD_TARGET: ${{ matrix.build[2] }}
21-
TEST_TARGET: ${{ matrix.build[3] }}
22-
INSTALL_TARGET: ${{ matrix.build[4] }}
14+
matrix:
15+
cmake: [
16+
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
17+
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
18+
]
19+
fail-fast: false
20+
name: MacOS•CMake(${{matrix.cmake.name}})
21+
runs-on: macos-13 # last macos intel based runner
22+
steps:
23+
- uses: actions/checkout@v5
24+
- name: Check CMake
25+
run: cmake --version
26+
- name: Configure
27+
run: >
28+
cmake -S. -Bbuild
29+
-G "${{matrix.cmake.generator}}"
30+
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
31+
-DCMAKE_INSTALL_PREFIX=install
32+
- name: Build
33+
run: >
34+
cmake --build build
35+
--config ${{matrix.cmake.config}}
36+
--target ${{matrix.cmake.build_target}}
37+
-v -j2
38+
- name: Test
39+
run: >
40+
CTEST_OUTPUT_ON_FAILURE=1
41+
cmake --build build
42+
--config ${{matrix.cmake.config}}
43+
--target ${{matrix.cmake.test_target}}
44+
-v
45+
- name: Install
46+
run: >
47+
cmake --build build
48+
--config ${{matrix.cmake.config}}
49+
--target ${{matrix.cmake.install_target}}
50+
-v
51+
52+
amd64_macos:
53+
runs-on: ubuntu-latest
54+
needs: native
2355
steps:
24-
- uses: actions/checkout@v5
25-
- name: Check cmake
26-
run: cmake --version
27-
- name: Configure
28-
run: cmake -S. -Bbuild -G "$GENERATOR" -DCMAKE_BUILD_TYPE="$BUILD_TYPE" -DCMAKE_INSTALL_PREFIX=install
29-
- name: Build
30-
run: cmake --build build --config "$BUILD_TYPE" --target "$BUILD_TARGET" -v
31-
- name: Test
32-
run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config "$BUILD_TYPE" --target "$TEST_TARGET" -v
33-
- name: Install
34-
run: cmake --build build --config "$BUILD_TYPE" --target "$INSTALL_TARGET" -v
56+
- uses: actions/checkout@v5

.github/workflows/amd64_windows.yml

Lines changed: 51 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,57 @@ name: amd64 Windows
33

44
on: [push, pull_request, workflow_dispatch]
55

6+
concurrency:
7+
group: ${{github.workflow}}-${{github.ref}}
8+
cancel-in-progress: true
9+
10+
# Building using the github runner environement directly.
611
jobs:
7-
# Building using the github runner environement directly.
8-
visual-studio:
12+
native:
13+
strategy:
14+
matrix:
15+
cmake: [
16+
{name: "VS22", generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
17+
{name: "VS22", generator: "Visual Studio 17 2022", config: Debug, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
18+
]
19+
fail-fast: false
20+
name: Windows•CMake(${{matrix.cmake.name}},${{matrix.cmake.config}})
921
runs-on: windows-latest
22+
env:
23+
CTEST_OUTPUT_ON_FAILURE: 1
24+
steps:
25+
- uses: actions/checkout@v5
26+
- name: Check CMake
27+
run: |
28+
cmake --version
29+
cmake -G || true
30+
- name: Configure
31+
run: >
32+
cmake -S. -Bbuild
33+
-G "${{matrix.cmake.generator}}"
34+
-DCMAKE_CONFIGURATION_TYPES=${{matrix.cmake.config}}
35+
-DCMAKE_INSTALL_PREFIX=install
36+
- name: Build
37+
run: >
38+
cmake --build build
39+
--config ${{matrix.cmake.config}}
40+
--target ${{matrix.cmake.build_target}}
41+
-v -j2
42+
- name: Test
43+
run: >
44+
cmake --build build
45+
--config ${{matrix.cmake.config}}
46+
--target ${{matrix.cmake.test_target}}
47+
-v
48+
- name: Install
49+
run: >
50+
cmake --build build
51+
--config ${{matrix.cmake.config}}
52+
--target ${{matrix.cmake.install_target}}
53+
-v
54+
55+
amd64_windows:
56+
runs-on: ubuntu-latest
57+
needs: native
1058
steps:
11-
- uses: actions/checkout@v5
12-
- name: Check cmake
13-
run: cmake --version
14-
- name: Configure
15-
run: cmake -S. -Bbuild -G "Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES=Release -DCMAKE_INSTALL_PREFIX=install
16-
- name: Build
17-
run: cmake --build build --config Release --target ALL_BUILD -v
18-
- name: Test
19-
run: cmake --build build --config Release --target RUN_TESTS -v
20-
- name: Install
21-
run: cmake --build build --config Release --target INSTALL -v
59+
- uses: actions/checkout@v5

.github/workflows/arm64_docker.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# ref: https://github.com/docker-library/official-images
2+
name: arm64 Docker
3+
4+
on: [push, pull_request, workflow_dispatch]
5+
6+
concurrency:
7+
group: ${{github.workflow}}-${{github.ref}}
8+
cancel-in-progress: true
9+
10+
jobs:
11+
docker:
12+
strategy:
13+
matrix:
14+
distro: [
15+
almalinux,
16+
alpine,
17+
debian,
18+
fedora,
19+
opensuse,
20+
rockylinux,
21+
ubuntu
22+
]
23+
fail-fast: false
24+
name: arm64•${{matrix.distro}}
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: actions/checkout@v5
28+
- name: Set up QEMU
29+
uses: docker/setup-qemu-action@v3
30+
- name: Check docker
31+
run: |
32+
docker info
33+
docker buildx ls
34+
- name: Build env image
35+
run: make --directory=ci arm64_${{matrix.distro}}_env
36+
- name: Build devel project
37+
run: make --directory=ci arm64_${{matrix.distro}}_devel
38+
- name: Build project
39+
run: make --directory=ci arm64_${{matrix.distro}}_build
40+
- name: Test project
41+
run: make --directory=ci arm64_${{matrix.distro}}_test
42+
43+
- name: Build install env image
44+
run: make --directory=ci arm64_${{matrix.distro}}_install_env
45+
- name: Build install devel project
46+
run: make --directory=ci arm64_${{matrix.distro}}_install_devel
47+
- name: Build install project
48+
run: make --directory=ci arm64_${{matrix.distro}}_install_build
49+
- name: Test install project
50+
run: make --directory=ci arm64_${{matrix.distro}}_install_test
51+
52+
arm64_docker:
53+
runs-on: ubuntu-latest
54+
needs: docker
55+
steps:
56+
- uses: actions/checkout@v5

0 commit comments

Comments
 (0)