Simon Jackson
31fe90223d
ci: comprehensive CI/CD overhaul and project refactoring
...
Workflow changes:
- Rename publish-ini.yml -> build-and-release.yml; all refs updated
- Split build-and-release.yml into 6 parallel jobs:
build-dll / build-offsetfinder / download-sergiye (parallel),
build-csharp (needs build-dll), build-msi (needs build-csharp),
release (needs all) with environment gate
- Add build-csharp.yml, build-cpp.yml, build-offsetfinder.yml PR checks
- Add build-msi-check.yml: WiX syntax check on msi/** PRs
- Add actions/cache@v4 NuGet step to all workflows using dotnet
- Pin softprops/action-gh-release to SHA 153bb8e (v2)
- Add concurrency guard, msi/** path filter, source path triggers
- Extended INI validation: check LocalOnlyPatch+SLInitHook per section
- Delete update-finder-tools.yml (superseded)
Automation & tooling:
- Add .github/CODEOWNERS (maintainer review on all PRs)
- Add .github/dependabot.yml (github-actions, nuget, gitsubmodule)
- Add tools/build-local.ps1, make-icons.ps1, sergiye-hashes.json,
update-sergiye-hashes.ps1
- Add docs/BUILDING.md, CODE-SIGNING.md, SUBMODULE-UPDATE.md
- Add msi/ WiX v5 project (RDPWInst.wxs, RDPWInst.wixproj, global.json)
C# source:
- Migrate all projects from RDPWrap.Common -> RDPWrap library
- Add RDPCheck, RDPConf, RDPOffsetFinder C# projects
- Dynamic version via Directory.Build.props MSBuild expression
- Enable RestorePackagesWithLockFile; generate packages.lock.json for all 4 projects
- Dynamic banner version read from assembly at runtime
- .gitignore: ignore staged resources and msi build artifacts
Legacy cleanup:
- Remove Delphi source (src-installer, src-rdpcheck, src-rdpconfig,
src-x86-binarymaster), old res/ directory, bin/*.bat, technical.txt,
tools/RDPWrapOffsetFinder/ prebuilt binaries (now built from submodule)
1 month ago