Stop running 32-bit CI and release builds

This only affects Windows builds, as Linux builds are already
64-bit-only. I'm not aware of any current dependents of the 32-bit
release binaries.

32-bit Windows is well on its way to being unsupported: Windows 11 is
64-bit only, and Windows 10 Home and Pro only receive security updates
if you've opted into extended security updates (which I have). Steam's
survey puts Windows 10 32-bit usage at less than 0.05% of installs, and
Steam itself dropped support for 32-bit Windows today.

Given that, I don't think it's worth running 32-bit builds or producing
32-bit release binaries. I won't intentionally break libloot working on
32-bit Windows, but it might now happen without me noticing.
This commit is contained in:
Oliver Hamlet
2026-01-01 16:53:15 +00:00
parent 0d3ebdb73c
commit 1a2baede8d
2 changed files with 8 additions and 58 deletions
+3 -34
View File
@@ -64,9 +64,6 @@ jobs:
strategy:
matrix:
target:
- os: windows-2022
triple: i686-pc-windows-msvc
- os: windows-2022
triple: x86_64-pc-windows-msvc
@@ -96,10 +93,6 @@ jobs:
target/
key: ${{ github.job }}-${{ runner.os }}-${{ matrix.target.triple }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Rust i686-pc-windows-msvc target
run: rustup target add i686-pc-windows-msvc
if: matrix.target.triple == 'i686-pc-windows-msvc'
- name: Install cargo-llvm-cov
shell: bash
run: |
@@ -146,9 +139,6 @@ jobs:
strategy:
matrix:
target:
- os: windows-2022
triple: i686-pc-windows-msvc
- os: windows-2022
triple: x86_64-pc-windows-msvc
@@ -179,10 +169,6 @@ jobs:
target/
key: ${{ github.job }}-${{ runner.os }}-${{ matrix.target.triple }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Rust i686-pc-windows-msvc target
run: rustup target add i686-pc-windows-msvc
if: matrix.target.triple == 'i686-pc-windows-msvc'
- name: Set LIBLOOT_REVISION
shell: bash
run: echo "LIBLOOT_REVISION=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
@@ -212,10 +198,8 @@ jobs:
- name: Build the C++ wrapper (Windows)
working-directory: cpp
run: |
$platform = if ("${{ matrix.target.triple }}" -eq "i686-pc-windows-msvc") { "Win32" } else { "x64" }
cmake -G "Visual Studio 17 2022" `
-A "$platform" `
-A x64 `
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON `
-DCPACK_PACKAGE_VERSION="${{ steps.get-libloot-version.outputs.version }}" `
-DCPACK_THREADS=0 `
@@ -276,12 +260,7 @@ jobs:
if [[ "${{ runner.os }}" == "Windows" ]]
then
EXTENSION=7z
if [[ "${{ matrix.target.triple }}" == "i686-pc-windows-msvc" ]]
then
PLATFORM=win32
else
PLATFORM=win64
fi
PLATFORM=win64
else
EXTENSION=tar.xz
PLATFORM=Linux
@@ -335,10 +314,6 @@ jobs:
target/
key: ${{ github.job }}-${{ runner.os }}-${{ matrix.target.architecture }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Rust i686-pc-windows-msvc target
run: rustup target add i686-pc-windows-msvc
if: matrix.target.triple == 'i686-pc-windows-msvc'
- name: Set LIBLOOT_REVISION
shell: bash
run: echo "LIBLOOT_REVISION=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
@@ -395,10 +370,6 @@ jobs:
restore-keys: |
${{ runner.os }}-node-
- name: Install Rust i686-pc-windows-msvc target
run: rustup target add i686-pc-windows-msvc
if: matrix.target.triple == 'i686-pc-windows-msvc'
- name: Set LIBLOOT_REVISION
shell: bash
run: echo "LIBLOOT_REVISION=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
@@ -428,15 +399,13 @@ jobs:
- name: Merge lcov coverage reports
env:
coverage_windows_x86: ${{ needs.rust.outputs.coverage_windows_x86 }}
coverage_windows_x86_64: ${{ needs.rust.outputs.coverage_windows_x86_64 }}
coverage_linux_x86_64: ${{ needs.rust.outputs.coverage_linux_x86_64 }}
run: |
echo "$coverage_windows_x86" | base64 -d | xz -d > windows_x86.info
echo "$coverage_windows_x86_64" | base64 -d | xz -d > windows_x86_64.info
echo "$coverage_linux_x86_64" | base64 -d | xz -d > linux_x86_64.info
lcov -a windows_x86.info -a windows_x86_64.info -a linux_x86_64.info -o merged.info
lcov -a windows_x86_64.info -a linux_x86_64.info -o merged.info
echo '```' >> $GITHUB_STEP_SUMMARY
echo "$(lcov --summary merged.info)" >> $GITHUB_STEP_SUMMARY
+5 -24
View File
@@ -22,7 +22,7 @@ jobs:
run: |
RELEASE_TAG="${{ github.ref_name }}"
RELEASE_TITLE="libloot v$RELEASE_TAG"
RELEASE_NOTES="$(printf "Requires Windows 10 or later, the MSVC 2022 [x86](https://aka.ms/vs/17/release/vc_redist.x86.exe) or [x64](https://aka.ms/vs/17/release/vc_redist.x64.exe) redistributable for 32-bit and 64-bit builds respectively, and [7-Zip](http://www.7-zip.org/) to extract the archives.\n\n## Change Logs\n- [API](https://loot-api.readthedocs.io/en/latest/api/changelog.html)\n- [Metadata Syntax](https://loot-api.readthedocs.io/en/latest/metadata/changelog.html)")"
RELEASE_NOTES="$(printf "Requires Windows 10 or later, the MSVC 2022 [x64](https://aka.ms/vs/17/release/vc_redist.x64.exe) redistributable, and [7-Zip](http://www.7-zip.org/) to extract the archives.\n\n## Change Logs\n- [API](https://loot-api.readthedocs.io/en/latest/api/changelog.html)\n- [Metadata Syntax](https://loot-api.readthedocs.io/en/latest/metadata/changelog.html)")"
gh release create --draft --title "$RELEASE_TITLE" --notes "$RELEASE_NOTES" --verify-tag --repo "${{ github.repository }}" "$RELEASE_TAG"
@@ -33,12 +33,6 @@ jobs:
permissions:
contents: write
strategy:
matrix:
target:
- i686-pc-windows-msvc
- x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@v6
with:
@@ -53,11 +47,7 @@ jobs:
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ matrix.target }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Rust i686-pc-windows-msvc target
run: rustup target add i686-pc-windows-msvc
if: matrix.target == 'i686-pc-windows-msvc'
key: ${{ runner.os }}-x86_64-pc-windows-msvc-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Set LIBLOOT_REVISION
shell: bash
@@ -66,13 +56,11 @@ jobs:
- name: Run CMake
working-directory: cpp
run: |
$platform = if ("${{ matrix.target }}" -eq "i686-pc-windows-msvc") { "Win32" } else { "x64" }
cmake -G "Visual Studio 17 2022" `
-A "$platform" `
-A x64 `
-DCPACK_PACKAGE_VERSION="${{ github.ref_name }}" `
-DCPACK_THREADS=0 `
-DRUST_TARGET="${{ matrix.target }}" `
-DRUST_TARGET="x86_64-pc-windows-msvc" `
-B build
cmake --build build --parallel --config ${{ env.CMAKE_CONFIG }}
@@ -113,14 +101,7 @@ jobs:
run: |
cpack -C ${{ env.CMAKE_CONFIG }}
if [[ "${{ matrix.target }}" == "i686-pc-windows-msvc" ]]
then
PLATFORM=win32
else
PLATFORM=win64
fi
echo "filename=libloot-${{ github.ref_name }}-${PLATFORM}.7z" >> "$GITHUB_OUTPUT"
echo "filename=libloot-${{ github.ref_name }}-win64.7z" >> "$GITHUB_OUTPUT"
- name: Upload archive to GitHub Release
env: