10 Commits
Author SHA1 Message Date
BloopandGitHub 84f88f5897 Updates the bun version to 1.3.5 (#94549)
## About The Pull Request

Turns out the version we are using has a memory segmentation issue that
has been fixed in later versions.

https://github.com/oven-sh/bun/issues/23240

For server ops: remember to update your PreCompile.sh

## Why It's Good For The Game

Improved stability, probably fixes some CI flakiness

## Changelog

🆑
server: updates bun version to 1.3.5, and adds automated validation for
tgs
/🆑
2025-12-21 16:00:50 -08:00
LucyandGitHub a8080697dc the default linux PreCompile.sh now copies .so files instead of moving them (#91990)
## About The Pull Request

by changing the `mv` commands in the `PreCompile.sh` preset for rust-g
and dreamluau to `cp -f`, we can avoid having to re-link the so files
every compile if nothing has changed, meaning that this step is
practically instant if the rust-g and compiler versions were the same as
last time.

tested downstream and this does not seem to cause any issues in
production

## Why It's Good For The Game

Improves compile times.

## Changelog

no player-facing changes
2025-07-06 22:48:23 -06:00
RoxyandGitHub e19d799f8e Fix PreCompile.sh (#91916)
## About The Pull Request


https://github.com/tgstation/tgstation/commit/e095efe04414556523d2e9910feee6b1a2fabaf1
changed build.js to build.ts but didn't update `PreCompile.sh`

## Why It's Good For The Game

Fixo

## Changelog

No
2025-06-30 12:55:04 -07:00
RoxyandGitHub c9cece85c2 Move unzip install to InstallDeps.sh (#91785)
## About The Pull Request

Move the line to install `unzip` from `PreCompile.sh` to
`InstallDeps.sh` so it only runs if you're actually missing unzip, and
gives a warning that you'll need to install it manually if it fails to
passwordless sudo install it

## Why It's Good For The Game


![image](https://github.com/user-attachments/assets/22feeb16-17d2-4343-956b-859034568975)
Deployments are now failing if your TGS system user isn't root because
it's trying to install this every time with no sudo, `InstallDeps.sh` is
a more appropriate place for it

## Changelog
🆑
server: TGS deployments should no longer fail to install unzip
/🆑
2025-06-23 14:38:14 -07:00
JeremiahandGitHub e1c3946591 [tgui] Replaces node with bun (#91359)
## About The Pull Request
Swaps out node & yarn in favor of [bun](https://bun.sh/)

![image](https://github.com/user-attachments/assets/3df68cdf-98ed-477b-a9b6-5072d0de27ed)

sub tasks
- [x] add bun setup script
- [x] fix tgui-dev-server (bun glob is different)
- [x] set juke to run bun
- [x] remove all yarn stuff 
- [x] convert all tests from vitest to bun 
- [x] fight with CI/tgs

## Why It's Good For The Game
Yarn has served us over the years as our package manager but the method
it bundles dependencies has lead to issues and setbacks, notably needing
to wait on rspack support, but more recently in trying to switch to
biome
1. I can add in packages that do not need these workarounds, like god
intended
2. We won't need to [keep around
sdks](https://yarnpkg.com/getting-started/editor-sdks) which rely on
yarn to even publish
3. We're not committing the yarn cache or .pnp file, which kind of
defeats the purpose
4. Native typescript support and testing
5. Because it'd be cool

## Caveats
Rspack was throwing errors on TGS while doing this. I needed to switch
back to webpack/swc, which seems to work flawlessly. It was too tiring
for anyone involved to debug and this was the simplest route. It adds a
completely negligible amount of time to build. It might even resolve
some issues elsewhere.

Making this switch extends that very first setup time! I'm working on
cutting it down, but as of right now, it takes about 80 seconds just for
TGUI to download all the packages. Afterwards, it's the same.
## Changelog
2025-06-17 09:03:23 +12:00
orangesandGitHub 50db91835e Add dreamluau to the tgs precompile (#85624)
There's no SO bundled we need to build it for campbell
2024-08-07 13:06:37 +12:00
Kyle Spier-SwensonandGitHub af6406d5ed Disable rust version checking in tgs precompile.sh hook (#81319)
Updates tgs/precompile.sh hook to match what is deployed on campbell.

rust-lang/cargo#12654 has set a policy of setting this to be the latest
version-2, which kills any kind of signal this could have ever had.

cargo's subcrates like `home` are used in almost any complex rust
package, so this basically sets the tone for all packages and all crates
published after October 8th.

A min compiler version should be based on an actual need to use a
specific compiler version because of specific features that version has
or bugs that version doesn't have. This is signal. Setting to some
evergreen value as a matter of course is not signal, its noise.

I will not subject myself nor our downstreams to such nonsense.
2024-02-08 14:00:18 +01:00
Jordan DominionandGitHub 8258bc3c86 Removes a workaround for a fixed TGS bug (#77828)
Did I not PR this already?
2023-08-22 10:22:56 -06:00
san7890andGitHub 3d7c9a0dae Bumps rust-g to 3.0.0 (#76663)
## About The Pull Request

You can read more about what's introduced in the last four versions
here:

https://github.com/tgstation/rust-g/releases

The immediate effects for us are as follows:
Closes #76549
Closes #76514
Closes #76502
Closes #76490
Closes #76398
Closes #76798
Closes #76921
Closes #76934
Closes #76950

the updates to install rust_g.sh were to cut down on the copypasta code
and prevent desyncs.

🆑
code: The currently operating rust-g version on a live server is posted
to places like the runtime.log, in the same place where the revision
information and any applicable test merges already were.
/🆑
2023-07-27 00:53:54 -04:00
182a958af6 Update some TGS stuff (#73414)
- Make names version independent
- Version .yml file (Will I write the code to ever use it, who tf
knows?)
- Add WatchdogLaunch.sh to .yml
- Remove defunct PreSynchronize script.
- Cargo isn't needed in WatchdogLaunch
- Why are we running apt outside of the if?
- grep was only needed for the LinuxOneShot (old tool)
- Bring common code into one file

TODO:
- [x] Test this shit

- Added a test app, ran locally, verified the scripts work, added it to
CI

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
2023-02-21 15:49:16 -08:00