Skip to content

Update build.yml

Update build.yml #210

Workflow file for this run

name: HDILib conan builder
on:
push:
branches:
- master
- main
- stable/*
- release/*
- alpha/*
pull_request:
workflow_dispatch:
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
# 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:
# This build is Debug + /analyze flag
#- name: Static Analysis Windows
# os: windows-2019
# compiler: msvc-2019
# build-cversion: 16
# build-config: Analysis
- name: Windows-msvc2019
os: windows-2019
compiler: msvc-2019
build-cversion: 16
build-runtime: MD
build-config: Release
build-arch: x86_64
- name: Windows-msvc2022
os: windows-2022
compiler: msvc-2022
build-cversion: 17
build-runtime: MD
build-config: Release
build-arch: x86_64
- name: Linux_gcc10
os: ubuntu-20.04
build-compiler: gcc
build-cversion: 10
build-config: Release
build-os: Linux
build-libcxx: libstdc++11
build-arch: x86_64
- 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++11
build-arch: x86_64
- name: Linux_gcc13
os: ubuntu-24.04
build-cc: gcc
build-cxx: g++
build-compiler: gcc
build-cversion: 13
build-config: Release
build-os: Linux
build-libcxx: libstdc++11
build-arch: x86_64
- 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++
build-arch: x86_64
- name: Macos_xcode14.3
os: macos-13
build-compiler: apple-clang
build-cversion: 14
build-config: Release
build-os: Macos
build-xcode-version: 14.3
build-libcxx: libc++
build-arch: x86_64
- name: Macos_xcode15
os: macos-14
build-compiler: apple-clang
build-cversion: 15
build-config: Release
build-os: Macos
build-xcode-version: 15.4
build-libcxx: libc++
build-arch: armv8
steps:
- name: Checkout the source
uses: actions/checkout@v2
with:
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
- name: Setup python version
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Setup gcc version
if: startsWith(matrix.build-compiler, 'gcc')
uses: egor-tensin/setup-gcc@v1
with:
version: ${{matrix.build-cversion}}
platform: x64
- name: Windows build
if: startsWith(runner.os, 'Windows')
uses: ./.github/conan_windows_build
with:
conan-visual-version: ${{matrix.build-cversion}}
conan-build-type: ${{matrix.build-config}}
build-arch: ${{matrix.build-arch}}
conan-user: ${{secrets.LKEB_ARTIFACTORY_USER}}
conan-password: ${{secrets.LKEB_ARTIFACTORY_PASSWORD}}
hdilib-cdash-token: ${{secrets.HDILIB_TOKEN}}
- name: Linux Mac build
if: "!startsWith(runner.os, 'Windows')"
uses: ./.github/conan_linuxmac_build
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}}
build-arch: ${{matrix.build-arch}}
conan-user: ${{secrets.LKEB_ARTIFACTORY_USER}}
conan-password: ${{secrets.LKEB_ARTIFACTORY_PASSWORD}}