0
0
mirror of https://github.com/lz4/lz4 synced 2026-01-18 17:21:30 +01:00
Files
lz4/appveyor.yml
Yann Collet c42731ece6 Optimize AppVeyor CI: Remove Visual Studio builds (moved to GitHub Actions)
- Reduces AppVeyor build matrix from 6 to 3 jobs (50% reduction)
- Eliminates redundant Visual Studio testing (now handled by faster GitHub Actions)
- Focuses AppVeyor on unique MinGW testing (GCC + Clang on Windows)
- Reduces lines from 107 to 87 (19% shorter)
- Significantly reduces CI time by leveraging faster GitHub Actions for VS builds

AppVeyor now handles:
- MinGW GCC builds (mingw32, mingw64)
- MinGW Clang builds (mingw64)

GitHub Actions continues to handle:
- Visual Studio builds (Win32, x64)
- Extensive Linux compiler matrix
- Cross-platform compatibility testing
2025-05-26 05:29:25 +00:00

87 lines
2.9 KiB
YAML

version: 1.0.{build}
# Test matrix: MinGW compilers only (Visual Studio testing moved to GitHub Actions)
environment:
matrix:
- COMPILER: gcc
PLATFORM: mingw32
- COMPILER: gcc
PLATFORM: mingw64
- COMPILER: clang
PLATFORM: mingw64
install:
- echo Installing %COMPILER% %PLATFORM%
- mkdir bin
# Setup MinGW environment
- set "PATH_MINGW32=c:\MinGW\bin;c:\MinGW\usr\bin"
- set "PATH_MINGW64=c:\msys64\mingw64\bin;c:\msys64\usr\bin"
- copy C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe >nul 2>&1
- copy C:\MinGW\bin\gcc.exe C:\MinGW\bin\cc.exe >nul 2>&1
build_script:
- echo "*** Building %COMPILER% %PLATFORM% ***"
# Configure PATH for MinGW builds
- if [%PLATFORM%]==[mingw32] set PATH=%PATH_MINGW32%;%PATH%
- if [%PLATFORM%]==[mingw64] set PATH=%PATH_MINGW64%;%PATH%
# GCC Build
- if [%COMPILER%]==[gcc] (
echo "GCC build started" &&
gcc -v &&
make -v &&
make -j -C programs lz4 V=1 &&
make -j -C tests fullbench V=1 &&
make -j -C tests fuzzer V=1 &&
make -j -C lib lib V=1 &&
echo "Packaging GCC build..." &&
mkdir bin\dll bin\static bin\example bin\include &&
copy tests\fullbench.c bin\example\ &&
copy lib\xxhash.* bin\example\ &&
copy lib\lz4*.h bin\include\ &&
copy lib\liblz4.a bin\static\liblz4_static.lib &&
copy lib\liblz4.dll* bin\dll\ >nul 2>&1 &&
copy lib\dll\example\* bin\example\ >nul 2>&1 &&
copy programs\lz4.exe bin\lz4.exe &&
copy tests\*.exe programs\
)
# Clang Build
- if [%COMPILER%]==[clang] (
echo "Clang build started" &&
clang -v &&
make -v &&
set "CFLAGS=--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion" &&
make -j -C programs lz4 CC=clang V=1 &&
make -j -C tests fullbench CC=clang V=1 &&
make -j -C tests fuzzer CC=clang V=1 &&
make -j -C lib lib CC=clang V=1 &&
copy tests\*.exe programs\
)
# Create release archives (GCC only)
- if [%COMPILER%]==[gcc] if [%PLATFORM%]==[mingw64] 7z.exe a -bb1 bin\lz4_x64.zip NEWS .\bin\lz4.exe README.md .\bin\example .\bin\dll .\bin\static .\bin\include
- if [%COMPILER%]==[gcc] if [%PLATFORM%]==[mingw64] appveyor PushArtifact bin\lz4_x64.zip
- if [%COMPILER%]==[gcc] if [%PLATFORM%]==[mingw32] 7z.exe a -bb1 bin\lz4_x86.zip NEWS .\bin\lz4.exe README.md .\bin\example .\bin\dll .\bin\static .\bin\include
- if [%COMPILER%]==[gcc] if [%PLATFORM%]==[mingw32] appveyor PushArtifact bin\lz4_x86.zip
test_script:
- echo "*** Testing %COMPILER% %PLATFORM% ***"
- cd programs
- lz4 -h
- lz4 -i1b lz4.exe
- lz4 -i1b5 lz4.exe
- lz4 -i1b10 lz4.exe
- lz4 -i1b15 lz4.exe
- echo "------- lz4 tested -------"
- fullbench.exe -i0 fullbench.exe
- echo "Launching fuzzer test..."
- fuzzer.exe -v -T20s
- cd ..
artifacts:
- path: bin\lz4_x64.zip
name: LZ4 Windows x64 Build
- path: bin\lz4_x86.zip
name: LZ4 Windows x86 Build