82 Commits

Author SHA1 Message Date
Mark Street 86245088de Migrate ps1 -mipsel compilers to -psx (#1342) 2024-09-12 08:23:54 +01:00
Ethan Roseman 90b1b88543 Update backend deps, try to fix bug, remove CompilerConfig (#1256)
* Update backend deps, try to fix bug, remove CompilerConfig

* Upgrade Poetry in Docker to 1.8.3, fix ordering of fields list
2024-05-27 01:52:00 +09:00
Ethan Roseman 56ad408f36 Add missing migration & compiler names (#1253) 2024-05-23 16:03:39 +09:00
Ethan Roseman 9a02a004d9 Remove old preset-creation migration from the nation (#1247)
* Remove old preset-creation migration from the nation

* Victory?

* This time for sure
2024-05-20 19:37:46 +09:00
Ethan 345e2d4d94 Fix migration dependencies
Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
2024-05-19 20:21:51 +09:00
axel7083 efe7024215 feat(backend): allowing auth users to create presets (#1228)
* feat(backend): allowing auth users to create presents

* test(preset): improve coverage

* fix: linter&preset behaviour

* fix: remove unused import

* fix: mypy

* fix: mypy return type
2024-05-16 20:50:16 +09:00
Mark Street 66c892f4e5 Correct mislabeled mwcps2 compilers (#1148)
* Correct mislabeled mwcps2 compilers

* dont reformat compilers.json
2024-03-19 16:04:47 +09:00
Ethan Roseman 36d92ce40e Rename Windows 9x platform to Windows (9x/NT) (#1103)
* win9x -> win32

* migration

* Change display name to Windows (9x/NT)
2024-02-26 00:33:32 +09:00
Mark Street 633b0f5d1e Add /admin related migrations (#964) 2024-02-15 23:58:56 +09:00
Luke Street 85c2e215d5 Use random token for claiming scratches (#945)
* Use random token for claiming scratches

* Fix migration dep

* Fix claim_token serialization & address PR comments

* Improve error handling

* Update backend tests

* reformat

* Update another test

* Minor update to ClaimableScratchSerializer
2024-01-19 16:02:05 +09:00
Luke Street 5369f81263 Support binary target_obj in scratch creation (#943)
* Support binary `target_obj` in scratch creation

Also support `--disassemble=` in `diff_flags`,
so the scratch can be limited to a single function
within the object.

Resolves https://github.com/decompme/decomp.me/issues/215

* Test fixes

* Validate uploaded file size & magic

Remove `-D` from `skip_flags_with_args`,
we want to keep defines.
2024-01-17 15:52:41 +09:00
Ethan Roseman c80abfaa05 Platform page & preset page (#906)
* Platform page & preset page

* Fix mypy

* improve styles

* move presetUrl to its own file and fix star import

* oops

* Show number of scratches on platform / preset page

* Remove url field stuff & leftovre ProjectFunction stuff

* Remove more projectfunction stuff

* black

* Attempting to remove most url and html_url

* oops

* mypy

* fixz

* suggz

---------

Co-authored-by: Alex Bates <alex@nanaian.town>
2023-11-13 22:23:12 +09:00
Ethan Roseman 8d7deedb12 Set blank=True on json fields (#905) 2023-10-31 07:23:59 +09:00
Ethan Roseman 4ae89872e2 Presets in the DB (#897)
* Organize tests, update settings, backend deps

* Remove project import code from backend

* Remove some frontent project code

* more progress, project cleanup

* more preset work

* .

* upd8z

* Admins can delete scratches & preset migration

* bye, source presets

* fixes & changes

* Preset in admin panel & rename migration

* mypy

* Fix perset viewset & tests

* Change compilers hash files

* test annotations so Windows doesn't run them

* Mark nits

* Preset auto ID field

* scratch as reference (1/?)

* backend fixes to preset (2/3)

* Use preset ID instead of name in frontend

* update frogger preset

* I broke one of the ten commandments of react

* finishing touches (3/3 lol)

* Update serializers.py
2023-10-27 23:40:59 +09:00
Robin Lambertz fb69aceded Fix libraries migration (#876) 2023-10-04 18:57:16 +09: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
Mark Street 4a2eabb345 Overhaul download py (#855)
* Add translations for ps1/maspsx compiler set

* Tell clang to compile and not link to remove need for lld binary

* Assume msdos assembler lives on PATH

* Overhaul download.py

* Attempt to fix docker ci

* Appease black

* Whoops, don't forget to detach

* Fix path to download.py

* fix perms (hack?)

* Add --platforms and --compilers args to download.py

* Try out --compiler dir arg for docker in ci

* Try to ignore that 500 error about image manifests

* it's --compilerS-dir

* Try again

* Try building our own podman (fallback to vfs when rootless)

* install distro 'podman' to get configuration (fixes fuse)

* mount /dev/fuse in ci

* dumb bugfix, .download_cache

* split compilers config out of download.py

* update poetry.lock

* Add psyq3.3 + psyq4.4 and migrate psyq4.3 scratches to psyq4.4

* docker_entrypoint.sh cleanup

* Try to protect against 'locating item named "manifest" for image with ID'

* better podman sanity check

* appease black

* use 'requests.get()' to grab remote image digest

* Update compilers repo to 'decompme/compilers'

* Fix description for psyq3.6
2023-09-20 16:37:35 +09:00
Ethan Roseman 347b4df652 Compiler refactor (2) (#852)
* Initial commit of organizing things

* some bugs

* fix bug?

* Fix issues in last PR
2023-09-14 23:46:43 +09:00
Ethan Roseman caa803c661 Compiler refactor (#849)
* Initial commit of organizing things

* some bugs

* anudder

* smores

* fix bug?

* oopth

* strings
2023-09-12 06:40:08 +09:00
Ryan Burns 50f32004a8 Add 1.2.5n compiler, and use it for melee/pikmin (#807)
* Add 1.2.5n compiler, and use it for melee/pikmin

* Update compiler zip to include 1.2.5n

* migration

---------

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-07-16 16:53:23 +09:00
Ethan Roseman ebd520c536 Add a way to manually mark a scratch as matching (fixes #401) (#804) 2023-07-10 13:40:59 +09:00
triph b96444e172 Add ee-gcc2.9-991111-01 compiler (#787)
* Add ee-gcc2.9-991111-01 compiler

* Move ee-gcc2.9-991111 to 991111a, add ee-gcc2.9-991111 compiler

+ remove old Windows 2.9-991111 build from ps2_compilers archive

* Move ee-gcc2.9-991111 presets to 991111a
2023-06-20 06:53:51 +09:00
Ethan Roseman 796a5f4746 Updates, problems panel bugfix (#745)
* Backend updates, mypy fixes

* new migration (oops), some fixes

* Frontend updates

* cleanup

* Prevent problems panel from starting open if there are no problems

(fixes #703)

* update again

* oopz

* stylelint

* Update checkout version

* Fix test

* Fix test - device.ts still being used on the server :/

* fix cod
2023-05-08 23:56:45 +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
Ethan Roseman 6efceba430 Update dependencies and black (#669) 2023-02-02 02:05:31 +09:00