CI and API fix (#32) #37
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: SpidrPlugin | |
on: | |
push: | |
branches: | |
- main | |
- release/* | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
forceMacBuild: | |
description: 'If set true override the ENABLE_MACOS_BUILD to force a build' | |
type: boolean | |
default: false | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
MACENABLED: ${{ inputs.forceMacBuild }} | |
# for matrix check https://docs.github.com/en/actions/reference/specifications-for-github-hosted-runners | |
jobs: | |
cross-platform-build: | |
name: Cross platform build | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- name: Windows-msvc2019 | |
os: windows-2019 | |
compiler: msvc-2019 | |
build-cversion: 16 | |
build-runtime: MD | |
build-config: Release | |
- name: Linux_gcc11 | |
os: ubuntu-22.04 | |
build-cc: gcc | |
build-cxx: g++ | |
build-compiler: gcc | |
build-cversion: 11 | |
build-config: Release | |
build-os: Linux | |
build-libcxx: libstdc++ | |
- name: Macos_xcode13.4 | |
os: macos-12 | |
build-compiler: apple-clang | |
build-cversion: 13 | |
build-config: Release | |
build-os: Macos | |
build-xcode-version: 13.4 | |
build-libcxx: libc++ | |
steps: | |
- name: Checkout the source | |
if: github.event_name != 'pull_request' | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Checkout the source - pull request | |
if: github.event_name == 'pull_request' | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.ref }} | |
- name: Select Xcode for Mac only | |
if: startsWith(runner.os, 'macOS') | |
run: | | |
sudo xcode-select -switch /Applications/Xcode_${{matrix.build-xcode-version}}.app | |
- name: Setup python version | |
uses: actions/setup-python@v1 | |
with: | |
python-version: "3.11" | |
- name: Start ssh key agent | |
uses: webfactory/ssh-agent@v0.7.0 | |
with: | |
ssh-private-key: ${{ secrets.RULESSUPPORT_DEPLOY_KEY }} | |
- name: Install SSH deploy key for rulessupport | |
uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.RULESSUPPORT_DEPLOY_KEY }} | |
known_hosts: github.com AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== | |
- name: Windows build | |
if: startsWith(runner.os, 'Windows') | |
uses: ManiVaultStudio/github-actions/conan_windows_build@main | |
with: | |
conan-visual-version: ${{matrix.build-cversion}} | |
conan-visual-runtime: ${{matrix.build-runtime}} | |
conan-build-type: ${{matrix.build-config}} | |
conan-user: ${{secrets.LKEB_UPLOAD_USER}} | |
conan-password: ${{secrets.LKEB_UPLOAD_USER_PASSWORD}} | |
conan-pem: ${{secrets.LKEB_UPLOAD_CERT_CHAIN}} | |
rs_ssh_key: ${{ secrets.RULESSUPPORT_DEPLOY_KEY }} | |
- name: Linux build | |
if: startsWith(matrix.os, 'ubuntu') | |
uses: ManiVaultStudio/github-actions/conan_linuxmac_build@main | |
with: | |
conan-compiler: ${{matrix.build-compiler}} | |
conan-compiler-version: ${{matrix.build-cversion}} | |
conan-libcxx-version: ${{matrix.build-libcxx}} | |
conan-build-type: ${{matrix.build-config}} | |
conan-build-os: ${{matrix.build-os}} | |
conan-user: ${{secrets.LKEB_UPLOAD_USER}} | |
conan-password: ${{secrets.LKEB_UPLOAD_USER_PASSWORD}} | |
conan-pem: ${{secrets.LKEB_UPLOAD_CERT_CHAIN}} | |
conan-cc: gcc-${{matrix.build-cversion}} | |
conan-cxx: g++-${{matrix.build-cversion}} | |
- name: Mac build | |
if: startsWith(matrix.os, 'macos') && (env.MACENABLED == 'true' || vars.ENABLE_MACOS_BUILD == 'True') | |
uses: ManiVaultStudio/github-actions/conan_linuxmac_build@main | |
with: | |
conan-compiler: ${{matrix.build-compiler}} | |
conan-compiler-version: ${{matrix.build-cversion}} | |
conan-libcxx-version: ${{matrix.build-libcxx}} | |
conan-build-type: ${{matrix.build-config}} | |
conan-build-os: ${{matrix.build-os}} | |
conan-user: ${{secrets.LKEB_UPLOAD_USER}} | |
conan-password: ${{secrets.LKEB_UPLOAD_USER_PASSWORD}} | |
conan-pem: ${{secrets.LKEB_UPLOAD_CERT_CHAIN}} |