mirror of
https://github.com/VirtualDrivers/Virtual-Display-Driver.git
synced 2026-10-21 14:12:27 -05:00
158 lines
6.1 KiB
Plaintext
158 lines
6.1 KiB
Plaintext
name: Virtual Display Driver All Signpath Request
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
configuration: [Release]
|
|
platform: [x64, ARM64]
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup MSBuild
|
|
uses: microsoft/setup-msbuild@v1
|
|
|
|
- name: Check Chocolatey installation
|
|
run: choco --version
|
|
|
|
- name: Install Visual Studio 2022 dependencies
|
|
run: |
|
|
choco install visualstudio2022-workload-manageddesktop -y
|
|
if ($LASTEXITCODE -ne 0) { exit 1 }
|
|
|
|
choco install visualstudio2022-workload-nativedesktop -y
|
|
if ($LASTEXITCODE -ne 0) { exit 1 }
|
|
|
|
choco install visualstudio2022-workload-vctools -y
|
|
if ($LASTEXITCODE -ne 0) { exit 1 }
|
|
|
|
choco install windowsdriverkit11 -y
|
|
if ($LASTEXITCODE -ne 0) { exit 1 }
|
|
|
|
- name: Build the driver
|
|
run: |
|
|
msbuild "Virtual Display Driver (HDR)/MTTVDD.sln" /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }}
|
|
|
|
- name: List build directory
|
|
run: dir "Virtual Display Driver (HDR)\${{ matrix.platform }}\${{ matrix.configuration }}\MttVDD"
|
|
|
|
- name: Upload built driver
|
|
id: upload_artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Built-Driver-${{ matrix.configuration }}-${{ matrix.platform }}
|
|
path: |
|
|
Virtual Display Driver (HDR)\${{ matrix.platform }}\${{ matrix.configuration }}\MttVDD\MttVDD.dll
|
|
Virtual Display Driver (HDR)\${{ matrix.platform }}\${{ matrix.configuration }}\MttVDD\MttVDD.inf
|
|
Virtual Display Driver (HDR)\${{ matrix.platform }}\${{ matrix.configuration }}\MttVDD\mttvdd.cat
|
|
Virtual Display Driver (HDR)\${{ matrix.platform }}\${{ matrix.configuration }}\MttVDD\vdd_settings.xml
|
|
|
|
- name: Generate release tag
|
|
id: generate_tag
|
|
run: |
|
|
$releaseTag = (Get-Date).ToString('yy.MM.dd')
|
|
echo "RELEASE_TAG=$releaseTag" >> $env:GITHUB_ENV
|
|
|
|
- name: Show generated release tag
|
|
run: |
|
|
echo "Generated Release Tag: ${{ env.RELEASE_TAG }}"
|
|
|
|
- name: Verify Built Artifacts
|
|
run: dir 'Virtual Display Driver (HDR)\${{ matrix.platform }}\${{ matrix.configuration }}\MttVDD'
|
|
|
|
|
|
- name: Submit signing request to SignPath
|
|
id: signpath_request
|
|
uses: signpath/github-action-submit-signing-request@v1
|
|
with:
|
|
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
|
|
organization-id: '${{ vars.SIGNPATH_ORG_ID }}'
|
|
project-slug: '${{ vars.SIGNPATH_PROJECT_SLUG }}'
|
|
signing-policy-slug: '${{ vars.SIGNPATH_POLICY_SLUG }}'
|
|
github-artifact-id: '${{ steps.upload_artifact.outputs.artifact-id }}'
|
|
wait-for-completion: true
|
|
output-artifact-directory: '${{ vars.SIGNPATH_OUTPUT_DIR }}'
|
|
parameters: |
|
|
Version: ${{ toJSON(matrix.configuration) }}
|
|
Release_Tag: "${{ env.RELEASE_TAG }}"
|
|
|
|
- name: Verify Signed Artifacts
|
|
run: dir '${{ vars.SIGNPATH_OUTPUT_DIR }}'
|
|
|
|
- name: Upload signed artifacts
|
|
id: upload_signed_artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Signed-Driver-${{ matrix.configuration }}-${{ matrix.platform }}
|
|
path: |
|
|
${{ vars.SIGNPATH_OUTPUT_DIR }}\MttVDD.dll
|
|
${{ vars.SIGNPATH_OUTPUT_DIR }}\MttVDD.inf
|
|
${{ vars.SIGNPATH_OUTPUT_DIR }}\mttvdd.cat
|
|
${{ vars.SIGNPATH_OUTPUT_DIR }}\vdd_settings.xml
|
|
|
|
- name: Prepare Setup Repository
|
|
run: |
|
|
git clone https://${{ secrets.READ_REPO }}@github.com/VirtualDisplay/Virtual-Driver-Installer.git inno-setup
|
|
|
|
- name: Prepare Setup
|
|
run: |
|
|
copy "${{ vars.SIGNPATH_OUTPUT_DIR }}\*" inno-setup\input\
|
|
$platform = "${{ matrix.platform }}"
|
|
(Get-Content "inno-setup\Setup.iss") |
|
|
ForEach-Object { $_ -replace '1.0.0', '${{ env.RELEASE_TAG }}' } |
|
|
Set-Content "inno-setup\Setup.iss"
|
|
|
|
if ($platform -eq 'ARM64') {
|
|
(Get-Content "inno-setup\Setup.iss") |
|
|
ForEach-Object { $_ -replace 'x64compatible', 'arm64' } |
|
|
Set-Content "inno-setup\Setup.iss"
|
|
|
|
(Get-Content "inno-setup\Setup.iss") |
|
|
ForEach-Object { $_ -replace '-x64', '-arm64' } |
|
|
Set-Content "inno-setup\Setup.iss"
|
|
|
|
if (Test-Path "inno-setup\input\Companion\VDDSysTray.exe") {Remove-Item "inno-setup\input\Companion\VDDSysTray.exe"}
|
|
copy "inno-setup\input\Companion\arm64\VDDSysTray.exe" "inno-setup\input\Companion\"
|
|
}
|
|
|
|
- name: Compile Installer
|
|
uses: Minionguyjpro/Inno-Setup-Action@v1.2.2
|
|
with:
|
|
path: inno-setup\Setup.iss
|
|
options: /O+
|
|
|
|
- name: Upload Installer as artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Installer-${{ matrix.configuration }}-${{ matrix.platform }}
|
|
path: inno-setup\output\*.exe
|
|
|
|
- name: Submit Installer Signing Request to SignPath
|
|
id: signpath_installer_request
|
|
uses: signpath/github-action-submit-signing-request@v1
|
|
with:
|
|
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
|
|
organization-id: '${{ vars.SIGNPATH_ORG_ID }}'
|
|
project-slug: '${{ vars.SIGNPATH_PROJECT_SLUG }}'
|
|
signing-policy-slug: '${{ vars.SIGNPATH_POLICY_SLUG_INSTALLER }}'
|
|
github-artifact-id: '${{ steps.upload_installer.outputs.artifact-id }}'
|
|
wait-for-completion: true
|
|
output-artifact-directory: '${{ vars.SIGNPATH_INSTALLER_OUTPUT_DIR }}'
|
|
|
|
- name: Upload signed installer
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Signed-Installer-${{ matrix.configuration }}-${{ matrix.platform }}
|
|
path: '${{ vars.SIGNPATH_INSTALLER_OUTPUT_DIR }}/*'
|
|
|
|
celebrate:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Celebrate
|
|
run: |
|
|
echo "Bud is a god, also hi if you're looking at this!"
|