32 Commits

Author SHA1 Message Date
Mark Street 0a41ddbc1d Ubuntu 24.04 (#1448)
* Switch to Ubuntu 24.04

* Hack for libtinfo5

* remove deprecated 'version:' from docker-compose

* Mount /sys as read-only for dosemu2

* Workaround for psyq+dosemu2

* disable apparmor

* Ignore font-config error

* FIXME -> NOTE
2025-02-10 10:01:41 +00:00
Mark Street c364a685ad Allow quotes for n64 egcs (#1407)
* Replace 'docker-compose' with 'docker compose'

* Use 'printf' approach to COMPILER_FLAGS for n64 egcs compiler

* Use 'ubuntu-22.04' instead of 'ubuntu-latest'
2025-01-21 14:32:30 +00:00
Mark Street 716477cef2 Try creating 'Temp' dir for wine (#1316)
* Try creating 'Temp' dir for wine

* Trying again...

* mount order matters...

* black
2024-08-06 07:40:13 +01:00
Robin Lambertz e1c33d47d3 Support libraries in decomp.me (#843)
* Add script to download libraries, and download directx

* Add libraries endpoint

* Allow compiling with a library

* Add new libraries tab in frontend

* Add libraries support in CI

* Better look for the libraries

* Give pretty names to libraries

* Move Libraries to live under CompilerOpts

* typechecking hackery

* Make libraries trigger autorecomp and set the unsaved flag

* Fix libraryVersions

* Add new libraries download script to CI, docker and docs

---------

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-09-30 14:54:40 +09:00
Simon Lindholm 8aa4fe151c Accept malformed UTF-8 in compiler output (#731)
Untested. See https://docs.python.org/3/library/io.html#io.TextIOWrapper for the allowed values of `errors`.
2023-04-10 10:25:00 +09:00
LLONSIT 538d7117f9 5.3 C++ (#706)
* 5.3 c++

* black

* tmp

* Update sandbox.py

* mount /tmp as bindmout

* Update sandbox.py
2023-03-22 11:08:55 +09:00
Luciano Ciccariello 8a5de1d2f0 Add PSY-Q 3.5 and PSY-Q 3.6 compilers for PlayStation 1 (#651)
* Download PSY-Q 3.x compilers

* Add PSY-Q 3.3 and PSY-Q 3.6 PlayStation 1 compilers

* Remove gcc2.6.3-mipsel for good

* Actually install compilers

* Clean-up psyq-msdos folder after downloading it

* Map /proc to allow dosemu2 to run

* Allow to compile with PSY-Q 3.6

* Remove debugging stuff

* Add PSY-Q 3.5 and remove 3.3

* Let ASPSX to be quiet

* Completely replace PSY-Q 3.3 with 3.5

* Modify Castlevania preset

* Add migration from gcc2.6.3-mipsel to psyq3.6

* clean-up

* Typo

* Install DOSEMU in the CI

* Group ENABLE_PS1_SUPPORT set-up

* fix migration script

* Unset the HOME directory globally

* New line

* undo more auto-formatting

* Remove unnecessary comment

* fix

* More autoformatting shenanigans

* Try to fix CI pipeline

* Fix download script

* lint

* lint

* Fix dosemu setup

* Speed-up PSYQ MSDOS compiler

* debugging stuff for the tests

this commit will be reverted

* testing sandbox thingie

* Revert "debugging stuff for the tests"

This reverts commit 6d026b9214c0bc111c20a95b7d1c26e343e9edf9.

* Trimming down what Sandbox mounts

* Mount all /dev but read only
2023-02-24 21:40:31 +09:00
ConorB 906aa4a8a8 Switch timeout mechanism to subprocess.run (#659)
* Switch to subprocess.run for timeouts

* [experiment] Set CI TIMEOUT_SCALE_FACTOR to 1

* supress parameterized.expand error in event of no compilers, change TIMEOUT_SCALE_FACTOR in CI to 2

* Exempt dummy compilers from nsjail bind mounts, disable nsjail time limits

* Don't run timeout test on windows

* Decouple test_compiler_timeout's timeout from global timeout settings, reset TIMEOUT_SCALE_FACTOR to 10

* Have DummyLongRunningCompiler subclass DummyCompiler

* Have a timeout of zero disable timeouts entirely

* Skip test_zero_timeout on windows

* black

Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
2023-01-21 03:04:27 +09:00
Ethan Roseman 6d4b9b1b0a A few things (#656)
* A few things:
Make logs more brief by hiding the PATH from compile commands
Hopefully prevent the frontend server from making tons of anonymous profiles
Add a scroll bar to the problems window
Restore the old look of ScoreBadge

* black
2023-01-10 22:04:57 +09:00
Max Thomas 7c800fcdb5 Fix incorrect line numbers on NDS MWCC (#505)
* Turn off msg_show_realref to force #line to work on NDS MWCC

* Interleave stdout and stderr for sandbox run

* fix formatting

* feedback

* formatting
2022-08-11 17:19:38 +09:00
Ethan Roseman 191e6d2bc7 Beginning wibo migration + test stuff (#502)
* Beginning wibo migration + test stuff

* go back and make sure docker is installed after purging everything for wine...
2022-08-09 06:46:19 +09:00
Mark Street 0569c48e95 Add nginx to docker-compose + revert to Ubuntu 20.04 (#501) 2022-08-09 01:11:27 +09:00
Ethan Roseman 91131f9b4d Revert "Replace wine with wibo (#484)"
This reverts commit e67c36d5a7.
2022-07-29 11:41:20 -04:00
Ethan Roseman e67c36d5a7 Replace wine with wibo (#484)
* Remove wine from the project and reference WiBo

* Install wibo in ci, readme update

* Update Docker instance to Ubuntu 22.04 (#485)

* wibo 0.1.1

* remove unnecessary build args

* wibo 0.2.1

* wibo 0.2.1 in Dockerfile

Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
2022-07-23 11:59:30 -04:00
Ethan Roseman f50b3c32b8 disallow_untyped_defs for mypy (#477)
* Make mypy happy

* failing tests

* working

* use consistent annotation format

* remove comments
2022-07-03 23:43:59 +09:00
Ethan Roseman 1e435c3ed3 More proper diff_label fix with a test (#475)
* More proper diff_label fix with a test

* 'fix' mypy

* suggestions

* fix type checking for lru_cache

* Return type annotation for Sandbox __enter__

* thanks comment

* remove unnecessary part of test

* remove test
2022-06-12 21:03:24 +09:00
Ethan Roseman bd18249024 fix wine 2022-06-12 02:00:15 +09:00
Ethan Roseman ee3b613a92 Warning filtering & mount /dev/null in sandbox (#446)
* filter string fix

* mount /dev/null in sandbox
2022-04-26 22:42:41 +09:00
Ethan Roseman 6b1ee90acd Compiler/platform refactor (#396)
* foyst

* clang & agbcc

* more

* wii/gc

* more

* fix

* more

* references

* fixes

* CI fix

* nabbed em

* gcc2.7.2kmc

* meowp

* Tweak Dockerfile + other bits (#398)

* Tweak Dockerfile + other bits

* Capitalise

* Enable/disable compiler downloads via Environment variables

* appease black

* migration

* flags / presets in Compiler

* fixed tests

* /compilers

* mypy cheese

* upd8s

* name

* frontend goodness

* i18n

* cleaners

Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
Co-authored-by: Mark Street <streetster@gmail.com>
2022-03-14 02:33:19 +09:00
Ethan Roseman dbff445ffa Fix docker (#325)
* fix docker host

* nevermind lol

This reverts commit 6213ae530035d3534167d94ba01b9173708ee345.

* use relative urls

* fix some other issues

* better sandbox exception catching

* fix imports

Co-authored-by: Alex Bates <16batesa@gmail.com>
2022-01-26 01:02:08 +09:00
Ethan Roseman b7bbed4b39 New test for compiling very large files + sandbox rlimit adjustment (#258)
* New test for compiling very large files + sandbox rlimit adjustment

* mypy and rlimit_cpu
2021-12-29 16:03:35 +09:00
Ethan Roseman f929174399 Dummy compiler + better error handling and reporting (#246)
* Initial work on dummy compiler + better exception / error stuff

* mypy

* Add more dummy functionality, fix some error handling, and organize views

* Imports, suggestion

* force include the dummy compiler

* attempt to fix issues

* Fix docker?

* undo dumb

* suggestion

* sugg2

* Turn off sandbox on winders

* oops

* PR suggestions, a new test, cleanup

* mypy

* Front-end dummy compiler, logging fix

* new prod option that removes dummy

* Cleanup, fixes

* cleanup

* more cleanin

* PROD -> DUMMY_COMPILER, move dummy config out of fs

* DJANGO_LOG_LEVEL as environ setting

* fix Dockerfile

* suggestion

* dummy off
2021-12-26 20:30:21 +09:00
Mark Street 41886cc476 Remove /lib32 mount (#230)
* Remove /lib32 mount

* Adding pytz to requirements.txt
2021-12-09 00:35:17 +09:00
Zach Banks 370db9bd3e Add /run/user/$UID directory to nsjail (#213) 2021-11-22 02:07:09 +09:00
Mark Street fe97842e24 Hide wine's warnings (#210)
* Hide wine's warnings

* this is getting ridiculous

* Correcting backend Dockerfile

* here we go again

* removing 'f' from non-f string

* wine test & gha stuff

* Don't install mesa stuff

* Get wine test passing in Docker

* Backend docker test

* fixup pr.yaml (attempt 1 of N)

* fixup pr.yaml (attempt 2 of N)

* fixup pr.yaml (attempt 3 of N)

* fixup pr.yaml (attempt 4 of N)

* fixup pr.yaml (attempt 5 of N)

* fixup pr.yaml (attempt 6 of N)

* fixup pr.yaml (attempt 7 of N)

* fixup pr.yaml (attempt 8 of N)

* fixup pr.yaml (attempt 9 of N)

* fixup pr.yaml (attempt 10 of N)

* Updating Dockerfile to bullseye to match GHA builder

* Improve tests

* README.md update

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2021-11-21 23:23:39 +09:00