Add support for compiling on windows x64 and x86 with vcpkg-provided dependencies #38
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: 🪟 Windows-vcpkg | |
on: | |
push: | |
branches: [ gazebo11 ] | |
pull_request: | |
branches: [ gazebo11 ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
config: | |
name: ${{ matrix.arch }}-config | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- arch: x64 | |
- arch: x86 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Config Gazebo | |
uses: ./.github/workflows/windows-config/ | |
with: | |
arch: ${{ matrix.arch }} | |
- name: Prepare logs on failure | |
if: failure() | |
shell: cmd | |
run: | | |
7z a -t7z -r -mx=9 logs.7z ^ | |
vcpkg/buildtrees/*.log | |
- name: Upload logs on failure | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows_logs_${{matrix.arch}}_${{github.event.pull_request.head.sha}} | |
path: logs.7z | |
build: | |
name: ${{ matrix.arch }}-build | |
needs: config | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- arch: x64 | |
- arch: x86 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Config Gazebo | |
uses: ./.github/workflows/windows-config/ | |
with: | |
arch: ${{ matrix.arch }} | |
- name: Build Gazebo | |
shell: cmd | |
run: | | |
set /a proc=%NUMBER_OF_PROCESSORS% | |
echo proc=%proc% | |
cmake --build build --config Release -j %proc% | |
- name: Install Gazebo | |
shell: cmd | |
run: | | |
cmake --install build --config Release | |
- name: Tests suite compilation | |
shell: cmd | |
run: | | |
echo compile and run tests here | |
- name: Prepare logs on failure | |
if: failure() | |
shell: cmd | |
run: | | |
7z a -t7z -r -mx=9 logs.7z ^ | |
vcpkg/buildtrees/*.log ^ | |
build/.ninja_log ^ | |
build/build.ninja ^ | |
build/install_manifest.txt ^ | |
build/vcpkg-manifest-install.log | |
- name: Upload logs on failure | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows_logs_${{matrix.arch}}_${{github.event.pull_request.head.sha}} | |
path: logs.7z | |
- name: Prepare artifacts for deploy | |
if: success() | |
shell: cmd | |
run: | | |
move vcpkg\installed\${{ matrix.arch }}-windows-release vcpkg\installed\gazebo | |
7z a -t7z -r gazebo.7z ./vcpkg/installed/gazebo/ | |
- name: Upload gazebo | |
if: success() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: gazebo_windows_${{matrix.arch}}_${{github.event.pull_request.head.sha}} | |
path: gazebo.7z |