-
Notifications
You must be signed in to change notification settings - Fork 798
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Refs #20091: Add macOS Github CI Signed-off-by: EduPonz <[email protected]> * Refs #20091: Add summary table Signed-off-by: EduPonz <[email protected]> * Refs #20091: Remove commented step to install googletest Signed-off-by: EduPonz <[email protected]> * Refs #20091: Add hosts for Fast DDS testing of DNS features Signed-off-by: EduPonz <[email protected]> * Refs #20091: Fix Prepare colcon workspace step Signed-off-by: EduPonz <[email protected]> * Refs #20091: Disable DNS hosts edit Signed-off-by: EduPonz <[email protected]> * Refs #20091: Use CCache Signed-off-by: EduPonz <[email protected]> * Refs #20091: Add optional flags to junit_summary.py Signed-off-by: EduPonz <[email protected]> * Refs #20091: Use eProsima-CI Signed-off-by: EduPonz <[email protected]> * Refs #20091: Use Fast DDS input branch Signed-off-by: EduPonz <[email protected]> * Refs #20091: Print summary and only show failed list Signed-off-by: EduPonz <[email protected]> * Refs #20091: Do not update brew Signed-off-by: EduPonz <[email protected]> * Refs #20091: Do not upgrade python packages Signed-off-by: EduPonz <[email protected]> * Refs #20091: Try to use python 3.11 Signed-off-by: EduPonz <[email protected]> * Refs #20091: Specify colcon workspace Signed-off-by: EduPonz <[email protected]> * Refs #20091: Set workspace for colcon test Signed-off-by: EduPonz <[email protected]> * Refs #20091: Use PR merge branch for windows and macos gh CI Signed-off-by: EduPonz <[email protected]> * Refs #20091: Adapt to changes in eProsima-CI Signed-off-by: EduPonz <[email protected]> * Refs #20091: Do not build with Wall Signed-off-by: EduPonz <[email protected]> * Refs #20091: Upgrade to macos-13 to get clang 15 Signed-off-by: EduPonz <[email protected]> * Refs #20091: Do not use thirdparty Signed-off-by: EduPonz <[email protected]> * Refs #20091: Avoid enum-constexpr-conversion warning Signed-off-by: EduPonz <[email protected]> * Refs #20091: Correctly exclude DNS tests when necessary Signed-off-by: EduPonz <[email protected]> * Refs #20091: Apply Jesús suggestions Signed-off-by: EduPonz <[email protected]> * Refs #20091: Set eProsima-CI actions to v0 Signed-off-by: EduPonz <[email protected]> --------- Signed-off-by: EduPonz <[email protected]> (cherry picked from commit 8cff0ca) # Conflicts: # .github/workflows/windows-ci.yml
- Loading branch information
1 parent
3375558
commit be9685c
Showing
9 changed files
with
249 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
name: Fast-DDS MacOS CI | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
label: | ||
description: 'ID associated to the workflow' | ||
required: true | ||
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 | ||
fastdds_branch: | ||
description: 'Branch or tag of Fast DDS repository (https://github.com/eProsima/Fast-DDS)' | ||
type: string | ||
required: true | ||
|
||
push: | ||
branches: | ||
- 'master' | ||
- '2.12.x' | ||
- '2.10.x' | ||
- '2.6.x' | ||
paths-ignore: | ||
- '**.md' | ||
- '**.txt' | ||
- '!**/CMakeLists.txt' | ||
pull_request: | ||
paths-ignore: | ||
- '**.md' | ||
- '**.txt' | ||
- '!**/CMakeLists.txt' | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
mac-ci: | ||
uses: ./.github/workflows/reusable-mac-ci.yml | ||
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} | ||
with: | ||
label: ${{ inputs.label || 'mac-ci' }} | ||
colcon-args: ${{ inputs.colcon-args }} | ||
cmake-args: ${{ inputs.cmake-args }} | ||
ctest-args: ${{ inputs.ctest-args }} | ||
fastdds-branch: ${{ inputs.fastdds_branch || github.ref || 'master' }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: Fast-DDS MacOS CI (nightly) | ||
|
||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: '0 1 * * *' | ||
|
||
jobs: | ||
nightly-sec-mac-ci: | ||
uses: ./.github/workflows/reusable-mac-ci.yml | ||
with: | ||
label: 'nightly-sec-mac-ci' | ||
cmake-args: "-DSECURITY=ON" | ||
ctest-args: "-LE xfail" | ||
fastdds-branch: 'master' | ||
|
||
nightly-nosec-mac-ci: | ||
uses: ./.github/workflows/reusable-mac-ci.yml | ||
with: | ||
label: 'nightly-nosec-mac-ci' | ||
cmake-args: "-DSECURITY=OFF" | ||
ctest-args: "-LE xfail" | ||
fastdds-branch: 'master' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
name: Fast-DDS MacOS CI reusable workflow | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
label: | ||
description: 'ID associated to the workflow' | ||
required: true | ||
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 | ||
fastdds-branch: | ||
description: 'Branch or tag of Fast DDS repository (https://github.com/eProsima/Fast-DDS)' | ||
required: true | ||
type: string | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
jobs: | ||
reusable-mac-ci: | ||
# As explained in https://github.com/actions/runner-images/tree/main?tab=readme-ov-file#available-images, | ||
# *-latest images are not always the latest available versions. The minimum version of the macOS image | ||
# with clang 15 is macos-13 (see | ||
# https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#language-and-runtime), | ||
# so we'll use that one for now, as clang 15 is the supported compiler for Fast DDS in macOS. | ||
# (see https://github.com/eProsima/Fast-DDS/blob/master/PLATFORM_SUPPORT.md#compilers) | ||
runs-on: macos-13 | ||
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
cmake-build-type: | ||
- 'RelWithDebInfo' | ||
steps: | ||
- name: Sync eProsima/Fast-DDS repository | ||
uses: eProsima/eProsima-CI/external/checkout@v0 | ||
with: | ||
path: src/fastrtps | ||
ref: ${{ inputs.fastdds-branch }} | ||
|
||
- uses: eProsima/eProsima-CI/external/setup-python@v0 | ||
with: | ||
python-version: '3.11' | ||
|
||
- name: Get minimum supported version of CMake | ||
uses: lukka/get-cmake@latest | ||
with: | ||
cmakeVersion: '3.22.6' | ||
|
||
- name: Install brew dependencies | ||
uses: eProsima/eProsima-CI/macos/install_brew_packages@v0 | ||
with: | ||
packages: llvm asio tinyxml2 [email protected] | ||
update: false | ||
upgrade: false | ||
|
||
- name: Install colcon | ||
uses: eProsima/eProsima-CI/multiplatform/install_colcon@v0 | ||
|
||
- name: Install Python dependencies | ||
uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0 | ||
with: | ||
packages: vcstool xmlschema | ||
upgrade: false | ||
|
||
- name: Setup CCache | ||
uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 | ||
|
||
# TODO(eduponz): Update known hosts file for DNS resolver testing. NOTE: The runner cannot modify /etc/hosts. | ||
# TODO(eduponz): Set up libp11 and SoftHSM. NOTE: using SoftHSM requires adding the runner to a group, | ||
# which entails logout/login or rebooting the machine. This is not feasible in a CI environment. | ||
|
||
- name: Prepare colcon workspace | ||
id: colcon_ws_setup | ||
run: | | ||
# Nightly job | ||
if [[ "${{ inputs.label }}" == *"nightly"* ]] | ||
then | ||
DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly_${{ inputs.fastdds-branch }}.repos" | ||
if [ ! -f ${DEPENDS_REPOS_PATH} ] | ||
then | ||
DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly_master.repos" | ||
fi | ||
META_PATH="./src/fastrtps/.github/workflows/config/nightly.meta" | ||
# Either PR or manual | ||
else | ||
DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci_${{ inputs.fastdds-branch }}.repos" | ||
if [ ! -f ${DEPENDS_REPOS_PATH} ] | ||
then | ||
DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci_master.repos" | ||
fi | ||
META_PATH="./src/fastrtps/.github/workflows/config/default_ci.meta" | ||
fi | ||
echo "Selected repos files: ${DEPENDS_REPOS_PATH}" | ||
cat ${DEPENDS_REPOS_PATH} | ||
echo "Selected metas files: ${META_PATH}" | ||
cp ${META_PATH} ci.meta | ||
cat ci.meta | ||
# Create source dir and download the sources | ||
vcs import src --input ${DEPENDS_REPOS_PATH} --skip-existing | ||
# TODO(eduponz): There is a warning in clang >= 16 regarding enum-constexpr-conversion: | ||
# - Issue: https://github.com/boostorg/mpl/issues/69. | ||
# We are disabling the warning for now, as the proposed solution does not fix the issue: | ||
# - Not working solution: https://github.com/macports/macports-ports/pull/21839/files | ||
- name: Colcon build | ||
continue-on-error: false | ||
uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 | ||
with: | ||
colcon_meta_file: ${{ github.workspace }}/ci.meta | ||
colcon_build_args: ${{ inputs.colcon-args }} | ||
cmake_args: ${{ inputs.cmake-args }} | ||
cmake_args_default: -DCMAKE_CXX_FLAGS="-Werror -Wall -Wno-enum-constexpr-conversion" | ||
cmake_build_type: ${{ matrix.cmake-build-type }} | ||
workspace: ${{ github.workspace }} | ||
|
||
- name: Colcon test | ||
id: test | ||
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') }} | ||
uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 | ||
with: | ||
colcon_test_args: ${{ inputs.colcon-args }} | ||
colcon_test_args_default: --event-handlers=console_direct+ | ||
ctest_args: ${{ inputs.ctest-args }} | ||
ctest_args_default: --repeat until-pass:3 --timeout 300 --label-exclude "xfail" | ||
packages_names: fastrtps | ||
workspace: ${{ github.workspace }} | ||
test_report_artifact: ${{ format('test_report_{0}_{1}_{2}', inputs.label, github.job, join(matrix.*, '_')) }} | ||
|
||
- name: Test summary | ||
uses: eProsima/eProsima-CI/multiplatform/junit_summary@v0 | ||
if: ${{ !cancelled() && !contains(github.event.pull_request.labels.*.name, 'no-test') }} | ||
with: | ||
junit_reports_dir: "${{ steps.test.outputs.ctest_results_path }}" | ||
print_summary: 'True' | ||
show_failed: 'True' | ||
show_disabled: 'False' | ||
show_skipped: 'False' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters