Reenable Windows on ARM builds for FreeDV. (#1297)
* Enable Windows on ARM builds for FreeDV.
* Use test branch to make sure no other problems compiling.
* Force certificate store creation to work around CI failure.
* Fix typo.
* Fix syntax errors.
* Choose the correct installer to use.
* Fix rename.
* Disable Windows on ARM CI testing.
* Revert "Use test branch to make sure no other problems compiling."
This reverts commit e6be639275.
* Add PR #1297 to changelog.
* Cleanup driver setup in CI environment.
* Add debugging.
* Fix VAD path.
* Trust certificate prior to install.
* Need to run devgen first.
* Install WDK.
* Find location of devgen.exe.
* Fix syntax errors.
* Try shorter path for search.
* Last ditch effort to find devgen.exe.
* Debugging: output all Windows SDK files.
* Remove dereference to devgenpath to force command output to print.
* Retry filter.
* Figured out actual path to use for devgen.exe.
* Use GH Action way of referencing environment variables.
* Add quotes around devgen.exe path.
* Need to add & to the beginning of command.
* /add, not add.
* Try 4.70 version of VAC.
* Forgot .zip.
* CI cleanup.
* Update signed Windows release script.
* No need to install PyTorch for Windows tests.
* Use windows-2025 to be more in line with Windows ARM runners.
* Forgot to update excludes.
* Revert to windows -2022.
pull/1293/head
parent
67840fd751
commit
566fe625d9
|
|
@ -19,10 +19,16 @@ jobs:
|
|||
# well on Windows or Mac. You can convert this to a matrix build if you need
|
||||
# cross-platform coverage.
|
||||
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
|
||||
runs-on: ubuntu-24.04
|
||||
outputs:
|
||||
INSTALLER_FILENAME: ${{ steps.installer-filename.outputs.INSTALLER_FILENAME }}
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
arch: [x86_64, aarch64]
|
||||
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
|
|
@ -46,7 +52,7 @@ jobs:
|
|||
export PATH=${{github.workspace}}/llvm-mingw-20251216-ucrt-ubuntu-22.04-x86_64/bin:$PATH
|
||||
mkdir build_windows
|
||||
cd build_windows
|
||||
cmake -DENABLE_LTO=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/cross-compile/freedv-mingw-llvm-x86_64.cmake ..
|
||||
cmake -DENABLE_LTO=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/cross-compile/freedv-mingw-llvm-${{ matrix.arch }}.cmake ..
|
||||
|
||||
- name: Build freedv-gui
|
||||
shell: bash
|
||||
|
|
@ -70,38 +76,62 @@ jobs:
|
|||
path: ${{github.workspace}}/build_windows/${{ steps.installer-filename.outputs.INSTALLER_FILENAME }}
|
||||
|
||||
test:
|
||||
runs-on: windows-2022
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
runner: [windows-2022, windows-11-arm]
|
||||
arch: [x86_64, aarch64]
|
||||
exclude:
|
||||
- runner: windows-2022
|
||||
arch: aarch64
|
||||
- runner: windows-11-arm
|
||||
arch: x86_64
|
||||
|
||||
runs-on: ${{ matrix.runner }}
|
||||
needs: build
|
||||
env:
|
||||
RADIO_TO_COMPUTER_DEVICE: "CABLE Output (VB-Audio Virtual Cable)"
|
||||
COMPUTER_TO_RADIO_DEVICE: "Speakers (VB-Audio Virtual Cable)"
|
||||
MICROPHONE_TO_COMPUTER_DEVICE: "Line 1 (Virtual Audio Cable)"
|
||||
COMPUTER_TO_SPEAKER_DEVICE: "Line 1 (Virtual Audio Cable)"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: ${{needs.build.outputs.INSTALLER_FILENAME}}
|
||||
merge-multiple: true
|
||||
pattern: FreeDV-2*-${{ matrix.arch }}.exe
|
||||
path: ${{github.workspace}}
|
||||
|
||||
- uses: TheMrMilchmann/setup-msvc-dev@v4
|
||||
with:
|
||||
arch: x64
|
||||
|
||||
|
||||
- name: Install VB-Cable ("Radio" sound device)
|
||||
uses: LABSN/sound-ci-helpers@v1
|
||||
|
||||
- run: 'Invoke-WebRequest https://k6aq.net/freedv-build/vac464.zip -OutFile vac464.zip'
|
||||
- run: 'Expand-Archive -Path vac464.zip -DestinationPath vac464'
|
||||
- run: 'Import-Certificate -FilePath ${{github.workspace}}\test\vac464.cer -CertStoreLocation Cert:\LocalMachine\root'
|
||||
- run: 'Import-Certificate -FilePath ${{github.workspace}}\test\vac464.cer -CertStoreLocation Cert:\LocalMachine\TrustedPublisher'
|
||||
- name: Install driver
|
||||
shell: pwsh
|
||||
run: |
|
||||
.\vac464\setup64.exe -s -k 30570681-0a8b-46e5-8cb2-d835f43af0c5 | Out-Null
|
||||
Start-Sleep -Seconds 10
|
||||
# For convenience, make sure we fail fast if for whatever reason the install gets blocked on some GUI prompt.
|
||||
timeout-minutes: 10
|
||||
Invoke-WebRequest https://download.vb-audio.com/Download_CABLE/VBCABLE_Driver_Pack45.zip -OutFile VBCABLE_Driver_Pack45.zip
|
||||
Expand-Archive -Path VBCABLE_Driver_Pack45.zip -DestinationPath VBCABLE_Driver_Pack45
|
||||
Import-Certificate -FilePath ${{github.workspace}}\ci\vbcable.cer -CertStoreLocation Cert:\LocalMachine\root
|
||||
Import-Certificate -FilePath ${{github.workspace}}\ci\vbcable.cer -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
|
||||
Get-ChildItem -Path $Env:WindowsSdkDir -Recurse -Filter "devgen.exe" | Select-Object FullName
|
||||
& "${{ env.WindowsSdkDir }}\Tools\${{ env.WindowsSDKVersion }}\${{ env.Platform }}\devgen.exe" /add /bus ROOT /hardwareid VBAudioVACWDM
|
||||
pnputil /add-driver VBCable_Driver_Pack45\vbMmeCable64_win10.inf /install
|
||||
|
||||
- name: Install VAC ("analog" sound device)
|
||||
run: |
|
||||
Invoke-WebRequest https://software.muzychenko.net/freeware/vac470lite.zip -OutFile vac470lite.zip
|
||||
Expand-Archive -Path vac470lite.zip -DestinationPath vac470lite
|
||||
$driverFile = 'vac470lite\${{ env.Platform }}\vrtaucbl.sys';
|
||||
$outputFile = '${{github.workspace}}\vac.cer';
|
||||
$exportType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert;
|
||||
|
||||
$cert = (Get-AuthenticodeSignature $driverFile).SignerCertificate;
|
||||
[System.IO.File]::WriteAllBytes($outputFile, $cert.Export($exportType));
|
||||
|
||||
Import-Certificate -FilePath ${{github.workspace}}\vac.cer -CertStoreLocation Cert:\LocalMachine\root
|
||||
Import-Certificate -FilePath ${{github.workspace}}\vac.cer -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
|
||||
& "${{ env.WindowsSdkDir }}\Tools\${{ env.WindowsSDKVersion }}\${{ env.Platform }}\devgen.exe" /add /bus ROOT /hardwareid VirtualAudioCable_83ed7f0e-2028-4956-b0b4-39c76fdaef1d
|
||||
pnputil /add-driver "vac470lite\vrtaucbl.inf" /install
|
||||
|
||||
- name: Screenshot if failed
|
||||
if: failure()
|
||||
|
|
@ -120,7 +150,8 @@ jobs:
|
|||
- name: Install FreeDV on hard drive
|
||||
shell: pwsh
|
||||
run: |
|
||||
.\${{needs.build.outputs.INSTALLER_FILENAME}} /S /D=${{github.workspace}}\FreeDV-Install-Location | Out-Null
|
||||
Get-ChildItem *.exe | Rename-Item -NewName FreeDV.exe
|
||||
.\FreeDV.exe /S /D=${{github.workspace}}\FreeDV-Install-Location | Out-Null
|
||||
|
||||
- name: Copy test scripts to install folder
|
||||
shell: pwsh
|
||||
|
|
@ -149,17 +180,13 @@ jobs:
|
|||
|
||||
- name: Start Windows Audio Service
|
||||
run: |
|
||||
net start audiosrv
|
||||
Restart-Service -Name audiosrv -Force
|
||||
|
||||
- name: List audio devices
|
||||
shell: pwsh
|
||||
run: |
|
||||
Get-CimInstance win32_sounddevice
|
||||
|
||||
- name: Install Python dependencies
|
||||
run: |
|
||||
python.exe -m pip install torch matplotlib
|
||||
|
||||
- name: Test RADE
|
||||
shell: pwsh
|
||||
working-directory: ${{github.workspace}}\FreeDV-Install-Location\bin
|
||||
|
|
|
|||
|
|
@ -942,6 +942,7 @@ LDPC | Low Density Parity Check Codes - a family of powerful FEC codes
|
|||
* Update Hamlib to 4.7.0. (PR #1226)
|
||||
* Update wxWidgets to 3.3.2. (PR #1244)
|
||||
* Flex: Update Docker container version to match AppImage version. (PR #1256)
|
||||
* Reenable Windows on ARM builds previously disabled in 2.0.0. (PR #1297)
|
||||
4. Documentation:
|
||||
* Update README instructions to reflect current Windows build steps. (PR #1232)
|
||||
* Add OmniRig troubleshooting to the user manual. (PR #1264)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ WIN_BUILD_DIR=$SCRIPT_DIR/build_windows
|
|||
mkdir $WIN_BUILD_DIR
|
||||
cd $WIN_BUILD_DIR
|
||||
|
||||
for arch in x86_64; do
|
||||
for arch in x86_64 aarch64; do
|
||||
BUILD_ARCH_DIR="$WIN_BUILD_DIR/build_win_$arch"
|
||||
|
||||
# Clear existing build
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,35 +0,0 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIGDDCCBPSgAwIBAgIMW5i7HVbfDAJdVbddMA0GCSqGSIb3DQEBCwUAMG4xCzAJ
|
||||
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMUQwQgYDVQQDEztH
|
||||
bG9iYWxTaWduIEV4dGVuZGVkIFZhbGlkYXRpb24gQ29kZVNpZ25pbmcgQ0EgLSBT
|
||||
SEEyNTYgLSBHMzAeFw0yMDA1MjYxMjE4NDBaFw0yMzA4MjYxMjE4NDBaMIIBOzEd
|
||||
MBsGA1UEDwwUUHJpdmF0ZSBPcmdhbml6YXRpb24xGDAWBgNVBAUTDzMxNjU0NzYw
|
||||
MDEwNTU1NjETMBEGCysGAQQBgjc8AgEDEwJSVTEmMCQGCysGAQQBgjc8AgECExVO
|
||||
b3Zvc2liaXJza2F5YSBvYmxhc3QxCzAJBgNVBAYTAlJVMR4wHAYDVQQIExVOb3Zv
|
||||
c2liaXJza2F5YSBvYmxhc3QxFDASBgNVBAcTC05vdm9zaWJpcnNrMSswKQYDVQQK
|
||||
EyJNdXp5Y2hlbmtvIEV2Z2VuaWkgVmlrdG9yb3ZpY2gsIElQMSswKQYDVQQDEyJN
|
||||
dXp5Y2hlbmtvIEV2Z2VuaWkgVmlrdG9yb3ZpY2gsIElQMSYwJAYJKoZIhvcNAQkB
|
||||
Fhdzb2Z0d2FyZUBtdXp5Y2hlbmtvLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
ADCCAQoCggEBAMzy2+Ke77GcrnUkMh5D8SB99OrONoC3QkniNZ78H0k1t/9qdBB7
|
||||
PgsGIGMXlyo3tLx5A6kWI9iczp5iWEpdZUmvTs7AV/NDPGIDbHU7dJR1gFlzc4yn
|
||||
0CSYbW5GkQEnYLZutYDzfJP6WkteKdj7EHg2N1iO9AtpcyyC8k4CWRahymT8wQLO
|
||||
TmhcwoIgayY1rn4Qfyx5rO4EPf4dYl3NwNItJk5IAL+QgWuSQSIHptqbxM8G1Eiu
|
||||
wR0Q+Ab5v3tKktdQc7OQootJv1IX1IhLaT/AYHTxrKugiTArwzAv77fYo6HUZPZ4
|
||||
a+lKt/FH/FF6wH0BZZoDtAab1NU2m15Cz8kCAwEAAaOCAdkwggHVMA4GA1UdDwEB
|
||||
/wQEAwIHgDCBoAYIKwYBBQUHAQEEgZMwgZAwTgYIKwYBBQUHMAKGQmh0dHA6Ly9z
|
||||
ZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzZXh0ZW5kY29kZXNpZ25zaGEy
|
||||
ZzNvY3NwLmNydDA+BggrBgEFBQcwAYYyaHR0cDovL29jc3AyLmdsb2JhbHNpZ24u
|
||||
Y29tL2dzZXh0ZW5kY29kZXNpZ25zaGEyZzMwVQYDVR0gBE4wTDBBBgkrBgEEAaAy
|
||||
AQIwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVw
|
||||
b3NpdG9yeS8wBwYFZ4EMAQMwCQYDVR0TBAIwADBFBgNVHR8EPjA8MDqgOKA2hjRo
|
||||
dHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2dzZXh0ZW5kY29kZXNpZ25zaGEyZzMu
|
||||
Y3JsMCIGA1UdEQQbMBmBF3NvZnR3YXJlQG11enljaGVua28ubmV0MBMGA1UdJQQM
|
||||
MAoGCCsGAQUFBwMDMB8GA1UdIwQYMBaAFNwsWCwqbzUtn3mVqEhdxG0+U7+5MB0G
|
||||
A1UdDgQWBBSIENjDBY/ZwM9nURvPaBjwD0BpIDANBgkqhkiG9w0BAQsFAAOCAQEA
|
||||
KAHk8s47IfKW8g/P2+Ia1koc/CkHFy4Q+R+uVC3DF3GVvNeBY9qCj8f8xUpQfkF1
|
||||
mRUyIxfGCWS6sg+/CtzMY+vuSZnGb1C/2GQ5hBP/CvXXGz1W+sKASy29EU/gzzKd
|
||||
j0sBVAUk+dgQ18P8cyUDnBxOGaizG/Yn10/2jzLi2eyBoxnunpzxMcgaaLUhtt/7
|
||||
q7Jmor+A6FQ2xiuJlWE6TnUTR4aJH6uPswa6s6msHwNj9P7mbQfgK9P3pVmLuHBK
|
||||
k9K9jkyL9KAAlNa7GBoT98a86z4x2lC/GcKOAD78M09qrfsd9+8f2II0XIXVuEuE
|
||||
nabx4jlGD9IwXJ+daDrhfA==
|
||||
-----END CERTIFICATE-----
|
||||
Loading…
Reference in New Issue