Spracherkennung für: .yml vermutete Sprache: MT940 {MT940[37] SQL[26] Fortran[24]} [Methode: maximale Elemente, drei Dimensionen]
name: Run tests with MSVC
on:
push:
jobs:
msvc-x86:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
arch:
- x86
- x64
steps:
- name: Install prerequisites
run: |
pip install meson
choco install nasm
echo "C:\Program Files\NASM" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
- name: Set up the MSVC environment
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{matrix.arch}}
- uses: actions/checkout@v6
- name: Build and test
run: |
meson setup build --buildtype release `
--werror `
-Ddefault_library=both
cd build
ninja
meson test -v
msvc-cross-arm64:
# Test cross compilation with MSVC; here, we don't have any working
# host compiler available, as the only compiler in $PATH is a cross
# compiler.
runs-on: windows-latest
steps:
- name: Install prerequisites
run: |
pip install meson
- name: Set up the MSVC environment
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_arm64
- uses: actions/checkout@v6
- name: Checkout gas-preprocessor
uses: actions/checkout@v6
with:
repository: ffmpeg/gas-preprocessor
ref: f85b94087d168564b777877dfb3a0eeea3d57678
path: gas-preprocessor
- name: Add gas-preprocessor to path
run: |
echo "$PWD\gas-preprocessor" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
- name: Create cross file
shell: bash
run: |
cat >cross.txt <<EOF
[binaries]
c = 'cl'
cpp = 'cl'
ar = 'lib'
windres = 'rc'
[properties]
needs_exe_wrapper = true
[host_machine]
system = 'windows'
cpu_family = 'aarch64'
cpu = 'aarch64'
endian = 'little'
EOF
- name: Build and test
run: |
meson setup build --cross-file cross.txt --buildtype release `
--werror `
-Ddefault_library=both
cd build
ninja
meson test -v
msvc-arm64:
runs-on: windows-11-arm
strategy:
fail-fast: false
matrix:
uwp:
- false
- true
steps:
- name: Install prerequisites
run: |
pip install meson
- name: Set up the MSVC environment
uses: ilammy/msvc-dev-cmd@v1
with:
# The preinstalled versions of WinSDK no longer contain support
# for ARM, only ARM64
arch: arm64
- uses: actions/checkout@v6
- name: Checkout gas-preprocessor
uses: actions/checkout@v6
with:
repository: ffmpeg/gas-preprocessor
ref: f85b94087d168564b777877dfb3a0eeea3d57678
path: gas-preprocessor
- name: Add gas-preprocessor to path
run: |
echo "$PWD\gas-preprocessor" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
- name: Set CFLAGS
if: matrix.uwp
run: |
echo "CFLAGS=-DWINAPI_FAMILY=WINAPI_FAMILY_APP" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
- name: Build and test
run: |
meson setup build --buildtype release `
--werror `
-Ddefault_library=both
cd build
ninja
meson test -v
clangcl-arm64:
runs-on: windows-11-arm
steps:
- name: Install prerequisites
run: |
pip install meson
- name: Set up the MSVC environment
uses: ilammy/msvc-dev-cmd@v1
with:
arch: arm64
- uses: actions/checkout@v6
- name: Build and test
run: |
$Env:CC = "clang-cl"
meson setup build --buildtype release `
--werror `
-Ddefault_library=both
cd build
ninja
meson test -v
msvc-wine:
runs-on: ubuntu-24.04-arm
container: ghcr.io/mstorsjo/wine
strategy:
fail-fast: false
matrix:
arch:
- arm
- arm64
steps:
- name: Cache MSVC
id: cache-msvc
uses: actions/cache@v4
with:
path: /opt/msvc
key: msvc-arm64-17.13
- name: Checkout msvc-wine
if: ${{ !steps.cache-msvc.outputs.cache-hit }}
uses: actions/checkout@v6
with:
repository: mstorsjo/msvc-wine
ref: 91759aa0131a166f17602f81012737a6f353d608
path: msvc-wine
- name: Install msvc-wine
if: ${{ !steps.cache-msvc.outputs.cache-hit }}
run: |
apt-get update && apt-get install -y --no-install-recommends python3 msitools ca-certificates winbind
wine wineboot
cd msvc-wine
# This is the latest WinSDK that contains support for ARM
./vsdownload.py --accept-license --dest /opt/msvc --sdk-version 10.0.22621 --msvc-version 17.13
./install.sh /opt/msvc
- name: Install prerequisites
run: |
apt-get update && apt-get install -y --no-install-recommends meson
- uses: actions/checkout@v6
- name: Checkout gas-preprocessor
uses: actions/checkout@v6
with:
repository: ffmpeg/gas-preprocessor
ref: f85b94087d168564b777877dfb3a0eeea3d57678
path: gas-preprocessor
- name: Build and test
run: |
export PATH=$(pwd)/gas-preprocessor:/opt/msvc/bin/${{matrix.arch}}:$PATH
arch=${{matrix.arch}}
case $arch in
arm)
cpu=armv7
cpu_family=arm
;;
arm64)
cpu=aarch64
cpu_family=aarch64
;;
esac
cat >cross.txt <<EOF
[binaries]
c = 'cl'
cpp = 'cl'
ar = 'lib'
windres = 'rc'
exe_wrapper = ['wine']
[properties]
needs_exe_wrapper = true
[host_machine]
system = 'windows'
cpu_family = '$cpu_family'
cpu = '$cpu'
endian = 'little'
EOF
meson setup build --cross-file cross.txt \
--werror \
-Ddefault_library=both
cd build
ninja
meson test -v
[Dauer der Verarbeitung: 0.2 Sekunden, vorverarbeitet 2026-10-24]