Skip to content

Commit 203725d

Browse files
Improve CI workflows in master (#216)
* Refs #21286: Add Ubuntu CI Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Add Windows CI Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Add MacOS CI Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Remove previous job Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Update PR template Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Add missing dependency Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Fix colcon test warning Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Add RELEASE_SUPPORT.md Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Apply rev suggestions Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Fix labels Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Try to fix windows CI Signed-off-by: JesusPoderoso <[email protected]> * Refs #21286: Include GitHub CI badges in readme Signed-off-by: JesusPoderoso <[email protected]> --------- Signed-off-by: JesusPoderoso <[email protected]>
1 parent 0aa63eb commit 203725d

14 files changed

+600
-140
lines changed

.github/pull_request_template.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
In case of bug fixes, please provide the list of supported branches where this fix should be also merged.
1818
Please uncomment following line, adjusting the corresponding target branches for the backport.
1919
-->
20-
<!-- @Mergifyio backport 2.2.x 1.1.x 1.0.x -->
20+
<!-- @Mergifyio backport 2.2.x 2.1.x 1.1.x 1.0.x -->
2121

2222
<!-- If an issue is already opened, please uncomment next line with the corresponding issue number. -->
2323
<!-- Fixes #(issue) -->
@@ -36,7 +36,7 @@
3636
- [ ] The code follows the style guidelines of this project. <!-- Please refer to the [Quality Declaration](https://github.com/eProsima/Fast-CDR/blob/master/QUALITY.md#linters-and-static-analysis-4v) for more information. -->
3737
- [ ] Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally <!-- Blackbox tests checking the new functionality are required. Changes that add/modify public API must include unit tests covering all possible cases. In case that no tests are provided, please justify why. -->
3838
- [ ] Any new/modified methods have been properly documented using Doxygen. <!-- Even internal classes, and private methods and members should be documented, not only the public API. -->
39-
- [ ] Changes are ABI compatible. <!-- Bug fixes should be ABI compatible if possible so a backport to previous affected releases can be made. -->
39+
- [ ] Changes are backport compatible: they do **NOT** break ABI nor change library core behavior. <!-- Bug fixes should be ABI compatible if possible so a backport to previous affected releases can be made. -->
4040
- [ ] Changes are API compatible. <!-- Public API must not be broken within the same major release. -->
4141
- [ ] New feature has been added to the `versions.md` file (if applicable).
4242
- [ ] Applicable backports have been included in the description.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
names:
2+
fastcdr:
3+
cmake-args:
4+
- "-DBUILD_TESTING=ON"
25
googletest-distribution:
36
cmake-args:
47
- "-Dgtest_force_shared_crt=ON"
58
- "-DBUILD_SHARED_LIBS=ON"
69
- "-DBUILD_GMOCK=ON"
10+

.github/workflows/config/test.meta

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
names:
2+
fastcdr:
3+
ctest-args: [
4+
"--repeat", "until-pass:3",
5+
"--timeout", "300",
6+
"--output-junit", "junit/junit.xml"
7+
]

.github/workflows/config/test.repos

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
repositories:
2+
googletest-distribution:
3+
type: git
4+
url: https://github.com/google/googletest.git
5+
version: release-1.11.0

.github/workflows/fastcdr-test.yml

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

.github/workflows/mac-ci.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Fast CDR Mac CI
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
os-version:
7+
description: 'OS version to run the workflow'
8+
required: false
9+
default: 'macos-13'
10+
type: string
11+
colcon-args:
12+
description: 'Extra arguments for colcon cli'
13+
required: false
14+
type: string
15+
cmake-args:
16+
description: 'Extra arguments for cmake cli'
17+
required: false
18+
type: string
19+
ctest-args:
20+
description: 'Extra arguments for ctest cli'
21+
required: false
22+
type: string
23+
fastcdr-branch:
24+
description: 'Branch or tag of Fast CDR repository'
25+
type: string
26+
required: true
27+
run-tests:
28+
description: 'Run test suite of Fast CDR'
29+
required: false
30+
type: boolean
31+
default: true
32+
33+
pull_request:
34+
types:
35+
- review_requested
36+
paths-ignore:
37+
- '**.md'
38+
- '**.txt'
39+
- '!**/CMakeLists.txt'
40+
41+
concurrency:
42+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
43+
cancel-in-progress: true
44+
45+
jobs:
46+
mac-ci:
47+
if: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'conflicts') }}
48+
uses: ./.github/workflows/reusable-ci.yml
49+
with:
50+
# It would be desirable to have a matrix of macos OS for this job, but due to the issue opened in this ticket:
51+
# https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job.
52+
os-version: ${{ inputs.os-version || 'macos-13' }}
53+
label: ${{ format('mac-ci-{0}', inputs.fastcdr-branch || github.ref) }}
54+
colcon-args: ${{ inputs.colcon-args }}
55+
cmake-args: ${{ inputs.cmake-args }}
56+
ctest-args: ${{ inputs.ctest-args }}
57+
fastcdr-branch: ${{ inputs.fastcdr-branch || github.ref }}
58+
run-build: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
59+
run-tests: ${{ (inputs.run-tests == true) || ((github.event_name == 'pull_request') && (!contains(github.event.pull_request.labels.*.name, 'no-test'))) }}

.github/workflows/nightly-mac-ci.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Fast CDR Mac CI (nightly)
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '0 1 * * *'
7+
8+
jobs:
9+
nightly-mac-ci-master:
10+
uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@master
11+
with:
12+
os-version: 'macos-13'
13+
label: 'nightly-mac-ci-master'
14+
fastcdr-branch: 'master'
15+
run-build: true
16+
run-tests: true
17+
use-ccache: false
18+
19+
nightly-mac-ci-2_2_x:
20+
uses: eProsima/Fast-CDR/.github/workflows/[email protected]
21+
with:
22+
os-version: 'macos-13'
23+
label: 'nightly-mac-ci-2.2.x'
24+
fastcdr-branch: '2.2.x'
25+
run-build: true
26+
run-tests: true
27+
use-ccache: false
28+
29+
nightly-mac-ci-2_1_x:
30+
uses: eProsima/Fast-CDR/.github/workflows/[email protected]
31+
with:
32+
os-version: 'macos-13'
33+
label: 'nightly-mac-ci-2.1.x'
34+
fastcdr-branch: '2.1.x'
35+
run-build: true
36+
run-tests: true
37+
use-ccache: false
38+
39+
nightly-mac-ci-1_1_x:
40+
uses: eProsima/Fast-CDR/.github/workflows/[email protected]
41+
with:
42+
os-version: 'macos-13'
43+
label: 'nightly-mac-ci-1.1.x'
44+
fastcdr-branch: '1.1.x'
45+
run-build: true
46+
run-tests: true
47+
use-ccache: false
48+
49+
nightly-mac-ci-1_0_x:
50+
uses: eProsima/Fast-CDR/.github/workflows/[email protected]
51+
with:
52+
os-version: 'mac-13'
53+
label: 'nightly-mac-ci-1.0.x'
54+
fastcdr-branch: '1.0.x'
55+
run-build: true
56+
run-tests: true
57+
use-ccache: false
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Fast CDR Ubuntu CI (nightly)
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '0 1 * * *'
7+
8+
jobs:
9+
nightly-ubuntu-ci-master:
10+
uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@master
11+
with:
12+
os-version: 'ubuntu-22.04'
13+
label: 'nightly-ubuntu-ci-master'
14+
fastcdr-branch: 'master'
15+
run-build: true
16+
run-tests: true
17+
use-ccache: false
18+
19+
nightly-ubuntu-ci-2_2_x:
20+
uses: eProsima/Fast-CDR/.github/workflows/[email protected]
21+
with:
22+
os-version: 'ubuntu-22.04'
23+
label: 'nightly-ubuntu-ci-2.2.x'
24+
fastcdr-branch: '2.2.x'
25+
run-build: true
26+
run-tests: true
27+
use-ccache: false
28+
29+
nightly-ubuntu-ci-2_1_x:
30+
uses: eProsima/Fast-CDR/.github/workflows/[email protected]
31+
with:
32+
os-version: 'ubuntu-22.04'
33+
label: 'nightly-ubuntu-ci-2.1.x'
34+
fastcdr-branch: '2.1.x'
35+
run-build: true
36+
run-tests: true
37+
use-ccache: false
38+
39+
nightly-ubuntu-ci-1_1_x:
40+
uses: eProsima/Fast-CDR/.github/workflows/[email protected]
41+
with:
42+
os-version: 'ubuntu-22.04'
43+
label: 'nightly-ubuntu-ci-1.1.x'
44+
fastcdr-branch: '1.1.x'
45+
run-build: true
46+
run-tests: true
47+
use-ccache: false
48+
49+
nightly-ubuntu-ci-1_0_x:
50+
uses: eProsima/Fast-CDR/.github/workflows/[email protected]
51+
with:
52+
os-version: 'ubuntu-20.04'
53+
label: 'nightly-ubuntu-ci-1.0.x'
54+
fastcdr-branch: '1.0.x'
55+
run-build: true
56+
run-tests: true
57+
use-ccache: false

0 commit comments

Comments
 (0)