Skip to content

Update MPIO

Update MPIO #338

Workflow file for this run

name: CMake
on: [push, pull_request]
env:
BUILD_TYPE: Release
VCPKG_CACHE: Windows-zlib_1.3.1-openssl_3.3.2
jobs:
build:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Set vcpkg environment variable
if: matrix.os == 'windows-latest'
shell: bash
run: echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV
- name: Cache vcpkg packages
uses: actions/cache@v4
if: matrix.os == 'windows-latest'
id: vcpkg-cache
with:
path: C:/vcpkg/installed
key: ${{env.VCPKG_CACHE}}
- name: Install Ubuntu packages
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update && sudo apt-get install zlib1g-dev libssl-dev
- name: Install macOS packages
if: matrix.os == 'macos-latest'
run: brew update && brew install zlib openssl
- name: Install Windows packages
if: ${{matrix.os == 'windows-latest' && steps.vcpkg-cache.outputs.cache-hit != 'true'}}
run: vcpkg install zlib:x64-windows-static openssl:x64-windows-static
- name: Create build environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- name: Build project
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE --parallel
- name: Run tests
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -C $BUILD_TYPE
- name: Archive artifacts
if: startsWith(github.ref, 'refs/tags/')
working-directory: ${{runner.workspace}}
shell: bash
run: 7z a -mx9 ${{github.event.repository.name}}-${{github.ref_name}}-${{runner.os}}-${{runner.arch}}.zip ./build/*
- name: Release artifacts
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
fail_on_unmatched_files: true
generate_release_notes: true
files: ${{runner.workspace}}/*.zip