Laerdal Labs, DC GStreamer Plugin Windows Build #128
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Laerdal Labs, DC GStreamer Plugin Windows Build | |
on: | |
push: | |
branches: [ master ] | |
release: | |
types: [released] | |
pull_request: | |
branches: [ master ] | |
workflow_dispatch: | |
jobs: | |
build-package: | |
name: Build Windows Nuget Package | |
runs-on: windows-2022 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install meson/ninja | |
run: pip install meson ninja | |
- name: Configure aws credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.DEV_AWS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.DEV_AWS_KEY_SECRET }} | |
aws-region: 'us-east-1' | |
- id: get-gstreamer | |
name: Get GStreamer | |
uses: blinemedical/cerbero/.github/actions/build-gstreamer-for-windows@1.24-lldc | |
with: | |
cerbero-ref: 1.24.8-lldc | |
cerbero-args: --clocktime --timestamps -v visualstudio,noasserts | |
s3-download-paths: ${{ vars.GSTREAMER_S3_DOWNLOAD_PATH }} | |
- name: Install GStreamer | |
id: setup_gstreamer | |
uses: blinemedical/setup-gstreamer@v1 | |
with: | |
version: ${{ steps.get-gstreamer.outputs.gstreamer-version }} | |
msiUrl: ${{ steps.get-gstreamer.outputs.runtime-installer-url }} | |
devMsiUrl: ${{ steps.get-gstreamer.outputs.devel-installer-url }} | |
- uses: actions/github-script@v7 | |
with: | |
script: | | |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); | |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | |
- name: Install AWS C++ SDK | |
run: | | |
vcpkg install --binarysource="clear;x-gha,readwrite" --triplet x64-windows | |
echo "CMAKE_PREFIX_PATH=$PWD\vcpkg_installed\x64-windows" | Out-File -FilePath $Env:GITHUB_ENV -Append -Encoding utf8 | |
- name: Build Amazon-S3 Plugin | |
id: build_plugin | |
run: | | |
# Debug build | |
meson setup --vsenv --buildtype debug build-debug | |
meson compile -C build-debug | |
# Release build | |
meson setup --vsenv --buildtype debugoptimized build | |
echo "plugin_version=$((meson introspect --projectinfo build | ConvertFrom-Json).version)" | Out-File -FilePath $Env:GITHUB_OUTPUT -Append -Encoding utf8 | |
meson compile -C build | |
- name: Setup NuGet | |
uses: NuGet/setup-nuget@v2 | |
- name: Generate NuGet packages | |
run: | | |
mkdir nupkgs | |
$version = "${{ steps.build_plugin.outputs.plugin_version }}" | |
if ("${{ (startsWith(github.ref, 'refs/tags/v') || ( github.event_name == 'release' && github.event.action == 'released' )) }}" -ne "true") { | |
$version += "-dev.${{ github.run_number }}" | |
} | |
$version += "+g${{ github.sha }}".Substring(0, 7) | |
nuget.exe pack Amazon-S3-Plugin.nuspec -Version $version -OutputDirectory nupkgs | |
- name: Upload NuGet packages | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nuget-packages | |
path: 'nupkgs/*.nupkg' | |
- name: Publish | |
run: | | |
Get-ChildItem ./nupkgs -filter "*.nupkg" | foreach{ | |
dotnet nuget push $_.FullName --skip-duplicate --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/blinemedical/index.json | |
} |