diff --git a/.gitattributes b/.gitattributes index e0aa6c27648..480f95b594a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -35,10 +35,14 @@ *.png binary *.so binary -## Merger hooks, run tools/hooks/install.bat or install.sh to set up +## Merge hooks, run tools/hooks/install.bat or install.sh to set up *.dmm text eol=lf merge=dmm *.dmi binary merge=dmi +## TGUI bundle merge drivers +*.bundle.* binary merge=tgui-merge-bundle +*.chunk.* binary merge=tgui-merge-bundle + ## Force tab indents on dm files *.dm whitespace=indent-with-non-tab diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8270308d5f..6011bb93b94 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,6 +21,7 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 + - name: Setup Cache uses: actions/cache@v4 with: @@ -37,13 +38,19 @@ jobs: python-version: '3.11.6' cache: 'pip' + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'yarn' + cache-dependency-path: ./tgui/yarn.lock + - name: Install python packages run: pip3 install -r tools/requirements.txt - name: Run Linters run: | find . -name "*.json" -not -path "*/node_modules/*" -print0 | xargs -0 python3 ./tools/ci/json_verifier.py - tools/ci/build_tgui.sh + tgui/bin/tgui --ci tools/ci/check_grep.sh python3 tools/ci/check_line_endings.py python3 tools/ci/unticked_files.py ${GITHUB_WORKSPACE} diff --git a/_build_dependencies.sh b/_build_dependencies.sh index 6d27f81355c..a1292ad3e18 100644 --- a/_build_dependencies.sh +++ b/_build_dependencies.sh @@ -1,8 +1,8 @@ # This file has all the information on what versions of libraries are thrown into the code # For dreamchecker -export SPACEMANDMM_TAG=suite-1.8 +export SPACEMANDMM_TAG=suite-1.9 # For TGUI -export NODE_VERSION=18 +export NODE_VERSION=20 # Stable Byond Major export STABLE_BYOND_MAJOR=515 # Stable Byond Minor diff --git a/dreamchecker.exe b/dreamchecker.exe index 2fa602138fd..b1fbfc6c292 100644 Binary files a/dreamchecker.exe and b/dreamchecker.exe differ diff --git a/tools/ci/build_tgui.sh b/tools/ci/build_tgui.sh deleted file mode 100755 index ea75c01b4c4..00000000000 --- a/tools/ci/build_tgui.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -euo pipefail - -source _build_dependencies.sh - -source ~/.nvm/nvm.sh -nvm use $NODE_VERSION -cd tgui -bin/tgui --ci -cd .. diff --git a/tools/ci/install_build_deps.sh b/tools/ci/install_build_deps.sh index dff6bb4a0d9..a6a9e20fa18 100755 --- a/tools/ci/install_build_deps.sh +++ b/tools/ci/install_build_deps.sh @@ -3,8 +3,4 @@ set -euo pipefail source _build_dependencies.sh -source ~/.nvm/nvm.sh -nvm install $NODE_VERSION -nvm use $NODE_VERSION -npm install --global yarn - +# nothing to do here right now diff --git a/tools/hooks/Install.bat b/tools/hooks/Install.bat index 1bfc1b50d5c..1c8324e3f1d 100644 --- a/tools/hooks/Install.bat +++ b/tools/hooks/Install.bat @@ -1,2 +1,18 @@ @call "%~dp0\..\bootstrap\python" -m hooks.install %* -@pause +@echo off +set /p choice=Do you want to install TGUI hooks (requires Node.js)? (Y/N): + +if /i "%choice%"=="Y" ( + @echo off + rem Copyright (c) 2020 Aleksej Komarov + rem SPDX-License-Identifier: MIT + call powershell.exe -NoLogo -ExecutionPolicy Bypass -File "%~dp0\..\..\tgui\bin\tgui_.ps1" --install-git-hooks %* + rem Pause if launched in a separate shell unless initiated from powershell + echo %PSModulePath% | findstr %USERPROFILE% >NUL + if %errorlevel% equ 0 ( + pause + exit 0 + ) + echo %cmdcmdline% | find /i "/c" +) +pause diff --git a/tools/hooks/Uninstall.bat b/tools/hooks/Uninstall.bat index 862cbaf8bc4..66c02d3672d 100644 --- a/tools/hooks/Uninstall.bat +++ b/tools/hooks/Uninstall.bat @@ -1,2 +1,3 @@ @call "%~dp0\..\bootstrap\python" -m hooks.install --uninstall %* +git config --unset merge.tgui-merge-bundle.driver @pause