libosdp-sys 3.2.1

Sys crate for https://github.com/goToMain/libosdp
Documentation
#
# Copyright (c) 2020-2026 Siddharth Chandrasekaran <sidcha.dev@gmail.com>
#
# SPDX-License-Identifier: Apache-2.0
#

name: Create Release

on:
  push:
    # Sequence of patterns matched against refs/tags
    tags:
      - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

jobs:
  cross_platform_build:
    name: Build on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        # macos-15-intel is an intel runner, macos-14 is apple silicon
        os: [ubuntu-latest, macos-15-intel, macos-14, windows-latest]
    steps:
    - uses: actions/checkout@v4
      with:
        submodules: recursive
    - name: Configure
      run: cmake -B build -DCMAKE_BUILD_TYPE=Debug -DOPT_OSDP_LIB_ONLY=on .
    - name: Build
      run: cmake --build build --parallel 8
    - name: Pack built binaries
      run: cmake --build build --target package
    - name: Upload artifacts
      uses: actions/upload-artifact@v4
      with:
        name: LibOSDP-${{ matrix.os }}-binaries
        path: build/artifacts/

  build:
    name: Create Release
    needs: cross_platform_build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          submodules: recursive
      - name: Produce Release Artifacts
        run: perl -e 'local $/; $_=<>; print $1 if (/-{4,}\n+\d+.*?\n+(.*?)\n+v\d+\./sg)' CHANGELOG > RELEASE.txt
      - name: Create Release
        id: create_release
        uses: actions/create-release@v1
        env:
          # This token is provided by Actions, you do not need to create your own token
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          body_path: ./RELEASE.txt
          draft: false
          prerelease: false