Skip to content

Commit 2f20aca

Browse files
committed
ci: common setup action with conan cache
1 parent 2d1a44b commit 2f20aca

File tree

9 files changed

+63
-202
lines changed

9 files changed

+63
-202
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: "Setup dependencies"
2+
description: "Install required dependencies"
3+
inputs:
4+
cmake_version:
5+
description: "Version of CMake to install"
6+
default: 4.x
7+
qt_version:
8+
description: "Version of Qt to install"
9+
default: 6.5.0
10+
runs:
11+
using: "composite"
12+
steps:
13+
- name: Setup Windows environment
14+
uses: ilammy/msvc-dev-cmd@v1
15+
16+
- name: Install Conan
17+
uses: conan-io/setup-conan@v1
18+
with:
19+
cache_packages: true
20+
21+
- name: Setup cmake
22+
uses: jwlawson/actions-setup-cmake@v2
23+
with:
24+
cmake-version: ${{inputs.cmake_version}}
25+
26+
- name: Print CMake version
27+
shell: bash
28+
run: cmake --version
29+
30+
- name: Install Qt
31+
uses: jurplel/install-qt-action@v4
32+
with:
33+
cache: true
34+
version: ${{ matrix.qt }}
35+
aqtversion: '==3.1.*'

.github/workflows/abi_compliance_check.yml

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -30,35 +30,15 @@ jobs:
3030
with:
3131
fetch-depth: 0
3232

33-
- name: Setup Windows environment
34-
uses: ilammy/msvc-dev-cmd@v1
35-
36-
- name: Setup Python
37-
uses: actions/setup-python@v6
38-
with:
39-
python-version: 3.x
40-
- name: Install pip dependencies
41-
run: |
42-
pip3 install wheel setuptools
43-
pip3 install conan
44-
45-
- name: Setup cmake
46-
uses: jwlawson/actions-setup-cmake@v2
33+
- id: setup_deps
34+
uses: ./.github/actions/setup_deps
4735
with:
48-
cmake-version: ${{matrix.cmake}}
49-
50-
- name: Print CMake version
51-
run: cmake --version
36+
cmake_version: ${{matrix.cmake}}
37+
qt_version: ${{ matrix.qt }}
5238

5339
- name: Install apt dependencies
5440
if: runner.os == 'Linux'
55-
run: sudo apt install lcov ^libxcb-* abi-dumper abi-compliance-checker
56-
57-
- name: Install Qt
58-
uses: jurplel/install-qt-action@v4
59-
with:
60-
version: ${{ matrix.qt }}
61-
aqtversion: '==3.1.*'
41+
run: sudo apt install abi-dumper abi-compliance-checker
6242

6343
- name: Select base sha
6444
if: github.event_name == 'pull_request'

.github/workflows/build_and_test.yml

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -55,34 +55,11 @@ jobs:
5555
with:
5656
fetch-depth: 0
5757

58-
- name: Setup Windows environment
59-
uses: ilammy/msvc-dev-cmd@v1
60-
61-
- name: Setup Python
62-
uses: actions/setup-python@v6
63-
with:
64-
python-version: 3.x
65-
cache: 'pip'
66-
67-
- name: Install pip dependencies
68-
run: |
69-
pip3 install wheel setuptools
70-
pip3 install conan
71-
72-
- name: Setup cmake
73-
uses: jwlawson/actions-setup-cmake@v2
74-
with:
75-
cmake-version: ${{matrix.cmake}}
76-
77-
- name: Print CMake version
78-
run: cmake --version
79-
80-
- name: Install Qt
81-
uses: jurplel/install-qt-action@v4
58+
- id: setup_deps
59+
uses: ./.github/actions/setup_deps
8260
with:
83-
cache: true
84-
version: ${{ matrix.qt }}
85-
aqtversion: '==3.1.*'
61+
cmake_version: ${{matrix.cmake}}
62+
qt_version: ${{ matrix.qt }}
8663

8764
- name: Select preset
8865
id: preset

.github/workflows/check_licenses.yml

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,33 +12,8 @@ jobs:
1212
with:
1313
fetch-depth: 0
1414

15-
- name: Setup Python
16-
uses: actions/setup-python@v6
17-
with:
18-
python-version: 3.x
19-
- name: Install dependencies
20-
run: |
21-
python -m pip install --upgrade pip
22-
pip install -r requirements.txt
23-
24-
- name: Cache Qt
25-
id: cache-qt
26-
uses: actions/cache@v5
27-
with:
28-
path: ../Qt
29-
key: ${{ runner.os }}-QtCache
30-
31-
- name: Install Qt
32-
uses: jurplel/install-qt-action@v4
33-
with:
34-
cached: ${{ steps.cache-qt.outputs.cache-hit }}
35-
version: '6.5.0'
36-
aqtversion: '==3.1.*'
37-
38-
- name: Install pip dependencies
39-
run: |
40-
pip3 install wheel setuptools
41-
pip3 install conan
15+
- id: setup_deps
16+
uses: ./.github/actions/setup_deps
4217

4318
- name: Check third party licenses
4419
run: cmake --workflow --preset workflow-ci-license-check-unix

.github/workflows/coverage.yml

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -38,39 +38,19 @@ jobs:
3838
with:
3939
fetch-depth: 0
4040

41-
- name: Setup Python
42-
uses: actions/setup-python@v6
41+
- id: setup_deps
42+
uses: ./.github/actions/setup_deps
4343
with:
44-
python-version: 3.x
45-
cache: 'pip'
46-
47-
- name: Install pip dependencies
48-
run: |
49-
pip3 install wheel setuptools
50-
pip3 install conan
51-
52-
- name: Setup cmake
53-
uses: jwlawson/actions-setup-cmake@v2
54-
with:
55-
cmake-version: ${{matrix.cmake}}
56-
57-
- name: Print CMake version
58-
run: cmake --version
44+
cmake_version: ${{matrix.cmake}}
45+
qt_version: ${{ matrix.qt }}
5946

6047
- name: Install and cache apt dependencies
6148
if: runner.os == 'Linux'
6249
uses: awalsh128/cache-apt-pkgs-action@v1.5.2
6350
with:
64-
packages: lcov ^libxcb-*
51+
packages: lcov
6552
version: 1.0
6653

67-
- name: Install Qt
68-
uses: jurplel/install-qt-action@v4
69-
with:
70-
cache: true
71-
version: ${{ matrix.qt }}
72-
aqtversion: '==3.1.*'
73-
7454
# Static Debug
7555
- name: "Coverage Workflow (static debug)"
7656
run: cmake --workflow --preset workflow-ci-coverage-unix

.github/workflows/deploy.yml

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,8 @@ jobs:
1515
with:
1616
fetch-depth: 0
1717

18-
- name: Setup Python
19-
uses: actions/setup-python@v6
20-
with:
21-
python-version: 3.x
22-
- name: Install pip dependencies
23-
run: |
24-
pip3 install wheel setuptools
25-
pip3 install conan
26-
27-
- name: Setup cmake
28-
uses: jwlawson/actions-setup-cmake@v2
29-
with:
30-
cmake-version: 4.x
31-
32-
- name: Print CMake version
33-
run: cmake --version
34-
35-
- name: Install apt dependencies
36-
if: runner.os == 'Linux'
37-
run: sudo apt install lcov ^libxcb-*
38-
39-
- name: Install Qt
40-
uses: jurplel/install-qt-action@v4
41-
with:
42-
version: '6.5.0'
43-
aqtversion: '==3.1.*'
18+
- id: setup_deps
19+
uses: ./.github/actions/setup_deps
4420

4521
# Shared Release with packaging
4622
- name: "Shared Release: Configure and build with preset"

.github/workflows/doxygen.yml

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,8 @@ jobs:
1414
with:
1515
fetch-depth: 0
1616

17-
- name: Setup Python
18-
uses: actions/setup-python@v6
19-
with:
20-
python-version: 3.x
21-
- name: Install dependencies
22-
run: |
23-
python -m pip install --upgrade pip
24-
pip install -r requirements.txt
25-
26-
- name: Cache Qt
27-
id: cache-qt
28-
uses: actions/cache@v5
29-
with:
30-
path: ../Qt
31-
key: ${{ runner.os }}-QtCache
32-
33-
- name: Install Qt
34-
uses: jurplel/install-qt-action@v4
35-
with:
36-
cached: ${{ steps.cache-qt.outputs.cache-hit }}
37-
version: '6.5.0'
38-
aqtversion: '==3.1.*'
17+
- id: setup_deps
18+
uses: ./.github/actions/setup_deps
3919

4020
- name: Install Doxygen
4121
run: sudo apt install doxygen graphviz -y

.github/workflows/install_and_test.yml

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -24,32 +24,10 @@ jobs:
2424
with:
2525
fetch-depth: 0
2626

27-
- name: Setup Python
28-
uses: actions/setup-python@v6
27+
- id: setup_deps
28+
uses: ./.github/actions/setup_deps
2929
with:
30-
python-version: 3.x
31-
32-
- name: Install dependencies
33-
run: |
34-
pip3 install wheel setuptools
35-
pip3 install --upgrade -r requirements.txt
36-
sudo apt install ^libxcb-*
37-
38-
- name: Install Qt
39-
uses: jurplel/install-qt-action@v4
40-
with:
41-
version: ${{ matrix.qt }}
42-
aqtversion: '==3.1.*'
43-
44-
- name: Setup Python
45-
uses: actions/setup-python@v6
46-
with:
47-
python-version: 3.x
48-
49-
- name: Install pip dependencies
50-
run: |
51-
pip3 install wheel setuptools
52-
pip3 install conan
30+
qt_version: ${{ matrix.qt }}
5331

5432
- name: "Static Release: Workflow lib install"
5533
working-directory: aide

.github/workflows/static_analyzer.yml

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -35,35 +35,15 @@ jobs:
3535
with:
3636
fetch-depth: 0
3737

38-
- name: Setup Windows environment
39-
uses: ilammy/msvc-dev-cmd@v1
40-
41-
- name: Setup Python
42-
uses: actions/setup-python@v6
43-
with:
44-
python-version: 3.x
45-
- name: Install pip dependencies
46-
run: |
47-
pip3 install wheel setuptools
48-
pip3 install conan
49-
50-
- name: Setup cmake
51-
uses: jwlawson/actions-setup-cmake@v2
38+
- id: setup_deps
39+
uses: ./.github/actions/setup_deps
5240
with:
53-
cmake-version: ${{matrix.cmake}}
54-
55-
- name: Print CMake version
56-
run: cmake --version
41+
cmake_version: ${{matrix.cmake}}
42+
qt_version: ${{ matrix.qt }}
5743

5844
- name: Install apt dependencies
5945
if: runner.os == 'Linux'
60-
run: sudo apt install cppcheck ^libxcb-*
61-
62-
- name: Install Qt
63-
uses: jurplel/install-qt-action@v4
64-
with:
65-
version: ${{ matrix.qt }}
66-
aqtversion: '==3.1.*'
46+
run: sudo apt install cppcheck
6747

6848
# Static Debug
6949
- name: "Static Debug: Static analysis"

0 commit comments

Comments
 (0)