Skip to content

Update various GitHub actions #11

Update various GitHub actions

Update various GitHub actions #11

on: [push, pull_request]
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- msvc_config: x64-Release
msvc_arch: amd64
build_type: RelWithDebInfo
- msvc_config: x86-Release
msvc_arch: amd64_x86
build_type: RelWithDebInfo
- msvc_config: x64-Debug
msvc_arch: amd64
build_type: Debug
- msvc_config: x86-Debug
msvc_arch: amd64_x86
build_type: Debug
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.msvc_arch }}
- run: cmake -S src -B src/out/build/${{ matrix.msvc_config }} -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX:PATH=${{ github.workspace }}/src/out/install/${{ matrix.msvc_config }}
- run: cmake --build src/out/build/${{ matrix.msvc_config }}
- run: cmake --install src/out/build/${{ matrix.msvc_config }}
- uses: actions/upload-artifact@v4
with:
name: ASIO401-${{ matrix.msvc_config }}
path: src/out/install/${{ matrix.msvc_config }}/
installer:
runs-on: windows-latest
needs: build
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/download-artifact@v4
with:
name: ASIO401-x64-Release
path: src/out/install/x64-Release
- uses: actions/download-artifact@v4
with:
name: ASIO401-x86-Release
path: src/out/install/x86-Release
- run: cmake -P installer.cmake
working-directory: src
- uses: actions/upload-artifact@v4
with:
name: ASIO401-installer
path: src/out/installer/*
sigstore:
runs-on: ubuntu-latest
needs: installer
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
name: ASIO401-installer
- uses: sigstore/[email protected]
with:
inputs: "*"
- uses: actions/upload-artifact@v4
with:
name: sigstore
path: "*.sigstore"
if-no-files-found: error
release:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/asio401-')
needs:
- installer
- sigstore
permissions:
contents: write
steps:
- uses: actions/download-artifact@v4
with:
name: ASIO401-installer
- uses: actions/download-artifact@v4
with:
name: sigstore
- uses: softprops/action-gh-release@v1
with:
draft: true
files: "*"
generate_release_notes: true