Commit Graph

52 Commits

Author SHA1 Message Date
Mark Street
b523916486 Fix poetry install script in Dockerfile, bump wibo (#780)
* Fix poetry install script in Dockerfile, bump wibo

* bump wibo version in ci too
2023-06-04 01:01:32 +09:00
Ethan Roseman
15f717ead3 Backend updates (motivated by m2c) (#767)
* Backend updates (motivated by m2c)

* try to fix CI
2023-05-18 14:06:04 +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
sozud
d61a6ea952 Initial Saturn support (#728)
* Saturn support

* linter issues

* Fix black formatting issues

* Try fixing ci

* Try 3.10.0

* Try 3.9

* Update asm-differ hash

---------

Co-authored-by: sozud <sozud@users.noreply.github.com>
2023-04-09 13:27:01 +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 6d026b9214.

* Trimming down what Sandbox mounts

* Mount all /dev but read only
2023-02-24 21:40:31 +09:00
triph
5ec67ba5dc Add PS2 EE GCC 2.9 and 3.2 compilers (#661)
* Add PS2 EE GCC 2.9-990721 and 3.2-001003-1 compilers

* Add PS2 compilers to download script

* Hash download script for CI compiler cache
2023-01-26 13:20:49 +09:00
Anghelo Carvajal
37ea60b962 Add EGCS 1.1.2-4 compiler (#658)
* Add EGCS1124 to compilers.py

* add to allcompilers

* add download link

* 4
2023-01-17 12:03:17 +09:00
ConorB
721a08ccdf Make exception_on_timeout production-compatible, add more timeouts (#653)
* Force exception_on_timeout to use spawn to make gunicorn happy

* black

* Have test_fpr_reg_names_output and test_giant_compilation test for success as opposed to a lack of output

* Refactor timeouts for:
- compiling
- decompiling
- assembling
- disassembling

* Move m2c timeout wrapper to prevent interfering with StringIO

* Increase default timeouts by an order of magnitude to investigate failing CI tests

* Add timeout scale factor, have CI timeouts be 10x default

Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
2023-01-15 01:28:48 +09:00
LLONSIT
114d4325d2 Add IDO5.3 Pascal (#657)
* adding and AeroGauge preset

* Update backend/coreapp/compilers.py

Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>

* Update compilers.py

* IDO5.3 pascal

* Version bump

* Changing str order

* updating

* Another version bump

* cache

* Updating

* update download.py

Co-authored-by: LLONSIT <LLONSIT@gmail.com>
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-01-14 13:35:03 +09:00
Alex Bates
4cf3e416e5 Use Next.js 13 app directory & Tailwind CSS (#626)
- Use Next.js 13 app directory for all routes except projects
- Add Tailwind (resolves #619) and use it for most components
- New footer
- Adjust navbar (logotype, buttons moved to right)
- Improve the styling of the search box
- New /settings/account page
- /credits grabs contributors list for this repo from GitHub's API
- Resolve #634
- New welcome page header with scrolling platform icons
2023-01-03 12:41:05 +00:00
Alex Bates
f4165248ca Cache CI (#631)
Adds caching to a bunch of dependency installs we're doing in CI to
reduce the runtime. Future:

- `Install apt dependencies (initial)` could definitely be made quicker
- `Build decompme_backend image` is 6min, perhaps we could use
[cached-docker-build](https://github.com/marketplace/actions/cached-docker-build)

(These are fine for now I think- I don't want to touch them much because
I didn't write them & CI has always been brittle.)
2022-12-22 13:46:53 +09:00
Ethan Roseman
ca28dd7714 Attempt to catch up to github's changes to their runners (#591) 2022-12-01 02:26:04 +09:00
Mark Street
795022c7af Freeze lockfile in CI (#547) 2022-09-18 12:34:38 -10:00
Alex Bates
594e91cad1 Merge branch 'main' of github.com:decompme/decomp.me 2022-09-14 11:58:32 +01:00
Alex Bates
9c8404e90a add frontend lint ci job 2022-09-14 11:58:29 +01:00
Mark Street
d62a300e59 Ensure nsjail is enabled in CI for Docker (#524)
* Ensure nsjail is enabled in CI

* Add $IDO_CC env var to IDO compilers

* add SANDBOX_DISABLE_PROC=true to docker ci
2022-09-14 15:46:06 +09:00
Ethan Roseman
0d39890253 Do a sanity test for every available compiler (#507)
* Do a sanity test for every available compiler

* add parameterized

* add binutils-aarch64-linux-gnu to ci
2022-08-11 18:17:01 +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
Ethan Roseman
91131f9b4d Revert "Replace wine with wibo (#484)"
This reverts commit e67c36d5a7.
2022-07-29 11:41:20 -04:00
Mark Street
f3edcec3ad Add TMPDIR=/tmp to compiler command (#493)
* Add TMPDIR=/tmp to compiler command

* Bump wibo version to 0.2.3 in ci
2022-07-29 02:44:16 -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
db03a48ef9 Revert the reversion of the updates (#459)
* Revert "Revert "Dep updates (#457)" (#458)"

This reverts commit eb43c51586.

* ci changes

* Update almost everything, fix issues

* add jest-environment-jsdom

* fix to mwcc debug info option

* remove frontend tests

* black

* remove eslint-plugin-testing-library

* Do db migration

Co-authored-by: Alex Bates <alex@nanaian.town>
2022-06-01 23:06:51 -04:00
Christian
a45f85a1c7 Fix errors with deployment (#454)
* Fix errors with deployment

* Add test_mac_mwcc

* [Docker] add binutils-powerpc-linux-gnu
2022-05-23 01:52:39 +09:00
Mark Street
ff1ed50e67 Use nsjail release 3.1 now its been cut (#432) 2022-04-04 21:18:33 -04: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
576dc19913 mypy (#382)
* mypy

* mypy

* mypy

* mypy

* black
2022-02-21 00:53:38 +09:00
Ethan Roseman
eb7534be0d Black (#380)
* Initial format

* action

* git subrepo pull --force backend/asm_differ

subrepo:
  subdir:   "backend/asm_differ"
  merged:   "ee239a2b"
upstream:
  origin:   "https://github.com/simonlindholm/asm-differ"
  branch:   "main"
  commit:   "ee239a2b"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull --force backend/mips_to_c

subrepo:
  subdir:   "backend/mips_to_c"
  merged:   "6704d61f"
upstream:
  origin:   "https://github.com/matt-kempster/mips_to_c"
  branch:   "master"
  commit:   "6704d61f"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* vscode

* fix

* .
2022-02-20 23:21:38 +09:00
Ethan Roseman
36d1f1d706 Poetry (#366)
* Trying to set up poetry

* oops

* mypy python 3.9

* mark

* blah

* attempt to fix stuff

* .

* fixies

* try winders again

* doqqer

* tomorrow for sure!

* attempt to install poetry as user

* help

* docker fix?

* ?

* try thing

* oh god

* the path to victory

* meowp

* srob

* try to do it manually on windows, install on docker

* try to do it manually on windows, install on docker: the sequel

* winders

* drf extensions

* winders 2

* use pip to install poetry on winders

* execute 'poetry install' at runtime, same as yarn install (#377)

Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
2022-02-20 22:46:00 +09:00
Alex Bates
1968531ca4 Projects MVP (#292)
Co-authored-by: Matt Kempster <kidpixel@gmail.com>
Co-authored-by: Mark Street <streetster@gmail.com>
2022-02-18 17:48:51 +00:00
MonsterDruide1
e7418e7aa6 Add clang compiler and switch platform (#334)
* Add `switch` as platform

* Add `clang-4.0.1` compiler

* Add `clang-3.9.1` compiler

* Add presets for SMO and BotW (switch)

* Modify download script, fix lint issue, change platform description

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2022-02-04 21:33:46 +09:00
Ethan Roseman
1359e162c6 Dog round 3 (#341) 2022-02-04 16:47:33 +09:00
Ethan Roseman
98e97d3799 Fix dog (round 2) (#340)
* Attempt to fix reviewdog

* re-add error format

* try this

* further back in time

* separate mypy thing

* restore stuff
2022-02-04 16:35:41 +09:00
Alex Bates
09378167a8 Add plausible analytics to frontend (#311)
* add next-plausible

* add analytics events to key actions

* use stats.decomp.me

* don't run frontend tests on windows runner

buggy github action
2022-01-14 01:30:37 +09:00
Mark Street
df72dfb592 Add NDS (arm9) as a platform (#273)
* Add NDS (arm9) as a platform

* optimised nds.svg

* remove height/width from nds.svg

* New Scratch function name matching per pokediamond macro

* updating mwccarm.sh and mwccppc.sh print statements

* updating pr for renamed mwcc download script
2022-01-01 20:25:59 +09:00
Mark Street
03ed3f91d7 Skip wine if WSL environment detected (#243)
* Skip wine if WSL environment detected

* Add Windows (wsl) backend tests

* WSL tests attempt 2

* WSL tests attempt 3

* WSL tests attempt 4

* WSL tests attempt 5

* WSL tests attempt 6

* WSL tests attempt 7

* WSL tests attempt 8

* WSL tests attempt 9

* WSL tests attempt 10

* WSL tests attempt 11

* WSL tests attempt 12

* WSL tests attempt 13

* WSL tests attempt 14

* WSL tests attempt 15

* WSL tests attempt 16

* WSL tests attempt 17

* WSL tests attempt 18

* setting executable flag and renaming dlls to support non-wine under WSL

* revert changes to tests.py
2021-12-23 21:47:56 +09:00
Alex Bates
8a6dc722c9 Windows (#239)
* run tests on windows also

* postinstall: don't pipe to /dev/null as this doesnt work on windows

* make backend_test_windows into its own workflow

* skip tests where compiler is not supported

* fix mypy
2021-12-21 00:57:53 +09:00
Ethan Roseman
ade37d8fa9 attempt to fix spontaneous test failure (#221)
* attempt to fix spontaneous test failure

* libwine?

* ?

* ??

* do upgrade (???)

* skip dump dependencies (????)

* explicitly install dump dependencies (?????)

* explicitly install dump dependencies first (??????)

* explicitly install more dumb dependencies first (???????)

* explicitly install more dumb dependencies first (????????)

* no (9)

* back to the start (10)

* merge stuff (11)

* stop not installing stuff (12)

* separate (13)

* Update .env

* suggestion (14)

* redo jail

* suggestion(2) (16)

* wine32? (17)

* wine32? (18)

* wine32? (19)

* attempt at thing (20)

* sigh (21)

* sigh2 (22)

* sigh3? (23)
2021-11-30 01:00:58 +09:00
Mark Street
6ecff5f063 Update backend Dockerfile to Ubuntu 21.04 to align with Prod (#214)
* Update backend Dockerfile to Ubuntu 21.04 to align with Prod

* Use /tmp/wine as WINEPREFIX

* fixup docker test

* try again
2021-11-21 19:36:39 +00: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
Ethan Roseman
16485ffd6c Fix 2 bugs (#200)
* fix source_code null issue for non-mips

* fix preset setting not changing opts

* CompilerPreset type

* try to fix gh actions

* libprotobuf-dev

* protobuf-compiler

* libnl-route-3-dev

* oopth
2021-11-13 22:48:24 +09:00
Alex Bates
467c9142e8 Add frontend testing (#182) 2021-10-16 13:37:43 +01:00
Alex Bates
0e8b01841a Frontend improvements + Docker updates (#167, #169)
Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
2021-10-14 12:52:28 +01:00
alex
2fd7b83220 Hotfix various issues + add 404 page (#157)
* enable line numbers for context
* set editor background colour
* use lowercase "scratch" in scratch page title
* warn if you try to leave a scratch and have unsaved changes (fixes #60)
* show line numbers on new scratch page
* fix caching problems
* add 404 page
* better loading state for user page
* use react suspense in more places
* fix new scratch page responsiveness bug (reported by Quate)
* don't attempt to build frontend in ci
2021-10-12 20:43:24 +01:00
alex
7757386396 Migrate to Next.js + big style update (#154)
* Backend changes to diff from label rather than 0, also possibly fix #109

* implement diff_label frontend & fix assemble_asm

* Log stack trace if asm-differ fails

* don't return { obj } from api

* slight change in stub func code

* GET /compilers returns arches for compilers

* GET /compilers returns arches for compilers

* keep compiler_ids

* Obtain ido from download script, add comment for permuter api support

* Clean m2c wrapper code, add left pointer style, add test

* fix 3 tests

* list arches from api

* fix cookies in DEBUG

SameSite=None is incompatible with Secure, and this causes some browsers
to ignore the cookie altogether.

* fix test

Regression due to changing API to not return { "user": User } but
rather just the User object itself.

* fix create scratch without glabel

This works around a backend bug

* add label select on scratch creation

* show compilers/presets for current arch only

- fixes #92
- fixes #132

* fix mypy issues

* use react instead of preact

* hold pages in src/pages/

This matches NextJS file structure; the names of files reflect their routing paths.

* migrate to NextJS

* use next-pwa

* statically generate user page

* fix github login

* add loading progress bar

* arch on scratch

* nav redesign

* use .env.local instead of local.env

* fix unset compiler not considering arch

* add discord server to readme

* big styling update

* add footer

* move compiler dir into components

* use lib dir

* fix ts error

* describe deployment

* dont use NEXT_PUBLIC_* in .env

* add storybook

* document storybook

* make AsyncButton loading state pretty

* remove sharp

* custom monaco editor react component

* ci: build frontend

* allow nextjs to build despite ignored typescript errors

* ci

* remove react-loading-skeleton

* oops

* don't request public_repo github scope

* give AsyncButton error popup its arrow back

* try fix monaco problem

* oops

* fix monaco red bg for real this time

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2021-10-13 00:49:23 +09:00
Ethan Roseman
2a27c47c21 Attempt to make CI less fragile 2021-09-16 19:42:37 +09:00
Ethan Roseman
b08e3f1650 try to fix ci 2021-09-03 06:46:11 +09:00
alex
0f7ff08c97 fix ci 2021-09-02 22:17:01 +01:00
alex
07b6941cd2 resolve #111 2021-09-02 22:10:33 +01:00
alex
fe1ae54113 ci: run on pull_request_target 2021-09-02 17:55:54 +01:00
alex
45d225c28d add mypy ci checks 2021-08-28 01:35:53 +01:00