Skip to content

Commit 5894164

Browse files
Improve CI workflows in 1.0.x (#216) (#219)
* 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]> (cherry picked from commit 203725d) Co-authored-by: Jesús Poderoso <[email protected]>
1 parent d0b09bd commit 5894164

File tree

11 files changed

+435
-134
lines changed

11 files changed

+435
-134
lines changed

.github/pull_request_template.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<!-- Provide a general summary of your changes in the Title above -->
2+
<!-- It must be meaningful and coherent with the changes -->
3+
4+
<!--
5+
If this PR is still a Work in Progress [WIP], please open it as DRAFT.
6+
Please consider if any label should be added to this PR.
7+
-->
8+
9+
## Description
10+
<!--
11+
Describe changes in detail.
12+
This includes depicting the context, use case or current behavior and describe the proposed changes.
13+
If several features/bug fixes are included with these changes, please consider opening separated pull requests.
14+
-->
15+
16+
<!--
17+
In case of bug fixes, please provide the list of supported branches where this fix should be also merged.
18+
Please uncomment following line, adjusting the corresponding target branches for the backport.
19+
-->
20+
<!-- @Mergifyio backport 2.2.x 2.1.x 1.1.x 1.0.x -->
21+
22+
<!-- If an issue is already opened, please uncomment next line with the corresponding issue number. -->
23+
<!-- Fixes #(issue) -->
24+
25+
<!-- In case the changes are built over a previous pull request, please uncomment next line. -->
26+
<!-- This PR depends on #(PR) and must be merged after that one. -->
27+
28+
## Contributor Checklist
29+
30+
<!--
31+
- If any of the elements of the following checklist is not applicable, substitute the checkbox [ ] by _N/A_:
32+
- If any of the elements of the following checklist is not fulfilled on purpose, please provide a reason and substitute the checkbox [ ] with ❌: or __NO__:.
33+
-->
34+
35+
- [ ] Commit messages follow the project guidelines. <!-- External contributors should sign the DCO. Fast DDS developers must also refer to the internal Redmine task. -->
36+
- [ ] 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. -->
37+
- [ ] 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. -->
38+
- [ ] 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 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. -->
40+
- [ ] Changes are API compatible. <!-- Public API must not be broken within the same major release. -->
41+
- [ ] New feature has been added to the `versions.md` file (if applicable).
42+
- [ ] Applicable backports have been included in the description.
43+
44+
## Reviewer Checklist
45+
46+
- [ ] The PR has a milestone assigned.
47+
- [ ] The title and description correctly express the PR's purpose.
48+
- [ ] Check contributor checklist is correct.
49+
- [ ] Check CI results: changes do not issue any warning.
50+
- [ ] Check CI results: CI pass and failing tests are unrelated with the changes.

.github/workflows/config/build.meta

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
names:
2+
fastcdr:
3+
cmake-args:
4+
- "-DEPROSIMA_BUILD_TESTS=ON"
5+
googletest-distribution:
6+
cmake-args:
7+
- "-Dgtest_force_shared_crt=ON"
8+
- "-DBUILD_SHARED_LIBS=ON"
9+
- "-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 & 131 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'))) }}

0 commit comments

Comments
 (0)