Skip to content

[21286] Improve CI workflows in master #213

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 11 commits into from
Closed
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
In case of bug fixes, please provide the list of supported branches where this fix should be also merged.
Please uncomment following line, adjusting the corresponding target branches for the backport.
-->
<!-- @Mergifyio backport 2.2.x 1.1.x 1.0.x -->
<!-- @Mergifyio backport 2.2.x 2.1.x 1.1.x 1.0.x -->

<!-- If an issue is already opened, please uncomment next line with the corresponding issue number. -->
<!-- Fixes #(issue) -->
Expand All @@ -36,7 +36,7 @@
- [ ] 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. -->
- [ ] 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. -->
- [ ] 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. -->
- [ ] Changes are ABI compatible. <!-- Bug fixes should be ABI compatible if possible so a backport to previous affected releases can be made. -->
- [ ] 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. -->
- [ ] Changes are API compatible. <!-- Public API must not be broken within the same major release. -->
- [ ] New feature has been added to the `versions.md` file (if applicable).
- [ ] Applicable backports have been included in the description.
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/config/build.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
names:
fastcdr:
cmake-args:
- "-DBUILD_TESTING=ON"
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
names:
fastcdr:
ctest-args: [
"--repeat", "until-pass:3",
"--timeout", "300",
"--output-junit", "junit/junit.xml"
]
googletest-distribution:
cmake-args:
- "-Dgtest_force_shared_crt=ON"
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/config/test.repos
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
repositories:
googletest-distribution:
type: git
url: https://github.com/google/googletest.git
version: release-1.11.0
135 changes: 0 additions & 135 deletions .github/workflows/fastcdr-test.yml

This file was deleted.

59 changes: 59 additions & 0 deletions .github/workflows/mac-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Fast CDR Mac CI

on:
workflow_dispatch:
inputs:
os-version:
description: 'OS version to run the workflow'
required: false
default: 'macos-13'
type: string
colcon-args:
description: 'Extra arguments for colcon cli'
required: false
type: string
cmake-args:
description: 'Extra arguments for cmake cli'
required: false
type: string
ctest-args:
description: 'Extra arguments for ctest cli'
required: false
type: string
fastcdr-branch:
description: 'Branch or tag of Fast CDR repository'
type: string
required: true
run-tests:
description: 'Run test suite of Fast CDR'
required: false
type: boolean
default: true

pull_request:
types:
- review_requested
paths-ignore:
- '**.md'
- '**.txt'
- '!**/CMakeLists.txt'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
mac-ci:
if: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'conflicts') }}
uses: ./.github/workflows/reusable-mac-ci.yml
with:
# It would be desirable to have a matrix of macos OS for this job, but due to the issue opened in this ticket:
# https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job.
os-version: ${{ inputs.os-version || 'macos-13' }}
label: 'mac-ci-${{ inputs.fastcdr-branch }}'
colcon-args: ${{ inputs.colcon-args }}
cmake-args: ${{ inputs.cmake-args }}
ctest-args: ${{ inputs.ctest-args }}
fastcdr-branch: ${{ inputs.fastcdr-branch || github.ref }}
run-build: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
run-tests: ${{ (inputs.run-tests == true) || ((github.event_name == 'pull_request') && (!contains(github.event.pull_request.labels.*.name, 'no-test'))) }}
57 changes: 57 additions & 0 deletions .github/workflows/nightly-mac-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Fast CDR Mac CI (nightly)

on:
workflow_dispatch:
schedule:
- cron: '0 1 * * *'

jobs:
nightly-mac-ci-master:
uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@master
with:
os-version: 'macos-13'
label: 'nightly-mac-ci-master'
fastcdr-branch: 'master'
run-build: true
run-tests: true
use-ccache: false

nightly-mac-ci-2_2_x:
uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@2.2.x
with:
os-version: 'macos-13'
label: 'nightly-mac-ci-2.2.x'
fastcdr-branch: '2.2.x'
run-build: true
run-tests: true
use-ccache: false

nightly-mac-ci-2_1_x:
uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@2.1.x
with:
os-version: 'macos-13'
label: 'nightly-mac-ci-2.1.x'
fastcdr-branch: '2.1.x'
run-build: true
run-tests: true
use-ccache: false

nightly-mac-ci-1_1_x:
uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@1.1.x
with:
os-version: 'macos-13'
label: 'nightly-mac-ci-1.1.x'
fastcdr-branch: '1.1.x'
run-build: true
run-tests: true
use-ccache: false

nightly-mac-ci-1_0_x:
uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@1.0.x
with:
os-version: 'mac-13'
label: 'nightly-mac-ci-1.0.x'
fastcdr-branch: '1.0.x'
run-build: true
run-tests: true
use-ccache: false
57 changes: 57 additions & 0 deletions .github/workflows/nightly-ubuntu-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Fast CDR Ubuntu CI (nightly)

on:
workflow_dispatch:
schedule:
- cron: '0 1 * * *'

jobs:
nightly-ubuntu-ci-master:
uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@master
with:
os-version: 'ubuntu-22.04'
label: 'nightly-ubuntu-ci-master'
fastcdr-branch: 'master'
run-build: true
run-tests: true
use-ccache: false

nightly-ubuntu-ci-2_2_x:
uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@2.2.x
with:
os-version: 'ubuntu-22.04'
label: 'nightly-ubuntu-ci-2.2.x'
fastcdr-branch: '2.2.x'
run-build: true
run-tests: true
use-ccache: false

nightly-ubuntu-ci-2_1_x:
uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@2.1.x
with:
os-version: 'ubuntu-22.04'
label: 'nightly-ubuntu-ci-2.1.x'
fastcdr-branch: '2.1.x'
run-build: true
run-tests: true
use-ccache: false

nightly-ubuntu-ci-1_1_x:
uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@1.1.x
with:
os-version: 'ubuntu-22.04'
label: 'nightly-ubuntu-ci-1.1.x'
fastcdr-branch: '1.1.x'
run-build: true
run-tests: true
use-ccache: false

nightly-ubuntu-ci-1_0_x:
uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@1.0.x
with:
os-version: 'ubuntu-20.04'
label: 'nightly-ubuntu-ci-1.0.x'
fastcdr-branch: '1.0.x'
run-build: true
run-tests: true
use-ccache: false
Loading
Loading