[internal] do not UPX compress the appstore executables

* UPX compressing exes makes it impossible to reference the PDB when debugging
  which means that, ever since we switched to using the MSVC executables for
  both standalone and appstore in 4adfa4f37e3879b215f54f52231851caeff42912 the
  appstore dumps we get on crashes have become basically unusable for debug :(
* We therefore revert to producing non UPX compressed executable for MSVC by
  default, so that we can resume investigating appstore crashes on next release.
* At the same time, on release builds, we add new UPX compressed executables to
  the GitHub Actions artifacts.
* Also update actions/checkout to v6 and close #2868.
This commit is contained in:
Pete Batard 2025-11-25 12:18:23 +00:00
parent 6a7fb939d5
commit a8c745d2a9
No known key found for this signature in database
GPG Key ID: 38E0CF5E69EDD671
7 changed files with 28 additions and 15 deletions

View File

@ -41,7 +41,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v5 uses: actions/checkout@v6
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v4 uses: github/codeql-action/init@v4

View File

@ -28,7 +28,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v5 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: recursive submodules: recursive

View File

@ -54,7 +54,7 @@ jobs:
upx upx
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v5 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: recursive submodules: recursive

View File

@ -19,7 +19,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v5 uses: actions/checkout@v6
- name: Add MSBuild to PATH - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2 uses: microsoft/setup-msbuild@v2

View File

@ -40,7 +40,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v5 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: recursive submodules: recursive
@ -55,6 +55,15 @@ jobs:
with: with:
install-only: true install-only: true
- name: Set version
id: set_version
shell: bash
run: |
version=$(git describe --tags)
version=${version:1}
version=${version%%-*}
echo "version=$version" >> $GITHUB_OUTPUT
- name: Set ALPHA - name: Set ALPHA
id: set_alpha id: set_alpha
shell: bash shell: bash
@ -81,10 +90,6 @@ jobs:
move .\${{ matrix.TARGET_PLATFORM }}\Release\rufus.exe .\rufus_${{ matrix.TARGET_PLATFORM }}.exe move .\${{ matrix.TARGET_PLATFORM }}\Release\rufus.exe .\rufus_${{ matrix.TARGET_PLATFORM }}.exe
move .\${{ matrix.TARGET_PLATFORM }}\Release\rufus.pdb .\rufus_${{ matrix.TARGET_PLATFORM }}.pdb move .\${{ matrix.TARGET_PLATFORM }}\Release\rufus.pdb .\rufus_${{ matrix.TARGET_PLATFORM }}.pdb
- name: Compress executables
if: ${{ matrix.TARGET_PLATFORM != 'arm64' }}
run: upx --lzma --best rufus_${{ matrix.TARGET_PLATFORM }}.exe
- name: Prepare to sign ALPHA - name: Prepare to sign ALPHA
if: ${{ !startsWith(github.ref, 'refs/tags/') }} if: ${{ !startsWith(github.ref, 'refs/tags/') }}
shell: bash shell: bash
@ -102,6 +107,14 @@ jobs:
signtool sign /v /f sign.pfx /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 rufus_${{ matrix.TARGET_PLATFORM }}.exe signtool sign /v /f sign.pfx /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 rufus_${{ matrix.TARGET_PLATFORM }}.exe
del sign.pfx del sign.pfx
- name: Create standalone release executables
if: ${{ startsWith(github.ref, 'refs/tags/') }}
shell: cmd
run: |
copy rufus_${{ matrix.TARGET_PLATFORM }}.exe rufus-${{ steps.set_version.outputs.version }}_${{ matrix.TARGET_PLATFORM }}.exe
if exist rufus-${{ steps.set_version.outputs.version }}_x64.exe ( ren rufus-${{ steps.set_version.outputs.version }}_x64.exe rufus-${{ steps.set_version.outputs.version }}.exe )
if not ${{ matrix.TARGET_PLATFORM }}==arm64 ( upx --lzma --best rufus-*.exe )
- name: Display SHA-256 - name: Display SHA-256
run: sha256sum ./rufus_${{ matrix.TARGET_PLATFORM }}.exe run: sha256sum ./rufus_${{ matrix.TARGET_PLATFORM }}.exe

View File

@ -2199,7 +2199,7 @@ static BOOL IsRevokedBySbat(uint8_t* buf, uint32_t len)
continue; continue;
for (j = 0; sbat_entries[j].product != NULL; j++) { for (j = 0; sbat_entries[j].product != NULL; j++) {
if (strcmp(entry.product, sbat_entries[j].product) == 0 && entry.version < sbat_entries[j].version) { if (strcmp(entry.product, sbat_entries[j].product) == 0 && entry.version < sbat_entries[j].version) {
uprintf(" SBAT version for '%s' (%d) is lower than required minimum SBAT version (%d)!", uprintf(" SBAT version for '%s' (%d) is lower than the current minimum SBAT version (%d)!",
entry.product, entry.version, sbat_entries[j].version); entry.product, entry.version, sbat_entries[j].version);
return TRUE; return TRUE;
} }

View File

@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 232, 326 IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 4.12.2297" CAPTION "Rufus 4.12.2298"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0 FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@ -408,8 +408,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,12,2297,0 FILEVERSION 4,12,2298,0
PRODUCTVERSION 4,12,2297,0 PRODUCTVERSION 4,12,2298,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -427,13 +427,13 @@ BEGIN
VALUE "Comments", "https://rufus.ie" VALUE "Comments", "https://rufus.ie"
VALUE "CompanyName", "Akeo Consulting" VALUE "CompanyName", "Akeo Consulting"
VALUE "FileDescription", "Rufus" VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "4.12.2297" VALUE "FileVersion", "4.12.2298"
VALUE "InternalName", "Rufus" VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2025 Pete Batard (GPL v3)" VALUE "LegalCopyright", "© 2011-2025 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
VALUE "OriginalFilename", "rufus-4.12.exe" VALUE "OriginalFilename", "rufus-4.12.exe"
VALUE "ProductName", "Rufus" VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "4.12.2297" VALUE "ProductVersion", "4.12.2298"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"