88 required : false
99 default : ' master'
1010 fastcdr_versions :
11- description : ' Fast- CDR branches to be used'
11+ description : ' Fast CDR branches to be used'
1212 required : false
1313 default : ' ["1.1.x", "master"]'
1414 fastdds_branch :
15- description : ' Fast- DDS branch to be used'
15+ description : ' Fast DDS branch to be used'
1616 required : false
1717 default : ' master'
1818 pull_request :
2222 schedule :
2323 - cron : ' 0 0 * * *'
2424
25+ concurrency :
26+ group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
27+ cancel-in-progress : true
28+
2529jobs :
2630 windows-build-test :
2731 runs-on : windows-2019
2832 strategy :
33+ fail-fast : false
2934 matrix :
35+ foonathan_memory_vendor_version :
36+ - ${{ github.event.inputs.foonathan_memory_vendor_branch || 'master' }}
3037 fastcdr_version : ${{ fromJson(github.event.inputs.fastcdr_versions || '["1.1.x", "master"]') }}
38+ fastdds_version :
39+ - ${{ github.event.inputs.fastdds_branch || 'master' }}
3140
3241 env :
3342 CXXFLAGS : /MP
@@ -47,32 +56,51 @@ jobs:
4756 Set-Item -Force -Path "env:PATH" -Value "C:\ProgramData\chocolatey\lib\asio;C:\ProgramData\chocolatey\lib\tinyxml2;C:\ProgramData\chocolatey\lib\tinyxml2\lib;$env:PATH"
4857 echo "PATH=$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
4958
50-
5159 - name : Install swig
5260 shell : pwsh
5361 run : choco install swig --allow-downgrade --version=4.0.2.04082020
5462
55- - uses : eProsima/eProsima-CI/external/setup-python@v0
63+ - name : Setup Python version
64+ uses : eProsima/eProsima-CI/external/setup-python@v0
5665 with :
5766 python-version : ' 3.11'
5867
59- - uses : eProsima/eProsima-CI/multiplatform/install_python_packages@v0
68+ - name : Install Python dependencies
69+ uses : eProsima/eProsima-CI/multiplatform/install_python_packages@v0
6070 with :
6171 packages : pytest pywin32
6272
63- - uses : eProsima/eProsima-CI/multiplatform/install_colcon@v0
73+ - name : Install colcon
74+ uses : eProsima/eProsima-CI/multiplatform/install_colcon@v0
6475
65- - uses : eProsima/eProsima-CI/external/checkout@v0
76+ - name : Checkout Fast DDS Python
77+ uses : eProsima/eProsima-CI/external/checkout@v0
6678 with :
6779 path : src/fastdds_python
6880
69- - uses : ./src/fastdds_python/.github/actions/fetch-fastdds_python-repos
81+ - name : Checkout foonathan memory vendor
82+ uses : eProsima/eProsima-CI/external/checkout@v0
83+ with :
84+ repository : eProsima/foonathan_memory_vendor
85+ path : src/foonathan_memory_vendor
86+ ref : ${{ matrix.foonathan_memory_vendor_version }}
87+
88+ - name : Checkout Fast CDR
89+ uses : eProsima/eProsima-CI/external/checkout@v0
90+ with :
91+ repository : eProsima/Fast-CDR
92+ path : src/fastcdr
93+ ref : ${{ matrix.fastcdr_version }}
94+
95+ - name : Checkout Fast DDS
96+ uses : eProsima/eProsima-CI/external/checkout@v0
7097 with :
71- foonathan-memory-vendor-branch : ${{ github.event.inputs.foonathan_memory_vendor_branch || 'master' }}
72- fastcdr-branch : ${{ matrix.fastcdr_version }}
73- fastdds-branch : ${{ github.event.inputs.fastdds_branch || 'master' }}
98+ repository : eProsima/Fast-DDS
99+ path : src/fastdds
100+ ref : ${{ matrix.fastdds_version }}
74101
75- - uses : eProsima/eProsima-CI/external/get-cmake@v0
102+ - name : Setup CMake version
103+ uses : eProsima/eProsima-CI/external/get-cmake@v0
76104 with :
77105 cmakeVersion : 3.22.6
78106
@@ -89,23 +117,24 @@ jobs:
89117 windows_compile_environment : msvc
90118
91119 - name : Build workspace
92- shell : pwsh
93- run : |
94- $installpath = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise"
95- $modulepath = "$installpath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
96- Import-Module $modulepath
97- Enter-VsDevShell -SetDefaultWindowTitle -InstallPath $installpath `
98- -StartInPath (pwd) -DevCmdArguments '/arch=x64 /host_arch=x64';
99- cmake --version
100- colcon build --executor parallel --event-handlers console_direct+ desktop_notification- `
101- --metas ./src/fastdds_python/.github/workflows/test.meta `
102- --mixin rel-with-deb-info ccache ${{ steps.ninja.outputs.cmake_generator }}
120+ uses : eProsima/eProsima-CI/windows/colcon_build@v0
121+ with :
122+ colcon_meta_file : ./src/fastdds_python/.github/workflows/test.meta
123+ colcon_build_args : --executor parallel --mixin ccache ${{ steps.ninja.outputs.cmake_generator }}
124+ colcon_build_args_default : --event-handlers console_direct+ desktop_notification-
125+ cmake_build_type : RelWithDebInfo
126+ cmake_args_default : ' '
127+ workspace : ${{ github.workspace }}
103128
104129 - name : Run tests
105- shell : pwsh
106- run : |
107- colcon test --packages-select fastdds_python --event-handlers console_direct+ desktop_notification- `
108- --return-code-on-test-failure --ctest-args --timeout 60
130+ id : test
131+ uses : eProsima/eProsima-CI/multiplatform/colcon_test@v0
132+ with :
133+ colcon_test_args : --packages-select fastdds_python --return-code-on-test-failure
134+ colcon_test_args_default : --event-handlers console_direct+ desktop_notification-
135+ ctest_args_default : --timeout 60
136+ workspace : ${{ github.workspace }}
137+ workspace_dependencies : ${{ github.workspace }}
109138
110139 - name : Upload Logs
111140 uses : actions/upload-artifact@v1
@@ -117,51 +146,76 @@ jobs:
117146 ubuntu-build-test :
118147 runs-on : ubuntu-22.04
119148 strategy :
149+ fail-fast : false
120150 matrix :
151+ foonathan_memory_vendor_version :
152+ - ${{ github.event.inputs.foonathan_memory_vendor_branch || 'master' }}
121153 fastcdr_version : ${{ fromJson(github.event.inputs.fastcdr_versions || '["1.1.x", "master"]') }}
154+ fastdds_version :
155+ - ${{ github.event.inputs.fastdds_branch || 'master' }}
156+
122157
123158 steps :
124- - uses : eProsima/eProsima-CI/external/checkout@v0
159+ - name : Checkout Fast DDS Python
160+ uses : eProsima/eProsima-CI/external/checkout@v0
125161 with :
126162 path : src/fastdds_python
127163
128- - uses : eProsima/eProsima-CI/ubuntu/install_apt_packages@v0
164+ - name : Install apt dependencies
165+ uses : eProsima/eProsima-CI/ubuntu/install_apt_packages@v0
129166 with :
130167 packages : libasio-dev libtinyxml2-dev libpython3-dev swig
131168
132- - uses : eProsima/eProsima-CI/multiplatform/install_colcon@v0
169+ - name : Install colcon
170+ uses : eProsima/eProsima-CI/multiplatform/install_colcon@v0
171+
172+ - name : Checkout foonathan memory vendor
173+ uses : eProsima/eProsima-CI/external/checkout@v0
174+ with :
175+ repository : eProsima/foonathan_memory_vendor
176+ path : src/foonathan_memory_vendor
177+ ref : ${{ matrix.foonathan_memory_vendor_version }}
178+
179+ - name : Checkout Fast CDR
180+ uses : eProsima/eProsima-CI/external/checkout@v0
181+ with :
182+ repository : eProsima/Fast-CDR
183+ path : src/fastcdr
184+ ref : ${{ matrix.fastcdr_version }}
133185
134- - uses : ./src/fastdds_python/.github/actions/fetch-fastdds_python-repos
186+ - name : Checkout Fast DDS
187+ uses : eProsima/eProsima-CI/external/checkout@v0
135188 with :
136- foonathan-memory-vendor-branch : ${{ github.event.inputs.foonathan_memory_vendor_branch || 'master' }}
137- fastcdr-branch : ${{ matrix.fastcdr_version }}
138- fastdds-branch : ${{ github.event.inputs.fastdds_branch || 'master' }}
189+ repository : eProsima/Fast-DDS
190+ path : src/fastdds
191+ ref : ${{ matrix.fastdds_version }}
139192
140- - uses : eProsima/eProsima-CI/external/get-cmake@v0
193+ - name : Setup CMake version
194+ uses : eProsima/eProsima-CI/external/get-cmake@v0
141195 with :
142196 cmakeVersion : 3.22.6
143197
144198 - name : Setup ccache
145199 uses : eProsima/eProsima-CI/external/setup-ccache-action@v0
146200
147201 - name : Build workspace
148- run : |
149- cmake --version
150- colcon build \
151- --event-handlers=console_direct+ \
152- --metas ./src/fastdds_python/.github/workflows/test.meta \
153- --mixin rel-with-deb-info ccache
202+ uses : eProsima/eProsima-CI/multiplatform/colcon_build@v0
203+ with :
204+ colcon_meta_file : ./src/fastdds_python/.github/workflows/test.meta
205+ colcon_build_args : --executor parallel --mixin ccache
206+ colcon_build_args_default : --event-handlers console_direct+
207+ cmake_build_type : RelWithDebInfo
208+ cmake_args_default : ' '
209+ workspace : ${{ github.workspace }}
154210
155211 - name : Run tests
156- run : |
157- source install/setup.bash && \
158- colcon test \
159- --packages-select fastdds_python \
160- --event-handlers=console_direct+ \
161- --return-code-on-test-failure \
162- --ctest-args \
163- --output-on-failure \
164- --timeout 60
212+ id : test
213+ uses : eProsima/eProsima-CI/multiplatform/colcon_test@v0
214+ with :
215+ colcon_test_args : --packages-select fastdds_python --return-code-on-test-failure
216+ colcon_test_args_default : --event-handlers console_direct+
217+ ctest_args_default : --timeout 60
218+ workspace : ${{ github.workspace }}
165219
166220 - name : Upload Logs
167221 uses : actions/upload-artifact@v1
0 commit comments