mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-01-03 16:13:36 +08:00
feat(Actions): Improve CI compile times (#921)
This commit is contained in:
parent
99c9d94400
commit
9cb030f502
18
.github/workflows/ci.yml
vendored
18
.github/workflows/ci.yml
vendored
@ -12,9 +12,6 @@ jobs:
|
|||||||
- name: Check CMake version
|
- name: Check CMake version
|
||||||
run: cmake --version
|
run: cmake --version
|
||||||
|
|
||||||
- name: Add msbuild to PATH
|
|
||||||
uses: microsoft/setup-msbuild@v1
|
|
||||||
|
|
||||||
- name: Cache build/
|
- name: Cache build/
|
||||||
id: cache-build
|
id: cache-build
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
@ -22,23 +19,28 @@ jobs:
|
|||||||
path: build
|
path: build
|
||||||
key: ${{ runner.os }}-build
|
key: ${{ runner.os }}-build
|
||||||
|
|
||||||
|
- name: Setup MSVC environment
|
||||||
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
with:
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
- name: Generate CMake project
|
- name: Generate CMake project
|
||||||
run: cmake -S. -Bbuild -G "Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES=Release
|
run: cmake -D CMAKE_BUILD_TYPE=Release -S. -Bbuild -G Ninja
|
||||||
|
|
||||||
- name: Build 64bit release DLL
|
- name: Build 64bit release DLL
|
||||||
run: cmake --build build --config Release --target ALL_BUILD
|
run: cmake --build ./build --config Release --target YimMenu --
|
||||||
|
|
||||||
- name: Check if DLL got built
|
- name: Check if DLL got built
|
||||||
run: if (-Not (Test-Path -path "build/Release/YimMenu.dll")) {throw 1}
|
run: if (-Not (Test-Path -path "build/YimMenu.dll")) {throw 1}
|
||||||
|
|
||||||
- name: Rename DLL to YimMenu-dev-{GITHUB_SHA}.dll
|
- name: Rename DLL to YimMenu-dev-{GITHUB_SHA}.dll
|
||||||
run: |
|
run: |
|
||||||
del YimMenu-dev-*.dll
|
del YimMenu-dev-*.dll
|
||||||
ren YimMenu.dll YimMenu-dev-${{github.sha}}.dll
|
ren YimMenu.dll YimMenu-dev-${{github.sha}}.dll
|
||||||
working-directory: build/Release/
|
working-directory: build/
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: binary
|
name: binary
|
||||||
path: build/Release/YimMenu-dev-*.dll
|
path: build/YimMenu-dev-*.dll
|
||||||
|
44
.github/workflows/nightly.yml
vendored
44
.github/workflows/nightly.yml
vendored
@ -21,20 +21,22 @@ jobs:
|
|||||||
- name: Check CMake version
|
- name: Check CMake version
|
||||||
run: cmake --version
|
run: cmake --version
|
||||||
|
|
||||||
- name: Add msbuild to PATH
|
- name: Setup MSVC environment
|
||||||
uses: microsoft/setup-msbuild@v1
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
with:
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
- name: Generate CMake project
|
- name: Generate CMake project
|
||||||
run: cmake -S. -Bbuild -G "Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES=Release
|
run: cmake -D CMAKE_BUILD_TYPE=Release -S. -Bbuild -G Ninja
|
||||||
|
|
||||||
- name: Build 64bit release DLL
|
- name: Build 64bit release DLL
|
||||||
run: cmake --build build --config Release --target ALL_BUILD
|
run: cmake --build ./build --config Release --target YimMenu --
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: binary
|
name: binary
|
||||||
path: build/Release/YimMenu.dll
|
path: build/YimMenu.dll
|
||||||
|
|
||||||
- name: Generate Build Info
|
- name: Generate Build Info
|
||||||
id: var
|
id: var
|
||||||
@ -42,33 +44,6 @@ jobs:
|
|||||||
echo "full_sha=$(git rev-parse HEAD)" >> $env:GITHUB_OUTPUT
|
echo "full_sha=$(git rev-parse HEAD)" >> $env:GITHUB_OUTPUT
|
||||||
echo "short_sha=$(git rev-parse --short HEAD)" >> $env:GITHUB_OUTPUT
|
echo "short_sha=$(git rev-parse --short HEAD)" >> $env:GITHUB_OUTPUT
|
||||||
|
|
||||||
check_detections:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: Check for detections in Binary and notify if necesarry
|
|
||||||
needs: build_nightly
|
|
||||||
steps:
|
|
||||||
- name: Download Artifact
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: binary
|
|
||||||
|
|
||||||
- name: Test file for detected bits
|
|
||||||
id: detections
|
|
||||||
uses: yimura/gtav-sigscan-action@v0.0.3
|
|
||||||
with:
|
|
||||||
file: ./YimMenu.dll
|
|
||||||
|
|
||||||
- name: Notify on Discord
|
|
||||||
if: ${{ steps.detections.outputs.is_detected == 'true' }}
|
|
||||||
uses: tsickert/discord-webhook@v5.3.0
|
|
||||||
with:
|
|
||||||
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
|
|
||||||
embed-title: YimMenu has been detected by the sigscanner!
|
|
||||||
embed-description: |
|
|
||||||
The following bits have been detected:
|
|
||||||
```yml
|
|
||||||
${{ steps.detections.outputs.detected_string }}
|
|
||||||
```
|
|
||||||
check_date:
|
check_date:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: Check latest commit
|
name: Check latest commit
|
||||||
@ -125,12 +100,11 @@ jobs:
|
|||||||
```
|
```
|
||||||
To verify the build SHA256 during the action, click the build link, go-to "Create Release", open the Echo build sha256 step and read the sha256.
|
To verify the build SHA256 during the action, click the build link, go-to "Create Release", open the Echo build sha256 step and read the sha256.
|
||||||
|
|
||||||
Compare this build hash with one that you generated yourself from the build artifacts.
|
You can download the build artifacts, generate a SHA256 checksum and compare it with the below binary.
|
||||||
Alternatively you can download the build artifacts, generate a SHA256 checksum and compare it with the below binary.
|
|
||||||
Build artifacts ARE NOT automatically the same as release assets since release assets can be modified afterwards.
|
Build artifacts ARE NOT automatically the same as release assets since release assets can be modified afterwards.
|
||||||
|
|
||||||
These are nightly builds of YimMenu, they are provided for testing purposes only:
|
These are nightly builds of YimMenu, they are provided for testing purposes only:
|
||||||
- Test if your build environment produces a broken BigBaseV2.dll
|
- Test if your build environment produces a broken YimMenu.dll
|
||||||
- Test if source code is out of date and no longer compatible with the current version of GTA V
|
- Test if source code is out of date and no longer compatible with the current version of GTA V
|
||||||
|
|
||||||
If you wish to use this menu as-is you are on your own, no warranty is provided.
|
If you wish to use this menu as-is you are on your own, no warranty is provided.
|
||||||
|
@ -40,16 +40,19 @@ namespace big
|
|||||||
{
|
{
|
||||||
rage::scrNativeHandler handler = it->second;
|
rage::scrNativeHandler handler = it->second;
|
||||||
|
|
||||||
__try
|
[this, hash, handler]
|
||||||
{
|
{
|
||||||
_call_asm(&m_call_context, handler, g_pointers->m_native_return);
|
__try
|
||||||
// handler(&m_call_context);
|
{
|
||||||
g_pointers->m_fix_vectors(&m_call_context);
|
_call_asm(&m_call_context, handler, g_pointers->m_native_return);
|
||||||
}
|
// handler(&m_call_context);
|
||||||
__except (EXCEPTION_EXECUTE_HANDLER)
|
g_pointers->m_fix_vectors(&m_call_context);
|
||||||
{
|
}
|
||||||
[hash]() { LOG(WARNING) << "Exception caught while trying to call " << hash << " native."; }();
|
__except (EXCEPTION_EXECUTE_HANDLER)
|
||||||
}
|
{
|
||||||
|
[hash]() { LOG(WARNING) << "Exception caught while trying to call " << hash << " native."; }();
|
||||||
|
}
|
||||||
|
}();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -14,7 +14,7 @@ namespace big
|
|||||||
|
|
||||||
navigation_struct* gui_service::get_selected()
|
navigation_struct* gui_service::get_selected()
|
||||||
{
|
{
|
||||||
navigation_struct tab_none = { "", nullptr };
|
static navigation_struct tab_none = { "", nullptr };
|
||||||
if (current_tab.empty() || current_tab.at(0) == tabs::NONE)
|
if (current_tab.empty() || current_tab.at(0) == tabs::NONE)
|
||||||
return &tab_none;
|
return &tab_none;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user