Thomas Hobson
09eb9e4d90
Merge pull request #475 from Brikaa/fix-websockets
...
Clear hanging timeouts and parent processes writables
2022-06-08 11:29:37 +12:00
Omar Brikaa
a664cd4d49
Rename runtime priorities to mainstream runtimes
2022-06-05 12:24:56 +02:00
Omar Brikaa
b50af13787
Implement runtime priorities
2022-06-04 23:14:11 +02:00
Omar Brikaa
d33e47e60a
Fix runtime finding in v2 endpoint
2022-06-04 22:53:33 +02:00
Thomas Hobson
36c0c21902
Merge pull request #472 from Brikaa/node-packages
...
Piston-nix - package.json: don't use out-of-support unencrypted git protocol
2022-05-10 23:30:15 +12:00
Thomas Hobson
450f07c951
Merge pull request #473 from Brikaa/fix-nix-versions
...
Fix nix runtimes versions
2022-05-10 23:18:28 +12:00
Thomas Hobson
46ab4a4ba4
Merge pull request #457 from Brikaa/dont-run-if-compile-error
...
Piston-Nix: Don't start run stage if compile stage errored
2022-05-10 23:18:06 +12:00
Omar Brikaa
e17783297c
Clear hanging timeouts and parent processes writables
2022-05-02 19:39:11 +02:00
Omar Brikaa
3b5d1713e1
Destroy stdin if not destroyed
2022-05-02 19:23:15 +02:00
Omar Brikaa
8bb72837b9
Add trailing newline in stdin if it doesn't exist
2022-05-02 15:33:30 +02:00
Omar Brikaa
a749db950f
Fix the runtimes versions
2022-05-02 14:36:09 +02:00
Omar Brikaa
b381271ba9
Add backward compatibility in v2.js
...
Set run property to compile if it doesn't exist in v2.js
2022-05-02 13:25:46 +02:00
Omar Brikaa
711096abb2
Don't use unencrypted git protocol
2022-05-02 12:05:55 +02:00
Omar Brikaa
2262618c52
Don't start run stage if compile stage errored
2022-03-06 17:24:28 +02:00
Thomas Hobson
16e4f08dfa
Merge pull request #441 from Brikaa/nix-development
...
Use nodemon and Docker volumes for development
2022-02-26 10:28:36 +13:00
Thomas Hobson
067cf2692f
Merge pull request #451 from Brikaa/get-rid-of-file-language
...
Get rid of file language logic, remove unneeded requires
2022-02-26 10:15:07 +13:00
Omar Brikaa
89f4da4858
Get rid of file language logic
2022-02-25 18:12:12 +02:00
Thomas Hobson
d244f0138c
Merge pull request #442 from Brikaa/refactor-runtimes
...
Refactor runtimes
2022-02-24 18:25:52 +13:00
Omar Brikaa
4578a9d15b
Nix Piston: dev and prod containers
...
- Change appEnv to isDev
- Determine the image name in api/default.nix
- Use production image in ./piston test
2022-02-19 20:24:01 +02:00
Thomas Hobson
04de31b946
Merge pull request #444 from Brikaa/code-files
...
Nix Piston: Only pass code files to compiling
2022-02-19 23:43:27 +13:00
Omar Brikaa
30f49f22b1
Nix Piston: Only pass code files to compiling
2022-02-18 14:50:00 +02:00
Omar Brikaa
a9952072c1
Revert pistond.js to avoid merge conflicts
2022-02-18 13:20:04 +02:00
Omar Brikaa
97fd8a16d4
Add dev/prod conditions in the nix files
2022-02-18 13:20:03 +02:00
Omar Brikaa
a013613a59
Use Docker volumes and nodemon in development
2022-02-18 13:17:10 +02:00
Omar Brikaa
c238ff6254
Add none in runtime sets
2022-02-18 13:17:10 +02:00
Omar Brikaa
cb834cff3e
Refactor runtimes: no globally shared state
2022-02-12 21:21:41 +02:00
Omar Brikaa
d5392eafb8
Naming refactor, remove id getter and use index
2022-02-12 21:21:41 +02:00
Dan Vargas
54a4acd5da
Merge branch 'nix-packages' of https://github.com/engineer-man/piston into add-nix-packages
2022-02-07 15:43:59 -07:00
Omar Brikaa
7de631383f
Add master features in V3 API, refactor
2022-02-05 15:30:44 +02:00
Omar Brikaa
cdd87ca9a1
Refactor config.js
2022-02-05 14:31:29 +02:00
Omar Brikaa
3d61d10373
Merge master
2022-02-05 14:17:46 +02:00
Omar Brikaa
2bdd4768cd
RUNTIME_SET env choice in start-dev, websockets
2022-02-04 19:42:57 +02:00
Dan Vargas
9cbec53580
add perl-rename to container and update related runtime scripts
2022-02-04 09:34:01 -07:00
Thomas Hobson
ddab59ccdd
add limit overrides to runtime definitions
2022-01-31 17:47:27 +13:00
Thomas Hobson
83e4a1a136
Fix issues after merging upstream
...
Implements a simple container builder for runtime sets
2022-01-31 17:01:28 +13:00
Thomas Hobson
e022e34a37
Add nix runtime testing and pre-installing runtimes
2022-01-31 14:43:54 +13:00
Thomas Hobson
564da5a7eb
BREAKING: replace custom build scripts with nix
...
General:
- Switched to yarn to better work with nix-based tooling
- Switched package system to use nix. This stops double dependencies and slow cloud compile times, while providing more compile/runtime support to the Nix project
- Removed container builder in favor of internal container tooling
- Package versions no-longer need to be SemVer compliant
- Removed "piston package spec" files, replaced with nix-flake based runtimes
- Exported nosocket and piston-api as packages within the nix-flake
- Removed repo container
- Switched docker building to nix-based container outputting
- Removed docker compose as this is a single container
- Removed package commands from CLI
Packages:
- Move bash, clojure, cobol, node, python2, python3 to new format
- Remainder of packages still need to be moved
v2 API:
- Removed "version" specifier. To select specific versions, use the v3 api
- Removed "/package" endpoints as this doesn't work with the new nix-based system
v3 API:
- Duplicate of v2 API, except instead of passing in a language name an ID is used intead.
2022-01-31 14:42:12 +13:00
Omar Brikaa
9760f8fcf9
config.js: index by key, bug fix and more refactoring
2022-01-30 13:35:16 +02:00
Thomas Hobson
e06b59d82c
dockerfile to manage mounting of /nix
2022-01-30 22:32:12 +13:00
Thomas Hobson
e2f37b7493
install API in container
2022-01-30 22:32:12 +13:00
Omar Brikaa
416ade1b76
Refactor config.js
2022-01-28 17:58:00 +02:00
Thomas Hobson
142e7912fa
api(config): respect $PORT as used by heroku if no explicit bind address provided
2021-11-26 02:32:28 +13:00
Thomas Hobson
c091c117c7
api(job): Decrease safe_call CPU time
...
By increasing the niceness value of child processes, the scheduler gives less CPU Time to them.
This allows the node process to get more CPU time, and can work through the event queue faster.
2021-11-11 21:34:30 +13:00
Thomas Hobson
c7efa5372a
api(job): Switch process cleanup to sync
...
The system used to use async.
This would result in execution is handed off to other processes.
In the case of a forkbomb was used, it could circumvent the janitor as it consumed more CPU time which would prevent the process janitor from reading the process information in.
2021-11-11 19:27:54 +13:00
Brikaa
19252467cb
Use some() instead of filter() in v2.js
2021-10-16 11:50:07 +02:00
Brikaa
64833a0408
pkg(file-0.0.1): Run executable
2021-10-16 11:49:59 +02:00
Brikaa
6ca9606f81
Adhere to project let, const practices in my code
2021-10-16 11:01:17 +02:00
Thomas Hobson
7e5844bcb1
require arleast 1 utf-8 encoded file
2021-10-15 16:14:06 +13:00
Thomas Hobson
0faea205db
Only compile/run files in utf8 encoding
2021-10-14 01:36:29 +13:00
Thomas Hobson
24a352699d
Support for uploading files in base64/hex format
2021-10-14 00:46:49 +13:00