mirror of
https://github.com/VirtualDrivers/Virtual-Display-Driver.git
synced 2026-10-22 06:32:32 -05:00
Sign Installer with seperate policy slug If this isnt allowed, then Mike this is on you. You told me to do the same repo before....
158 lines
6.1 KiB
Plaintext
158 lines
6.1 KiB
Plaintext
name: Virtual Display Driver 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!"
|