You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rdpwrap/.github/workflows/build-cpp.yml

64 lines
2.2 KiB

name: Build C++ DLL
# Trigger on:
# - PRs targeting main/master that touch C++ source (compile check before merge)
# - Version tag pushes (e.g. v1.7.0)
# - Manual dispatch
on:
pull_request:
branches: [main, master]
push:
tags:
- 'v*'
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
permissions:
contents: write
jobs:
# ── Build x64 and Win32 release DLLs ─────────────────────────────────────────
build:
runs-on: windows-2022
strategy:
matrix:
include:
- platform: x64
msbuild_platform: x64
- platform: x86
msbuild_platform: Win32
- platform: arm64
msbuild_platform: ARM64
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v3
# Override the v120 platform toolset with the VS 2022 toolset (v143).
# The rdpwrap C++ source is standard Win32 API code and compiles cleanly
# with any modern MSVC version.
- name: Build rdpwrap.dll (${{ matrix.platform }})
working-directory: src-x86-x64-Fusix
run: |
msbuild RDPWrap.vcxproj `
/p:Configuration=Release `
/p:Platform="${{ matrix.msbuild_platform }}" `
/p:PlatformToolset=v143 `
/p:WindowsTargetPlatformVersion=10.0
- name: Upload ${{ matrix.platform }} artifact
uses: actions/upload-artifact@v4
with:
name: rdpwrap-dll-${{ matrix.platform }}
path: src-x86-x64-Fusix/Release/${{ matrix.platform }}/rdpwrap.dll
if-no-files-found: error
# NOTE: Full GitHub Releases (including rdpwrap DLLs) are published by build-and-release.yml.
# This workflow stops at the artifact upload step so that partial releases are never
# created on tag pushes. Run build-and-release.yml to produce the canonical release.