From b7c3d5f327725dfce113b958335200d816aa2b90 Mon Sep 17 00:00:00 2001 From: Raul-Sorin Sorban Date: Sat, 21 Oct 2023 21:51:52 +0200 Subject: [PATCH 01/13] Update edge-build.yml --- .github/workflows/edge-build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/edge-build.yml b/.github/workflows/edge-build.yml index 6860c02d1..edb80e1fb 100644 --- a/.github/workflows/edge-build.yml +++ b/.github/workflows/edge-build.yml @@ -71,8 +71,8 @@ jobs: shell: bash run: | export VERSION=${{ needs.bootstrap.outputs.version }} - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix . edge_build + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix . edge_build - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 @@ -109,8 +109,8 @@ jobs: shell: cmd run: | set VERSION=${{ needs.bootstrap.outputs.version }} - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug . edge_build + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal . edge_build - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 From a63af60735236c83c9cf48d4a66dddbcfeb124d9 Mon Sep 17 00:00:00 2001 From: raul Date: Sat, 21 Oct 2023 21:59:19 +0200 Subject: [PATCH 02/13] Linux build tag fix --- Tools/Build/linux/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/Build/linux/build.sh b/Tools/Build/linux/build.sh index 55224c7bb..65272b6c1 100755 --- a/Tools/Build/linux/build.sh +++ b/Tools/Build/linux/build.sh @@ -10,7 +10,7 @@ echo "** Get the base path of the script" BASE="$(cd -- "$(dirname "$0")" >/dev/null 2>&1; pwd -P)" ROOT="$(realpath "${BASE}/../../../")" -"${BASE}/publish_git.sh" +"${BASE}/publish_git.sh" ${3} TARGET=${1:-Debug} echo "** Set the build target config to ${TARGET}" From a2f70af20a8981a75e5c4a41936532bfa3d6516a Mon Sep 17 00:00:00 2001 From: raul Date: Sat, 21 Oct 2023 22:10:13 +0200 Subject: [PATCH 03/13] Git tag --- Tools/Build/linux/publish_git.sh | 9 +++++++-- Tools/Build/win/publish_git.bat | 2 -- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Tools/Build/linux/publish_git.sh b/Tools/Build/linux/publish_git.sh index 111ad4591..d1958c92d 100755 --- a/Tools/Build/linux/publish_git.sh +++ b/Tools/Build/linux/publish_git.sh @@ -41,8 +41,13 @@ echo "** Comment done." git log -1 --format="%ci" HEAD > .gitdate echo "** Date done." -git describe --tags > .gittag -echo "** Tag done." +if [ -z "$1" ]; then + git describe --tags > .gittag + echo "** Tag done." +else + echo "$1" > .gittag + echo "** Tag done." +fi git remote get-url origin > .giturl echo "** URL done." diff --git a/Tools/Build/win/publish_git.bat b/Tools/Build/win/publish_git.bat index 6572d5d29..a7c2cd425 100644 --- a/Tools/Build/win/publish_git.bat +++ b/Tools/Build/win/publish_git.bat @@ -47,8 +47,6 @@ if "%1" EQU "" ( echo ** Tag done. ) - - git remote get-url origin > .giturl echo ** URL done. From c0e881b2bc64ed689627aba6567f617217daf33a Mon Sep 17 00:00:00 2001 From: Raul-Sorin Sorban Date: Sat, 21 Oct 2023 22:10:49 +0200 Subject: [PATCH 04/13] Update edge-build.yml --- .github/workflows/edge-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/edge-build.yml b/.github/workflows/edge-build.yml index edb80e1fb..08724a897 100644 --- a/.github/workflows/edge-build.yml +++ b/.github/workflows/edge-build.yml @@ -71,8 +71,8 @@ jobs: shell: bash run: | export VERSION=${{ needs.bootstrap.outputs.version }} - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix . edge_build - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix . edge_build + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix "" "edge_build" + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix "" "edge_build" - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 From 0918de6c3ecda1e9758cc100dbd2a7c9cf9a5e5c Mon Sep 17 00:00:00 2001 From: Raul-Sorin Sorban Date: Sat, 21 Oct 2023 22:39:59 +0200 Subject: [PATCH 05/13] Fixed build tags across all branches --- .github/workflows/preview-build.yml | 8 ++++---- .github/workflows/production-build.yml | 8 ++++---- .github/workflows/rust-aux01-build.yml | 8 ++++---- .github/workflows/rust-aux02-build.yml | 8 ++++---- .github/workflows/rust-staging-build.yml | 8 ++++---- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/preview-build.yml b/.github/workflows/preview-build.yml index ab06347df..b3024bda2 100644 --- a/.github/workflows/preview-build.yml +++ b/.github/workflows/preview-build.yml @@ -83,8 +83,8 @@ jobs: shell: bash run: | export VERSION=${{ needs.bootstrap.outputs.version }} - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix "" "preview_build" + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix "" "preview_build" - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 @@ -129,8 +129,8 @@ jobs: shell: cmd run: | set VERSION=${{ needs.bootstrap.outputs.version }} - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug . preview_build + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal . preview_build - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 diff --git a/.github/workflows/production-build.yml b/.github/workflows/production-build.yml index a1862dfa3..d52bdebe8 100644 --- a/.github/workflows/production-build.yml +++ b/.github/workflows/production-build.yml @@ -76,8 +76,8 @@ jobs: shell: bash run: | export VERSION=${{ needs.bootstrap.outputs.version }} - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh ReleaseUnix - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh ReleaseUnix "" "production_build" + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix "" "production_build" - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 @@ -116,8 +116,8 @@ jobs: shell: cmd run: | set VERSION=${{ needs.bootstrap.outputs.version }} - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Release - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Release . production_build + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal . production_build - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 diff --git a/.github/workflows/rust-aux01-build.yml b/.github/workflows/rust-aux01-build.yml index 34be27fc5..77adf361e 100644 --- a/.github/workflows/rust-aux01-build.yml +++ b/.github/workflows/rust-aux01-build.yml @@ -80,8 +80,8 @@ jobs: shell: bash run: | export VERSION=${{ needs.bootstrap.outputs.version }} - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX01 - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX01 + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX01 "rustbeta_aux01" + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX01 "rustbeta_aux01" - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 @@ -125,8 +125,8 @@ jobs: shell: cmd run: | set VERSION=${{ needs.bootstrap.outputs.version }} - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX01 - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX01 + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX01 rustbeta_aux01 + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX01 rustbeta_aux01 - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 diff --git a/.github/workflows/rust-aux02-build.yml b/.github/workflows/rust-aux02-build.yml index b97e13c3a..8ddc26b71 100644 --- a/.github/workflows/rust-aux02-build.yml +++ b/.github/workflows/rust-aux02-build.yml @@ -80,8 +80,8 @@ jobs: shell: bash run: | export VERSION=${{ needs.bootstrap.outputs.version }} - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX02 - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX02 + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX02 "rustbeta_aux02" + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX02 "rustbeta_aux02" - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 @@ -125,8 +125,8 @@ jobs: shell: cmd run: | set VERSION=${{ needs.bootstrap.outputs.version }} - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX02 - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX02 + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX02 rustbeta_aux02 + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX02 rustbeta_aux02 - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 diff --git a/.github/workflows/rust-staging-build.yml b/.github/workflows/rust-staging-build.yml index ac1aa4ab1..439ca209d 100644 --- a/.github/workflows/rust-staging-build.yml +++ b/.github/workflows/rust-staging-build.yml @@ -80,8 +80,8 @@ jobs: shell: bash run: | export VERSION=${{ needs.bootstrap.outputs.version }} - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix STAGING - ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix STAGING + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix STAGING "rustbeta_staging" + ${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix STAGING "rustbeta_staging" - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 @@ -125,8 +125,8 @@ jobs: shell: cmd run: | set VERSION=${{ needs.bootstrap.outputs.version }} - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug STAGING - call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal STAGING + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug STAGING rustbeta_staging + call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal STAGING rustbeta_staging - name: ⬆️ Upload the artifacts uses: actions/upload-artifact@v3 From 3f07c6dcb4ee3f86fa6acaa54c5c66b1562a410c Mon Sep 17 00:00:00 2001 From: Raul-Sorin Sorban Date: Sat, 21 Oct 2023 22:47:02 +0200 Subject: [PATCH 06/13] Removed `branch-merge` as it's no longer used (merging is done locally) --- .github/workflows/branch-merge.yml | 62 ------------------------------ 1 file changed, 62 deletions(-) delete mode 100644 .github/workflows/branch-merge.yml diff --git a/.github/workflows/branch-merge.yml b/.github/workflows/branch-merge.yml deleted file mode 100644 index e0484f70b..000000000 --- a/.github/workflows/branch-merge.yml +++ /dev/null @@ -1,62 +0,0 @@ -### -### Copyright (c) 2023 Carbon Community -### All rights reserved -### -name: Branch Merge -concurrency: merge-process-exec - -on: - workflow_dispatch: - inputs: - source: - description: 'From branch' - required: true - default: 'develop' - type: choice - options: - - develop - - preview - - preproduction - - production - - rust_beta/aux01 - - rust_beta/aux02 - - rust_beta/staging - - target: - description: 'Target branch' - required: true - default: 'preview' - type: choice - options: - - develop - - preview - - preproduction - - production - - rust_beta/aux01 - - rust_beta/aux02 - - rust_beta/staging - -jobs: - merge: - name: 🔃 Merge branches - runs-on: ubuntu-latest - - steps: - - name: 🔗 Checkout source code from github - uses: actions/checkout@v3 - - - name: ⤵️ Merge ${{ inputs.source }} into ${{ inputs.target }} - Primary repo - uses: devmasx/merge-branch@master - with: - type: now - from_branch: ${{ inputs.source }} - target_branch: ${{ inputs.target }} - github_token: ${{ secrets.PAT_PUBLIC_REPO }} - message: | - Merge ${{ inputs.source }} into ${{ inputs.target }} - - - name: ⤵️ Merge ${{ inputs.source }} into ${{ inputs.target }} - Component repos - run: | - %GITHUB_WORKSPACE%\Tools\Build\branch_merge.bat ${{ inputs.source }} ${{ inputs.target }} - env: - GIT_AUTH_TOKEN: ${{ secrets.PAT_PUBLIC_REPO }} From 938e79549793358181b178688cc4ff44530eed42 Mon Sep 17 00:00:00 2001 From: raul Date: Sat, 21 Oct 2023 22:51:36 +0200 Subject: [PATCH 07/13] Bootstrap++ --- Carbon.Core/Carbon.Components/Carbon.Bootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Carbon.Core/Carbon.Components/Carbon.Bootstrap b/Carbon.Core/Carbon.Components/Carbon.Bootstrap index 128ce665b..4774a6bf8 160000 --- a/Carbon.Core/Carbon.Components/Carbon.Bootstrap +++ b/Carbon.Core/Carbon.Components/Carbon.Bootstrap @@ -1 +1 @@ -Subproject commit 128ce665b2736cdff7cb71ceb2769d7f2217f3a7 +Subproject commit 4774a6bf8a4f72a0f2aca4d0503a1f3215861246 From 01e38e71d52d81a54e143fea1fb54dd2ec86cafe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Br=C3=A1zio?= Date: Sat, 21 Oct 2023 23:55:17 +0100 Subject: [PATCH 08/13] Update environment.sh --- Tools/Helpers/environment.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Tools/Helpers/environment.sh b/Tools/Helpers/environment.sh index 0d8154527..185dc54a5 100755 --- a/Tools/Helpers/environment.sh +++ b/Tools/Helpers/environment.sh @@ -6,16 +6,16 @@ ### # Get the directory of the executable -SCRIPT=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -BASEDIR=$(realpath "${SCRIPT}/../../") +CARBONENV_SCRIPT=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +CARBONENV_BASEDIR=$(realpath "${CARBONENV_SCRIPT}/../../") # Docker workaround export TERM=xterm # Prepare unity doorstop export DOORSTOP_ENABLED=1 -export DOORSTOP_TARGET_ASSEMBLY="${BASEDIR}/carbon/managed/Carbon.Preloader.dll" +export DOORSTOP_TARGET_ASSEMBLY="${CARBONENV_BASEDIR}/carbon/managed/Carbon.Preloader.dll" # Prepare the environment -export LD_PRELOAD="${BASEDIR}/libdoorstop.so" -export LD_LIBRARY_PATH="${BASEDIR}:${BASEDIR}/RustDedicated_Data/Plugins/x86_64" \ No newline at end of file +export LD_PRELOAD="${CARBONENV_BASEDIR}/libdoorstop.so" +export LD_LIBRARY_PATH="${CARBONENV_BASEDIR}:${CARBONENV_BASEDIR}/RustDedicated_Data/Plugins/x86_64" From 58db7ac416f0e572db1cf4641ac2790901c394ec Mon Sep 17 00:00:00 2001 From: raul Date: Sun, 22 Oct 2023 02:15:50 +0200 Subject: [PATCH 09/13] Submodules++ --- Carbon.Core/Carbon.Components/Carbon.Common | 2 +- Carbon.Core/Carbon.Components/Carbon.Modules | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Carbon.Core/Carbon.Components/Carbon.Common b/Carbon.Core/Carbon.Components/Carbon.Common index 3175f4030..4f364d16e 160000 --- a/Carbon.Core/Carbon.Components/Carbon.Common +++ b/Carbon.Core/Carbon.Components/Carbon.Common @@ -1 +1 @@ -Subproject commit 3175f40309b0cf9fd74787208b6632d1f8ea018a +Subproject commit 4f364d16ecea07ed209edd5f6596e76ebdd811ce diff --git a/Carbon.Core/Carbon.Components/Carbon.Modules b/Carbon.Core/Carbon.Components/Carbon.Modules index 1179e8fe6..e4fbd6aa3 160000 --- a/Carbon.Core/Carbon.Components/Carbon.Modules +++ b/Carbon.Core/Carbon.Components/Carbon.Modules @@ -1 +1 @@ -Subproject commit 1179e8fe672a861aa32e47a368b5c7e401991077 +Subproject commit e4fbd6aa370094f84966c68a12c87a2193e3f977 From 509a80d2a2aca0258a2a44f2a9f4de43a1d5ae1a Mon Sep 17 00:00:00 2001 From: raul Date: Sun, 22 Oct 2023 19:35:06 +0200 Subject: [PATCH 10/13] Modules folder --- Carbon.Core/Carbon.Components/Carbon.Modules | 2 +- Carbon.Core/Carbon.Core.sln | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Carbon.Core/Carbon.Components/Carbon.Modules b/Carbon.Core/Carbon.Components/Carbon.Modules index e4fbd6aa3..0946aacfd 160000 --- a/Carbon.Core/Carbon.Components/Carbon.Modules +++ b/Carbon.Core/Carbon.Components/Carbon.Modules @@ -1 +1 @@ -Subproject commit e4fbd6aa370094f84966c68a12c87a2193e3f977 +Subproject commit 0946aacfd397f57ae9698bce2936939798134f76 diff --git a/Carbon.Core/Carbon.Core.sln b/Carbon.Core/Carbon.Core.sln index cbc1a3f9d..7d33fd409 100644 --- a/Carbon.Core/Carbon.Core.sln +++ b/Carbon.Core/Carbon.Core.sln @@ -21,7 +21,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Carbon.Components", "Carbon EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Carbon.Compat", "Carbon.Components\Carbon.Compat\Carbon.Compat.csproj", "{30B4B72A-9E9A-422D-9FDE-98DDD677B1AE}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Carbon.Modules", "Carbon.Components\Carbon.Modules\Carbon.Modules\Carbon.Modules.csproj", "{8FF370BD-7F23-4E47-8757-7197305E555D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Carbon.Modules", "Carbon.Components\Carbon.Modules\Carbon.Modules.csproj", "{8FF370BD-7F23-4E47-8757-7197305E555D}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Carbon.Hooks", "Carbon.Hooks", "{F89EDA47-1AE3-4F86-9F6D-578BB3E307E8}" EndProject From 28d73b7a668e34fb72bdc180347f95070e5e3ecf Mon Sep 17 00:00:00 2001 From: raul Date: Sun, 22 Oct 2023 19:42:12 +0200 Subject: [PATCH 11/13] Bootstrap git update --- Tools/Build/linux/bootstrap.sh | 4 ++-- Tools/Build/win/bootstrap.bat | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Tools/Build/linux/bootstrap.sh b/Tools/Build/linux/bootstrap.sh index f9c060433..cbccafe1d 100755 --- a/Tools/Build/linux/bootstrap.sh +++ b/Tools/Build/linux/bootstrap.sh @@ -28,9 +28,9 @@ echo Handling component submodules.. for TOOL in Carbon.Core/Carbon.Components/Carbon.Bootstrap Carbon.Core/Carbon.Components/Carbon.Common Carbon.Core/Carbon.Components/Carbon.Compat Carbon.Core/Carbon.Components/Carbon.Modules Carbon.Core/Carbon.Components/Carbon.Preloader Carbon.Core/Carbon.Components/Carbon.SDK Carbon.Core/Carbon.Extensions/Carbon.Ext.Discord Carbon.Core/Carbon.Hooks/Carbon.Hooks.Base Carbon.Core/Carbon.Hooks/Carbon.Hooks.Oxide Carbon.Core/Carbon.Hooks/Carbon.Hooks.Community; do echo Updating ${TOOL} cd ${ROOT}/${TOOL} - git clean -fd > /dev/null git checkout ${CURRENT_BRANCH} > /dev/null - git pull . ${CURRENT_BRANCH} > /dev/null + git fetch > /dev/null + git pull > /dev/null echo done. done echo Finished - handling component submodules. diff --git a/Tools/Build/win/bootstrap.bat b/Tools/Build/win/bootstrap.bat index dc76ffefa..3615e5c1a 100644 --- a/Tools/Build/win/bootstrap.bat +++ b/Tools/Build/win/bootstrap.bat @@ -30,9 +30,9 @@ echo * Handling component submodules.. FOR %%P IN (Carbon.Core/Carbon.Components/Carbon.Bootstrap Carbon.Core/Carbon.Components/Carbon.Common Carbon.Core/Carbon.Components/Carbon.Common.Client Carbon.Core/Carbon.Components/Carbon.Compat Carbon.Core/Carbon.Components/Carbon.Modules Carbon.Core/Carbon.Components/Carbon.Preloader Carbon.Core/Carbon.Components/Carbon.SDK Carbon.Core/Carbon.Extensions/Carbon.Ext.Discord Carbon.Core/Carbon.Hooks/Carbon.Hooks.Base Carbon.Core/Carbon.Hooks/Carbon.Hooks.Oxide Carbon.Core/Carbon.Hooks/Carbon.Hooks.Community) DO ( echo ** Updating '%%P' cd %BOOTSTRAP_ROOT%/%%P - git clean -fd > NUL - git pull . %CURRENT_BRANCH% > NUL git checkout %CURRENT_BRANCH% > NUL + git fetch > NUL + git pull > NUL echo done. ) echo * Finished - handling component submodules. From 9bd4cbec4c61626b9eeb3620d516a44abea7cb48 Mon Sep 17 00:00:00 2001 From: raul Date: Sun, 22 Oct 2023 21:45:44 +0200 Subject: [PATCH 12/13] Stopwatch hook time tracking implementation --- Carbon.Core/Carbon.Components/Carbon.Common | 2 +- .../Carbon/src/Hooks/HookCallerInternal.cs | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Carbon.Core/Carbon.Components/Carbon.Common b/Carbon.Core/Carbon.Components/Carbon.Common index 4f364d16e..ea718a1eb 160000 --- a/Carbon.Core/Carbon.Components/Carbon.Common +++ b/Carbon.Core/Carbon.Components/Carbon.Common @@ -1 +1 @@ -Subproject commit 4f364d16ecea07ed209edd5f6596e76ebdd811ce +Subproject commit ea718a1eb8810f776505ee800055d75f2add30a3 diff --git a/Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs b/Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs index 4b9cc590a..ffc68d190 100644 --- a/Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs +++ b/Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs @@ -24,7 +24,7 @@ public class HookCallerInternal : HookCallerCommon { internal static List _conflictCache = new(10); - public override void AppendHookTime(uint hook, int time) + public override void AppendHookTime(uint hook, double time) { if(!_hookTimeBuffer.ContainsKey(hook)) { @@ -265,7 +265,6 @@ object DoCall(CachedHook hook) Profiler.StartHookCall(hookable, hookId); #endif - var beforeTicks = Environment.TickCount; var result2 = (object)default; hookable.TrackStart(); var beforeMemory = hookable.TotalMemoryUsed; @@ -273,31 +272,30 @@ object DoCall(CachedHook hook) result2 = hook.Method.Invoke(hookable, args); hookable.TrackEnd(); - var afterTicks = Environment.TickCount; - var totalTicks = afterTicks - beforeTicks; + var afterHookTime = hookable.CurrentHookTime; var afterMemory = hookable.TotalMemoryUsed; var totalMemory = afterMemory - beforeMemory; - AppendHookTime(hookId, totalTicks); + AppendHookTime(hookId, afterHookTime); if (hook != null) { - hook.HookTime += totalTicks; + hook.HookTime += afterHookTime; hook.MemoryUsage += totalMemory; } - if (afterTicks > beforeTicks + 100 && afterTicks > beforeTicks) + if (afterHookTime > 100) { if (hookable is Plugin basePlugin && !basePlugin.IsCorePlugin) { var readableHook = HookStringPool.GetOrAdd(hookId); - Carbon.Logger.Warn($" {hookable.Name} hook '{readableHook}' took longer than 100ms [{totalTicks:0}ms]{(hookable.HasGCCollected ? " [GC]" : string.Empty)}"); + Carbon.Logger.Warn($" {hookable.Name} hook '{readableHook}' took longer than 100ms [{afterHookTime:0}ms]{(hookable.HasGCCollected ? " [GC]" : string.Empty)}"); Community.Runtime.Analytics.LogEvent("plugin_time_warn", segments: Community.Runtime.Analytics.Segments, metrics: new Dictionary { { "name", $"{readableHook} ({basePlugin.Name} v{basePlugin.Version} by {basePlugin.Author})" }, - { "time", $"{totalTicks.RoundUpToNearestCount(50)}ms" }, + { "time", $"{afterHookTime.RoundUpToNearestCount(50)}ms" }, { "memory", $"{ByteEx.Format(totalMemory, shortName: true).ToLower()}" }, { "hasgc", hookable.HasGCCollected } }); From c860f16e606d8cda279bae877872a4112ebb4999 Mon Sep 17 00:00:00 2001 From: raul Date: Sun, 22 Oct 2023 23:06:47 +0200 Subject: [PATCH 13/13] Removed all instances of `Environment.TickCount` and replaced it with our instanced Stopwatch --- Carbon.Core/Carbon.Components/Carbon.Bootstrap | 2 +- Carbon.Core/Carbon.Components/Carbon.Common | 2 +- Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs | 14 ++++++-------- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Carbon.Core/Carbon.Components/Carbon.Bootstrap b/Carbon.Core/Carbon.Components/Carbon.Bootstrap index 4774a6bf8..0378db8e3 160000 --- a/Carbon.Core/Carbon.Components/Carbon.Bootstrap +++ b/Carbon.Core/Carbon.Components/Carbon.Bootstrap @@ -1 +1 @@ -Subproject commit 4774a6bf8a4f72a0f2aca4d0503a1f3215861246 +Subproject commit 0378db8e3f84b918b3712cce051105d940c608fd diff --git a/Carbon.Core/Carbon.Components/Carbon.Common b/Carbon.Core/Carbon.Components/Carbon.Common index ea718a1eb..aa5fd13ec 160000 --- a/Carbon.Core/Carbon.Components/Carbon.Common +++ b/Carbon.Core/Carbon.Components/Carbon.Common @@ -1 +1 @@ -Subproject commit ea718a1eb8810f776505ee800055d75f2add30a3 +Subproject commit aa5fd13ece51f878f6ac182909b5e94470bd934c diff --git a/Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs b/Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs index ffc68d190..3775fa21c 100644 --- a/Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs +++ b/Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs @@ -153,7 +153,6 @@ public override object CallHook(T hookable, uint hookId, BindingFlags flags, Profiler.StartHookCall(hookable, hookId); #endif - var beforeTicks = Environment.TickCount; hookable.TrackStart(); var beforeMemory = hookable.TotalMemoryUsed; @@ -167,34 +166,33 @@ public override object CallHook(T hookable, uint hookId, BindingFlags flags, } hookable.TrackEnd(); - var afterTicks = Environment.TickCount; + var afterHookTime = hookable.CurrentHookTime; var afterMemory = hookable.TotalMemoryUsed; - var totalTicks = afterTicks - beforeTicks; var totalMemory = afterMemory - beforeMemory; #if DEBUG Profiler.EndHookCall(hookable); #endif - AppendHookTime(hookId, totalTicks); + AppendHookTime(hookId, afterHookTime); if (cachedHook != null) { - cachedHook.HookTime += totalTicks; + cachedHook.HookTime += afterHookTime; cachedHook.MemoryUsage += totalMemory; } - if (afterTicks > beforeTicks + 100 && afterTicks > beforeTicks) + if (afterHookTime > 100) { if (hookable is Plugin basePlugin && !basePlugin.IsCorePlugin) { - Carbon.Logger.Warn($" {hookable.Name} hook '{readableHook}' took longer than 100ms [{totalTicks:0}ms]{(hookable.HasGCCollected ? " [GC]" : string.Empty)}"); + Carbon.Logger.Warn($" {hookable.Name} hook '{readableHook}' took longer than 100ms [{afterHookTime:0}ms]{(hookable.HasGCCollected ? " [GC]" : string.Empty)}"); Community.Runtime.Analytics.LogEvent("plugin_time_warn", segments: Community.Runtime.Analytics.Segments, metrics: new Dictionary { { "name", $"{readableHook} ({basePlugin.Name} v{basePlugin.Version} by {basePlugin.Author})" }, - { "time", $"{totalTicks.RoundUpToNearestCount(50)}ms" }, + { "time", $"{afterHookTime.RoundUpToNearestCount(50)}ms" }, { "memory", $"{ByteEx.Format(totalMemory, shortName: true).ToLower()}" }, { "hasgc", hookable.HasGCCollected } });