Fix windows ccache [19657] #789
Workflow file for this run
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
name: test | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- main | |
schedule: | |
- cron: '0 0 * * *' | |
jobs: | |
windows-build-test: | |
runs-on: windows-2019 | |
env: | |
CXXFLAGS: /MP | |
OPENSSL64_ROOT: "C:/Program Files/OpenSSL-Win64" | |
steps: | |
- name: install OpenSSL | |
shell: pwsh | |
run: | | |
choco install openssl -yr --no-progress | |
"System32;SysWoW64" -split ";" | Join-Path -Path $env:windir -ChildPath {$_} ` | |
| ls -Include libssl-*.dll | rm | |
- name: Install ninja | |
shell: pwsh | |
run: choco install ninja | |
- name: Install swig | |
shell: pwsh | |
run: choco install swig --allow-downgrade --version=4.0.2.04082020 | |
- name: Install python build dependencies | |
shell: pwsh | |
run: > | |
pip install -U colcon-common-extensions colcon-mixin vcstool; | |
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml; colcon mixin update default | |
- name: Install python tests dependencies | |
shell: pwsh | |
run: | | |
cd (ni -Type Directory -Path "$Env:TMP\$(New-Guid)") | |
$cr = "`n" | |
'cmake_minimum_required(VERSION 3.5)' + $cr + | |
'project(dummy VERSION 1.0.0 LANGUAGES CXX)' + $cr + | |
'find_package (Python3 COMPONENTS Interpreter Development REQUIRED)' + $cr + | |
'message(STATUS "cmake detected python=>>>>>${Python3_EXECUTABLE}<<<<<<")' | | |
Out-File CMakeLists.txt | |
(cmake .) *>&1 | % { | |
if($_ -Match "cmake detected python=>>>>>(?<exec>.*)<<<<<<") | |
{ | |
$python_exec = $Matches.exec | |
return | |
} | |
} | |
& $python_exec -m pip install -U pytest pywin32 | |
- uses: actions/checkout@v2 | |
with: | |
path: src/fastdds_python | |
- name: Fetch repositories | |
shell: pwsh | |
run: | | |
vcs import src --skip-existing --input src/fastdds_python/fastdds_python.repos | |
- name: Get minimum supported version of CMake | |
uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: 3.22.6 | |
- name: Use cmake | |
run: cmake --version | |
- name: Install ccache | |
shell: pwsh | |
run: | | |
pwsh -File "src\fastdds_python\.github\ci\ccache.ps1" | |
$ccache_dir = $pwd.PATH | |
$ccache_dir = "$ccache_dir\.github\ccache" | |
echo "$ccache_dir" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
Set-Item -Force -Path "env:PATH" -Value "$ccache_dir;$env:PATH" | |
ccache --version | |
- name: Setup ccache | |
uses: Chocobo1/setup-ccache-action@v1 | |
with: | |
prepend_symlinks_to_path: false | |
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'; | |
colcon build --executor parallel --event-handlers console_direct+ desktop_notification- ` | |
--metas ./src/fastdds_python/.github/workflows/test.meta ` | |
--mixin rel-with-deb-info ccache ninja | |
- name: Run tests | |
shell: pwsh | |
run: | | |
colcon test --packages-select fastdds_python --event-handlers console_direct+ desktop_notification- ` | |
--return-code-on-test-failure --ctest-args --timeout 60 | |
- 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 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
path: src/fastdds_python | |
- name: Install apt dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y \ | |
python3 \ | |
python3-pip \ | |
swig \ | |
libpython3-dev | |
- name: Install python dependencies | |
run: | | |
sudo pip3 install -U \ | |
colcon-common-extensions \ | |
colcon-mixin \ | |
vcstool | |
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml; colcon mixin update default | |
- name: Fetch repositories | |
run: | | |
vcs import --skip-existing src < src/fastdds_python/fastdds_python.repos | |
- name: Get minimum supported version of CMake | |
uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: 3.22.6 | |
- name: Use cmake | |
run: cmake --version | |
- name: Setup ccache | |
uses: Chocobo1/setup-ccache-action@v1 | |
- name: Build workspace | |
run: > | |
colcon build \ | |
--event-handlers=console_direct+ \ | |
--metas ./src/fastdds_python/.github/workflows/test.meta \ | |
--mixin rel-with-deb-info ccache | |
- name: Run tests | |
run: | | |
source install/setup.bash && \ | |
colcon test \ | |
--packages-select fastdds_python \ | |
--event-handlers=console_direct+ \ | |
--return-code-on-test-failure \ | |
--ctest-args \ | |
--output-on-failure \ | |
--timeout 60 | |
- name: Upload Logs | |
uses: actions/upload-artifact@v1 | |
with: | |
name: colcon-logs-ubuntu | |
path: log/ | |
if: always() |