Skip to content

CI build (OpenMP) & VectorHolder (std::get) issues #184

CI build (OpenMP) & VectorHolder (std::get) issues

CI build (OpenMP) & VectorHolder (std::get) issues #184

Workflow file for this run

name: HDF5Loader
on:
push:
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:
prepare_matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.matrix_setup.outputs.matrix }}
steps:
- name: Get matrix from file
id: matrix_setup
uses: ManiVaultStudio/github-actions/matrix_setup@main
cross-platform-build:
name: Cross platform build
needs: prepare_matrix
# 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: ${{ fromJson(needs.prepare_matrix.outputs.matrix) }}
steps:
- name: Checkout the source
if: ${{ github.event_name != 'pull_request'}}
uses: actions/checkout@v2
with:
submodules: recursive
- name: Checkout the source (pull_request version)
if: ${{ github.event_name == 'pull_request'}}
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.ref }}
submodules: recursive
- name: Select Xcode for Mac only
if: startsWith(runner.os, 'macOS')
run: |
sudo xcode-select -switch /Applications/Xcode_${{matrix.build-xcode-version}}.app
# Self-hosted runners should have python and other software preconfigured
- name: Setup python 3 version
uses: actions/setup-python@v4
with:
python-version: '3.11'
architecture: x64
- 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}}
# - name: Mac M1 build self-hosted
# if: "contains(matrix.os, 'macOS') && contains(matrix.os, 'self-hosted') && contains(matrix.os, 'X64') "
# uses: ManiVaultStudio/github-actions/conan_selfhosted_m1_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}}