Skip to content

Commit

Permalink
Refs #19760. Add CI
Browse files Browse the repository at this point in the history
Signed-off-by: Ricardo González Moreno <[email protected]>
  • Loading branch information
richiware committed Nov 14, 2023
1 parent 2124dab commit 5e84fb1
Show file tree
Hide file tree
Showing 3 changed files with 176 additions and 0 deletions.
23 changes: 23 additions & 0 deletions .github/actions/fetch-shapesdemo-repos/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: 'fetch-shapesdemo-repos'
description: 'Fetch Shapes Demo dependencies'
inputs:
foonathan-memory-vendor-branch:
description: 'foonathan_memory_vendor branch to be used'
required: true
fastcdr-branch:
description: 'Fast-CDR branch to be used'
required: true
fastdds-branch:
description: 'Fast-DDS branch to be used'
required: true
runs:
using: "composite"
steps:
- id: fetch-shapesdemo-repos
shell: bash
run: |
cd src
git clone https:/eProsima/foonathan_memory_vendor.git --branch ${{ inputs.foonathan-memory-vendor-branch }}
git clone https:/eProsima/Fast-CDR.git --branch ${{ inputs.fastcdr-branch }}
git clone https:/eProsima/Fast-DDS.git --branch ${{ inputs.fastdds-branch }}
cd ..
12 changes: 12 additions & 0 deletions .github/workflows/build.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"names":
{
"fastrtps" :
{
"cmake-args": [
"-DNO_TLS=ON",
"-DSECURITY=OFF"
]
}
}
}
141 changes: 141 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
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: '["1.1.x", "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 || '["1.1.x", "master"]') }}

env:
CXXFLAGS: /MP

steps:

- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: '5.15.2'
arch: 'win64_msvc2019_64'

- 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:
install_ccache: false
windows_compile_environment: msvc

- 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 || '["1.1.x", "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

- 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()

0 comments on commit 5e84fb1

Please sign in to comment.