mirror of
https://github.com/Nezumi-2711/winrar-keygen.git
synced 2026-09-22 05:41:48 +00:00
🔧 Fix automated builds
This commit is contained in:
+111
-19
@@ -1,20 +1,39 @@
|
|||||||
name: Build All Platforms
|
name: Build All Platforms
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
windows_x64:
|
||||||
|
description: 'Build Windows x64'
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
windows_x86:
|
||||||
|
description: 'Build Windows x86'
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
windows_arm64:
|
||||||
|
description: 'Build Windows ARM64'
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
linux_x64:
|
||||||
|
description: 'Build Linux x64'
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
linux_arm64:
|
||||||
|
description: 'Build Linux ARM64'
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
macos_arm64:
|
||||||
|
description: 'Build macOS ARM64'
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# --- Windows builds (MSBuild + vcpkg) ---
|
# --- Windows x64 build (MSBuild + vcpkg) ---
|
||||||
windows:
|
windows-x64:
|
||||||
strategy:
|
if: ${{ inputs.windows_x64 }}
|
||||||
matrix:
|
name: Windows x64
|
||||||
include:
|
|
||||||
- platform: x64
|
|
||||||
artifact: winrar-keygen-x64
|
|
||||||
- platform: Win32
|
|
||||||
artifact: winrar-keygen-x86
|
|
||||||
- platform: ARM64
|
|
||||||
artifact: winrar-keygen-arm64
|
|
||||||
name: Windows ${{ matrix.platform }}
|
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.2
|
- uses: actions/checkout@v6.0.2
|
||||||
@@ -22,29 +41,100 @@ jobs:
|
|||||||
- name: Setup vcpkg
|
- name: Setup vcpkg
|
||||||
uses: lukka/run-vcpkg@v11
|
uses: lukka/run-vcpkg@v11
|
||||||
with:
|
with:
|
||||||
vcpkgGitCommitId: 'a34c873a9717a888f58dc05268dea15592c2f0ff'
|
vcpkgGitCommitId: 'c3867e714dd3a51c272826eea77267876517ed99'
|
||||||
|
|
||||||
|
- name: Integrate vcpkg
|
||||||
|
run: vcpkg integrate install
|
||||||
|
|
||||||
- name: Setup MSBuild
|
- name: Setup MSBuild
|
||||||
uses: microsoft/setup-msbuild@v2
|
uses: microsoft/setup-msbuild@v2
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
msbuild winrar-keygen.sln /p:Configuration=Release /p:Platform=${{ matrix.platform }} /p:VcpkgEnableManifest=true
|
msbuild winrar-keygen.vcxproj /p:Configuration=Release /p:Platform=x64 /p:VcpkgEnableManifest=true
|
||||||
|
|
||||||
- name: Prepare artifact
|
- name: Prepare artifact
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
$src = "bin/${{ matrix.platform }}-Release/winrar-keygen.exe"
|
Copy-Item "bin/x64-Release/winrar-keygen.exe" "winrar-keygen-x64.exe"
|
||||||
Copy-Item $src "${{ matrix.artifact }}.exe"
|
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v6.0.0
|
uses: actions/upload-artifact@v6.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.artifact }}
|
name: winrar-keygen-x64
|
||||||
path: ${{ matrix.artifact }}.exe
|
path: winrar-keygen-x64.exe
|
||||||
|
|
||||||
|
# --- Windows x86 build (MSBuild + vcpkg) ---
|
||||||
|
windows-x86:
|
||||||
|
if: ${{ inputs.windows_x86 }}
|
||||||
|
name: Windows x86
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
|
- name: Setup vcpkg
|
||||||
|
uses: lukka/run-vcpkg@v11
|
||||||
|
with:
|
||||||
|
vcpkgGitCommitId: 'c3867e714dd3a51c272826eea77267876517ed99'
|
||||||
|
|
||||||
|
- name: Integrate vcpkg
|
||||||
|
run: vcpkg integrate install
|
||||||
|
|
||||||
|
- name: Setup MSBuild
|
||||||
|
uses: microsoft/setup-msbuild@v2
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
msbuild winrar-keygen.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:VcpkgEnableManifest=true
|
||||||
|
|
||||||
|
- name: Prepare artifact
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
Copy-Item "bin/Win32-Release/winrar-keygen.exe" "winrar-keygen-x86.exe"
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v6.0.0
|
||||||
|
with:
|
||||||
|
name: winrar-keygen-x86
|
||||||
|
path: winrar-keygen-x86.exe
|
||||||
|
|
||||||
|
# --- Windows ARM64 build (MSBuild + vcpkg) ---
|
||||||
|
windows-arm64:
|
||||||
|
if: ${{ inputs.windows_arm64 }}
|
||||||
|
name: Windows ARM64
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
|
- name: Setup vcpkg
|
||||||
|
uses: lukka/run-vcpkg@v11
|
||||||
|
with:
|
||||||
|
vcpkgGitCommitId: 'c3867e714dd3a51c272826eea77267876517ed99'
|
||||||
|
|
||||||
|
- name: Integrate vcpkg
|
||||||
|
run: vcpkg integrate install
|
||||||
|
|
||||||
|
- name: Setup MSBuild
|
||||||
|
uses: microsoft/setup-msbuild@v2
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
msbuild winrar-keygen.vcxproj /p:Configuration=Release /p:Platform=ARM64 /p:VcpkgEnableManifest=true
|
||||||
|
|
||||||
|
- name: Prepare artifact
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
Copy-Item "bin/ARM64-Release/winrar-keygen.exe" "winrar-keygen-arm64.exe"
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v6.0.0
|
||||||
|
with:
|
||||||
|
name: winrar-keygen-arm64
|
||||||
|
path: winrar-keygen-arm64.exe
|
||||||
|
|
||||||
# --- Linux x64 build (CMake) ---
|
# --- Linux x64 build (CMake) ---
|
||||||
linux-x64:
|
linux-x64:
|
||||||
|
if: ${{ inputs.linux_x64 }}
|
||||||
name: Linux x64
|
name: Linux x64
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@@ -74,6 +164,7 @@ jobs:
|
|||||||
|
|
||||||
# --- Linux ARM64 build (native runner) ---
|
# --- Linux ARM64 build (native runner) ---
|
||||||
linux-arm64:
|
linux-arm64:
|
||||||
|
if: ${{ inputs.linux_arm64 }}
|
||||||
name: Linux ARM64
|
name: Linux ARM64
|
||||||
runs-on: ubuntu-24.04-arm
|
runs-on: ubuntu-24.04-arm
|
||||||
steps:
|
steps:
|
||||||
@@ -103,13 +194,14 @@ jobs:
|
|||||||
|
|
||||||
# --- macOS ARM64 build (CMake) ---
|
# --- macOS ARM64 build (CMake) ---
|
||||||
macos:
|
macos:
|
||||||
|
if: ${{ inputs.macos_arm64 }}
|
||||||
name: macOS ARM64
|
name: macOS ARM64
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.2
|
- uses: actions/checkout@v6.0.2
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: brew install gmp
|
run: brew list gmp &>/dev/null || brew install gmp
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
+4
-4
@@ -51,7 +51,7 @@ public:
|
|||||||
__FieldTraits::Load(_Val, pbBuffer, cbBuffer);
|
__FieldTraits::Load(_Val, pbBuffer, cbBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename __Dummy = std::enable_if<BitSizeValue <= sizeof(uintptr_t) * 8>::type>
|
template<bool _Cond = (BitSizeValue <= sizeof(uintptr_t) * 8), std::enable_if_t<_Cond, int> = 0>
|
||||||
GaloisField(GaloisFieldInitByDump, uintptr_t SerializedValue) {
|
GaloisField(GaloisFieldInitByDump, uintptr_t SerializedValue) {
|
||||||
__FieldTraits::Load(_Val, SerializedValue);
|
__FieldTraits::Load(_Val, SerializedValue);
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,7 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename __Dummy = std::enable_if<BitSizeValue <= sizeof(uintptr_t) * 8>::type>
|
template<bool _Cond = (BitSizeValue <= sizeof(uintptr_t) * 8), std::enable_if_t<_Cond, int> = 0>
|
||||||
GaloisField<__FieldTraits>& operator=(uintptr_t SerializedValue) {
|
GaloisField<__FieldTraits>& operator=(uintptr_t SerializedValue) {
|
||||||
__FieldTraits::Load(_Val, SerializedValue);
|
__FieldTraits::Load(_Val, SerializedValue);
|
||||||
return *this;
|
return *this;
|
||||||
@@ -194,7 +194,7 @@ public:
|
|||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename __Dummy = std::enable_if<BitSizeValue <= sizeof(uintptr_t) * 8>::type>
|
template<bool _Cond = (BitSizeValue <= sizeof(uintptr_t) * 8), std::enable_if_t<_Cond, int> = 0>
|
||||||
uintptr_t Dump() const noexcept {
|
uintptr_t Dump() const noexcept {
|
||||||
return __FieldTraits::Dump(_Val);
|
return __FieldTraits::Dump(_Val);
|
||||||
}
|
}
|
||||||
@@ -207,7 +207,7 @@ public:
|
|||||||
return __FieldTraits::Dump(_Val);
|
return __FieldTraits::Dump(_Val);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename __Dummy = std::enable_if<BitSizeValue <= sizeof(uintptr_t) * 8>::type>
|
template<bool _Cond = (BitSizeValue <= sizeof(uintptr_t) * 8), std::enable_if_t<_Cond, int> = 0>
|
||||||
GaloisField<__FieldTraits>& Load(uintptr_t SerializedValue) {
|
GaloisField<__FieldTraits>& Load(uintptr_t SerializedValue) {
|
||||||
__FieldTraits::Load(_Val, SerializedValue);
|
__FieldTraits::Load(_Val, SerializedValue);
|
||||||
return *this;
|
return *this;
|
||||||
|
|||||||
@@ -149,6 +149,7 @@
|
|||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
@@ -184,6 +185,7 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
|||||||
Reference in New Issue
Block a user