-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: eduponz <[email protected]> (cherry picked from commit 38a1890) # Conflicts: # .github/workflows/build.yml
- Loading branch information
1 parent
7211102
commit 9e9ee0b
Showing
1 changed file
with
154 additions
and
0 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
name: build | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
foonathan_memory_vendor_branch: | ||
description: 'foonathan_memory_vendor branch to be used' | ||
required: false | ||
default: 'master' | ||
fastcdr_versions: | ||
description: 'Fast-CDR branches to be used' | ||
required: false | ||
default: '["master"]' | ||
fastdds_branch: | ||
description: 'Fast-DDS branch to be used' | ||
required: false | ||
default: 'master' | ||
pull_request: | ||
push: | ||
branches: | ||
- master | ||
schedule: | ||
- cron: '0 0 * * *' | ||
|
||
jobs: | ||
windows-build-test: | ||
runs-on: windows-2019 | ||
strategy: | ||
matrix: | ||
fastcdr_version: ${{ fromJson(github.event.inputs.fastcdr_versions || '["master"]') }} | ||
|
||
env: | ||
CXXFLAGS: /MP | ||
|
||
steps: | ||
|
||
- name: Install Qt | ||
uses: jurplel/install-qt-action@v3 | ||
with: | ||
version: '5.15.2' | ||
arch: 'win64_msvc2019_64' | ||
cache: true | ||
|
||
- name: Install Asio and TinyXML2 | ||
shell: pwsh | ||
run: | | ||
mkdir "$pwdpath/choco_packages" | ||
Invoke-WebRequest -Uri https://github.com/ros2/choco-packages/releases/download/2020-02-24/asio.1.12.1.nupkg -OutFile "$pwdpath/choco_packages/asio.1.12.1.nupkg" | ||
Invoke-WebRequest -Uri https://github.com/ros2/choco-packages/releases/download/2020-02-24/tinyxml2.6.0.0.nupkg -OutFile "$pwdpath/choco_packages/tinyxml2.6.0.0.nupkg" | ||
choco install -y -s "$pwdpath/choco_packages" asio tinyxml2 | ||
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" | ||
echo "PATH=$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | ||
- uses: eProsima/eProsima-CI/multiplatform/install_colcon@v0 | ||
|
||
- uses: eProsima/eProsima-CI/external/checkout@v0 | ||
with: | ||
path: src/shapesdemo | ||
|
||
- uses: ./src/shapesdemo/.github/actions/fetch-shapesdemo-repos | ||
with: | ||
foonathan-memory-vendor-branch: ${{ github.event.inputs.foonathan_memory_vendor_branch || 'master' }} | ||
fastcdr-branch: ${{ matrix.fastcdr_version }} | ||
fastdds-branch: ${{ github.event.inputs.fastdds_branch || 'master' }} | ||
|
||
- uses: eProsima/eProsima-CI/external/get-cmake@v0 | ||
with: | ||
cmakeVersion: 3.22.6 | ||
|
||
- name: Setting ninja | ||
id: ninja | ||
if: github.event.schedule == '' | ||
shell: pwsh | ||
run: | | ||
echo "cmake_generator=ninja" >> $Env:GITHUB_OUTPUT | ||
- name: Setup ccache | ||
uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 | ||
with: | ||
windows_compile_environment: msvc | ||
api_token: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build workspace | ||
shell: pwsh | ||
run: | | ||
$installpath = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" | ||
$modulepath = "$installpath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" | ||
Import-Module $modulepath | ||
Enter-VsDevShell -SetDefaultWindowTitle -InstallPath $installpath ` | ||
-StartInPath (pwd) -DevCmdArguments '/arch=x64 /host_arch=x64'; | ||
cmake --version | ||
colcon build --executor parallel --event-handlers console_direct+ desktop_notification- ` | ||
--metas ./src/shapesdemo/.github/workflows/build.meta ` | ||
--mixin rel-with-deb-info ccache ${{ steps.ninja.outputs.cmake_generator }} | ||
- name: Upload Logs | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: colcon-logs-windows | ||
path: log/ | ||
if: always() | ||
|
||
ubuntu-build-test: | ||
runs-on: ubuntu-22.04 | ||
strategy: | ||
matrix: | ||
fastcdr_version: ${{ fromJson(github.event.inputs.fastcdr_versions || '["master"]') }} | ||
|
||
steps: | ||
- uses: eProsima/eProsima-CI/external/checkout@v0 | ||
with: | ||
path: src/shapesdemo | ||
|
||
- name: Install Qt | ||
uses: jurplel/install-qt-action@v3 | ||
with: | ||
version: '5.15.2' | ||
|
||
- name: Install apt packages | ||
uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@v0 | ||
with: | ||
packages: libasio-dev libtinyxml2-dev | ||
|
||
- uses: eProsima/eProsima-CI/multiplatform/install_colcon@v0 | ||
|
||
- uses: ./src/shapesdemo/.github/actions/fetch-shapesdemo-repos | ||
with: | ||
foonathan-memory-vendor-branch: ${{ github.event.inputs.foonathan_memory_vendor_branch || 'master' }} | ||
fastcdr-branch: ${{ matrix.fastcdr_version }} | ||
fastdds-branch: ${{ github.event.inputs.fastdds_branch || 'master' }} | ||
|
||
- uses: eProsima/eProsima-CI/external/get-cmake@v0 | ||
with: | ||
cmakeVersion: 3.22.6 | ||
|
||
- name: Setup ccache | ||
uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 | ||
with: | ||
api_token: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build workspace | ||
run: | | ||
cmake --version | ||
colcon build \ | ||
--event-handlers=console_direct+ \ | ||
--metas ./src/shapesdemo/.github/workflows/build.meta \ | ||
--mixin rel-with-deb-info ccache | ||
- name: Upload Logs | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: colcon-logs-ubuntu | ||
path: log/ | ||
if: always() |