mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* Modernizes TGUI (#4219) * Ports the first two PRs. CBT works local * tchussi oops * linttobuild * Update Dockerfile for CBT (#56175) Follow-up to fix the failing Docker CI on master. - Reorganize the entire Dockerfile to be more readable - Inline the tgstation/byond Dockerfile into our own, so we can change the base distro at will - Also allows us to trash the dependencies.sh<->Dockerfile hack - Use 32-bit libs on a 64-bit distro so that we can download and run recent 64-bit Node binaries - Call tools/build/build rather than DreamMaker directly * TGUI 43 plus hotfix 1 * https://github.com/tgstation/tgstation/pull/58701 * https://github.com/tgstation/tgstation/pull/56223 * https://github.com/tgstation/tgstation/pull/56229 * https://github.com/tgstation/tgstation/pull/56713 * https://github.com/tgstation/tgstation/pull/56797 * https://github.com/tgstation/tgstation/pull/57081/ * https://github.com/tgstation/tgstation/pull/57154 * https://github.com/tgstation/tgstation/pull/57251 * https://github.com/tgstation/tgstation/pull/56269 * https://github.com/tgstation/tgstation/pull/57277 * https://github.com/tgstation/tgstation/pull/57287 * https://github.com/tgstation/tgstation/pull/57326 * QF * GimmeHopeUpdateExtra_Pr_Labels * Flush queue in preloading part of tgui_panel (#57432) * Flush queue in preloading part of tgui_panel * Update tgui_panel.dm * Compiles * https://github.com/tgstation/tgstation/pull/57461 * tgui: Upgrade to Yarn 2.4.1 and TypeScript 4.2 (#57465) * Fix tgui reloading (#57499) * Add note about rust-g for building on Linux (#57622) This PR adds a minor note about needing to compile rust-g to Linux building instructions. I'm not sure if this is the appropriate place for it, but I don't see a better place to put it. * Fixes build script failing properly on windows. (#57623) * Adds easy to extend custom svg font. (#57717) Just throw in svgs into tgui/packages/tgfont/icons directory and you can use them in tgui with tg- prefix. Co-authored-by: Style Mistake <stylemistake@gmail.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> * Typescript fixups. (#57746) * Improve tgui routing to allow interface subdirectories (#57825) * Improve tgui routing to allow interface subdirectories * Reverse order of interface file resolution, to be consistent with common expectation (top-level .tsx, top-level .js, directory .tsx, directory.js) and the way Webpack checks * Fixes TGS compiles on windows. (#57834) Batch quotes strike again. * tgui: ESLint and VSCode settings improvements (#57905) Added column 80 rulers to all javascript and scss files. Added a "prettier" config to have sensible defaults for those who prefer to use it. Added RadarJS (fork of SonarQube's SonarJS). Launchable only via bin/tgui --lint-harder for now. Disabled ESLint rule for parens around arrow function arguments, because in TypeScript they're pretty much always required, and I don't want to replace it throughout the codebase. Removed unused javascript extensions from tooling (jsx, mjs). * https://github.com/tgstation/tgstation/pull/57931 * https://github.com/tgstation/tgstation/pull/58061 * https://github.com/tgstation/tgstation/pull/58081 * https://github.com/tgstation/tgstation/pull/58212 * https://github.com/tgstation/tgstation/pull/58215 * https://github.com/tgstation/tgstation/pull/58219 * Add "Except DM" build mode to build.js (#58245) * https://github.com/tgstation/tgstation/pull/58484 * FixBaconFabandPodLauncher * haharunlintmanuallyfirstkids * One last fab change then its perf * f5willwork * This May Do it * prune * Fix Docker build failing on a clean checkout (#56190) Follow-up to #56175 which turned out to be accidentally relying on Node already being downloaded. * Huh? Rebuild you better be a fluke * getinthere * Syncretize * Revert "Syncretize" This reverts commit 41749b68868d2af1b82de9ba6de39cf8052dd1ee. * zzzz * quick path change * another quick * Correct Dockerfile, bloats it with GCC lol. * small * back2oldfile I HATE DOCKER I HATE EXTOOLS * firstthingnotdonelol * yuabzn * v * reverttoclassic * Difffffffffff * prec1s * ccc * ok * bitte * jesus im dum * z * Nuke Window resizable and improve drag code (#56727) * comp Co-authored-by: Tad Hardesty <tad@platymuus.com> Co-authored-by: Aleksej Komarov <stylemistake@gmail.com> Co-authored-by: Cyprex <35031555+Cyprex@users.noreply.github.com> Co-authored-by: AnturK <AnturK@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Mordent <62817778+mordent-goonstation@users.noreply.github.com> Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com> * thanks yarn! * Update Panel.js * compiles * restores exosuit * chmod * Update travis_config.txt * honk * honk2 * Update turdis.yml * Update ExosuitFabricator.js * Revert "Update turdis.yml" This reverts commit7517df56e5. * Revert "Update ExosuitFabricator.js" This reverts commitac31fa4543. * wtf is this * lol * Update tgui.dm Co-authored-by: Sinestia <40812746+Sinestia@users.noreply.github.com> Co-authored-by: Tad Hardesty <tad@platymuus.com> Co-authored-by: Aleksej Komarov <stylemistake@gmail.com> Co-authored-by: Cyprex <35031555+Cyprex@users.noreply.github.com> Co-authored-by: AnturK <AnturK@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Mordent <62817778+mordent-goonstation@users.noreply.github.com> Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com> Co-authored-by: Jamie D <993128+JamieD1@users.noreply.github.com>
96 lines
2.6 KiB
Python
96 lines
2.6 KiB
Python
#!/usr/bin/env python
|
|
|
|
import subprocess
|
|
import os
|
|
import sys
|
|
import argparse
|
|
import time
|
|
from subprocess import PIPE, STDOUT
|
|
|
|
null = open("/dev/null", "wb")
|
|
|
|
def wait(p):
|
|
rc = p.wait()
|
|
if rc != 0:
|
|
p = play("sound/misc/compiler-failure.ogg")
|
|
p.wait()
|
|
assert p.returncode == 0
|
|
sys.exit(rc)
|
|
|
|
def play(soundfile):
|
|
p = subprocess.Popen(["play", soundfile], stdout=null, stderr=null)
|
|
assert p.wait() == 0
|
|
return p
|
|
|
|
def stage1():
|
|
p = subprocess.Popen("(cd tgui; /bin/bash ./build.sh)", shell=True)
|
|
wait(p)
|
|
play("sound/misc/compiler-stage1.ogg")
|
|
|
|
def stage2(map):
|
|
if map:
|
|
txt = "-M{}".format(map)
|
|
else:
|
|
txt = ''
|
|
args = "bash tools/travis/dm.sh {} yogstation.dme".format(txt)
|
|
print(args)
|
|
p = subprocess.Popen(args, shell=True)
|
|
wait(p)
|
|
|
|
def stage3(profile_mode=False):
|
|
start_time = time.time()
|
|
play("sound/misc/compiler-stage2.ogg")
|
|
logfile = open('server.log~','w')
|
|
p = subprocess.Popen(
|
|
"DreamDaemon yogstation.dmb 25001 -trusted",
|
|
shell=True, stdout=PIPE, stderr=STDOUT)
|
|
try:
|
|
while p.returncode is None:
|
|
stdout = p.stdout.readline()
|
|
if "Initializations complete" in stdout:
|
|
play("sound/misc/server-ready.ogg")
|
|
time_taken = time.time() - start_time
|
|
print("{} seconds taken to fully start".format(time_taken))
|
|
if "Map is ready." in stdout:
|
|
time_taken = time.time() - start_time
|
|
print("{} seconds for initial map loading".format(time_taken))
|
|
if profile_mode:
|
|
return time_taken
|
|
sys.stdout.write(stdout)
|
|
sys.stdout.flush()
|
|
logfile.write(stdout)
|
|
finally:
|
|
logfile.flush()
|
|
os.fsync(logfile.fileno())
|
|
logfile.close()
|
|
p.kill()
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('-s','---stage',default=1,type=int)
|
|
parser.add_argument('--only',action='store_true')
|
|
parser.add_argument('-m','--map',type=str)
|
|
parser.add_argument('--profile-mode',action='store_true')
|
|
args = parser.parse_args()
|
|
stage = args.stage
|
|
assert stage in (1,2,3)
|
|
if stage == 1:
|
|
stage1()
|
|
if not args.only:
|
|
stage = 2
|
|
if stage == 2:
|
|
stage2(args.map)
|
|
if not args.only:
|
|
stage = 3
|
|
if stage == 3:
|
|
value = stage3(profile_mode=args.profile_mode)
|
|
with open('profile~', 'a') as f:
|
|
f.write("{}\n".format(value))
|
|
|
|
if __name__=='__main__':
|
|
try:
|
|
main()
|
|
except KeyboardInterrupt:
|
|
pass
|