Skip to content

Updated po_missing and po_merge. #524

Updated po_missing and po_merge.

Updated po_missing and po_merge. #524

name: Vulkan Win64 ARM64
on:
push:
branches-ignore:
- beta
tags-ignore:
- '**'
jobs:
###################################
# #
# FULL BUILDS #
# #
###################################
windows-vulkan-arm64:
runs-on: windows-11-arm
permissions:
contents: write # Needed to update releases
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup environment (ARM64 native)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: arm64
- name: Install Visual C++ Redistributable 2022 (ARM64)
run: |
$vc_redist_url_2022_arm64 = "https://aka.ms/vs/17/release/vc_redist.arm64.exe"
Invoke-WebRequest -Uri $vc_redist_url_2022_arm64 -OutFile vc_redist_2022.arm64.exe
Start-Process vc_redist_2022.arm64.exe -ArgumentList "/install", "/quiet", "/norestart" -Wait
shell: powershell
# - name: Install specific MSVC toolset (in case build breaks)
# shell: powershell
# run: |
# Invoke-WebRequest `
# -Uri https://aka.ms/vs/17/release/vs_BuildTools.exe `
# -OutFile vs_BuildTools.exe
# Start-Process .\vs_BuildTools.exe `
# -ArgumentList `
# "--quiet", "--wait",
# "--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
# "--includeRecommended",
# "--installPath C:\VS2022Custom" `
# -NoNewWindow -Wait- name: Activate MSVC
# uses: ilammy/msvc-dev-cmd@v1
# with:
# path: 'C:\VS2022Custom'
- name: Synchronize clock
shell: cmd
run: |
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:YES /update
net stop w32time
net start w32time
w32tm /resync /rediscover
- name: Setup MSYS
uses: msys2/setup-msys2@v2
with:
update: true
path-type: inherit
msystem: CLANGARM64
install: >-
base-devel
- name: Create msys_cmd.bat wrapper
run: |
echo "@echo off" >> $TEMP/msys2_cmd.bat
echo "set MSYS2_PATH_TYPE=inherit" >> $TEMP/msys2_cmd.bat
echo "set MSYS2_NOSTART=yes" >> $TEMP/msys2_cmd.bat
echo "set CHERE_INVOKING=enabled_from_arguments" >> $TEMP/msys2_cmd.bat
echo "C:\a\_temp\msys64\usr\bin\bash.exe %*" >> $TEMP/msys2_cmd.bat
- name: Get machine name
run: |
echo "Machine name: $RUNNER_NAME"
# Install Vulkan SDK
- name: Install Vulkan SDK
env:
BUILD_VULKAN: OFF
run: |
. ./etc/windows/install_vulkan.sh
# Persist environment variables for subsequent steps
echo "WINDOWS_VULKAN_SDK=$WINDOWS_VULKAN_SDK" >> $GITHUB_ENV
echo "VULKAN_SDK=$VULKAN_SDK" >> $GITHUB_ENV
echo "${VULKAN_SDK}/bin" >> $GITHUB_PATH
- name: Install and Copy Vulkan Runtime
shell: powershell
run: |
# 1. Run the Runtime Installer silently (/S)
# This extracts vulkan-1.dll to C:\Windows\System32
cd $Env:WINDOWS_VULKAN_SDK
Write-Host "Installing Vulkan Runtime..."
Start-Process -FilePath ".\Helpers\VulkanRT.exe" -ArgumentList "/S" -Wait
# 2. Verify installation
$systemDll = "C:\Windows\System32\vulkan-1.dll"
if (Test-Path $systemDll) {
Write-Host "SUCCESS: vulkan-1.dll found in System32."
# 3. (Optional) Copy to your local Bin folder if your build expects it there
Copy-Item -Path $systemDll -Destination ".\Bin\" -Force
Write-Host "Copied vulkan-1.dll to local Bin folder."
} else {
Write-Error "FAILURE: vulkan-1.dll was not found in System32 after running installer."
exit 1
}
# - name: Verify Vulkan
# run: ${VULKAN_SDK}/Bin/vulkaninfoSDK.exe
- name: Setup environment
run: mkdir -p ssh
- name: Decode SSH key
run: echo "${{ secrets.SSH_PRIVATE_KEY }}" | base64 -d > ssh/id_rsa
shell: bash
# - name: Decode FLTK SSH key
# run: |
# mkdir -p ~/.ssh
# echo "${{ secrets.FLTK_DEPLOY_KEY }}" > ~/.ssh/id_ed25519
# chmod 600 ~/.ssh/id_ed25519
# ssh-keyscan github.com >> ~/.ssh/known_hosts
- name: Set permissions on SSH key
shell: cmd
run: |
icacls "ssh\id_rsa" /inheritance:r /grant:r "%USERNAME%:R"
- name: Add SourceForge to known_hosts
shell: bash
run: |
mkdir -p ~/.ssh
ssh-keyscan frs.sourceforge.net >> ~/.ssh/known_hosts
- name: Set executable permissions
run: |
chmod +x ./*.sh ./bin/*.sh ./etc/*.sh ./bin/release/*.sh
- name: Install MSYS2 Dependencies
run: |
pacman -S --noconfirm rsync
- name: Build vmrv2
env:
BUILD_PYTHON: ON
BULLD_VULKAN: OFF
MRV2_PYFLTK: ON
MRV2_PYBIND11: ON
MRV2_NETWORK: ON
MRV2_PDF: ON
TLRENDER_AOM: ON
TLRENDER_AV1: ON
TLRENDER_EXR: ON
TLRENDER_FFMPEG: ON
TLRENDER_FFMPEG_MINIMAL: ON
TLRENDER_GL: OFF
TLRENDER_HAP: ON
TLRENDER_JPEG: ON
TLRENDER_NDI: OFF
TLRENDER_NET: ON
TLRENDER_OPENJPH: ON
TLRENDER_RAW: ON
TLRENDER_SGI: ON
TLRENDER_STB: ON
TLRENDER_SVTAV1: OFF # does not compile on Windows ARM64
TLRENDER_TIFF: ON
TLRENDER_USD: OFF
TLRENDER_VPX: ON
TLRENDER_YASM: ON
run: |
./etc/runme_nolog.sh -v -t package -vk clean
- name: Upload binaries
run: |
./bin/release/upload_sourceforge.sh -vk
# - name: Upload Beta Release
# uses: softprops/action-gh-release@v2
# with:
# tag_name: betas
# name: Betas Builds
# body: |
# Latest beta build - auto-updated.
# Built on: ${{ github.event.head_commit.message }}
# prerelease: true
# files: |
# packages/Windows-vulkan-aarch64/Release/vmrv2-beta-Windows-aarch64.exe
# packages/Windows-vulkan-aarch64/Release/vmrv2-beta-Windows-aarch64.zip
# overwrite_files: true # THIS IS KEY
# token: ${{ secrets.GITHUB_TOKEN }}