Commit Graph

115 Commits

Author SHA1 Message Date
bcb6409126 Bump rubocop from 1.57.2 to 1.58.0 and fix offenses
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.57.2 to 1.58.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.57.2...v1.58.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 11:02:00 +01:00
99bd46af1a Align project files with CodeHarbor
Since both projects are developed together and by the same team, we also want to have the same code structure and utility methods available in both projects. Therefore, this commit changes many files, but without a functional change.
2023-10-11 00:18:33 +02:00
f150c793d5 Add regression spec for message validation 2023-09-19 12:52:53 +02:00
ccbf41005b Always clear runner strategy after each test case
Otherwise, we get different test results depending on the test order.
2023-06-23 22:20:04 +02:00
574e99eddd Fix rubocop offenses - Requires Ruby 3.1+ 2022-11-25 11:10:06 +01:00
58548555a5 Shell: Add file system browser to retrieve arbitrary files 2022-10-29 18:49:18 +02:00
fb9672c7a4 FileTree: Allow output as hash, convert to JSON separately 2022-10-29 18:49:18 +02:00
ad8743a7d0 FileTree: Show more distinct icons where possible 2022-10-29 18:49:18 +02:00
c75f52f2c8 Fix Rubocop offenses 2022-10-24 12:28:50 +02:00
a5da7d1f84 Remove outdated HTTP status codes
See https://github.com/openHPI/codeocean/pull/1349#pullrequestreview-1091652523
2022-10-05 13:11:43 +02:00
ba821bd18b Change HTTP status codes for Poseidon in accordance with recent changes.
See https://github.com/openHPI/poseidon/pull/159
2022-10-05 13:11:43 +02:00
eb188dcd71 Add privilegedExecution flag to database and Poseidon Strategy 2022-09-24 22:32:41 +02:00
006c794f54 Fix rubocop offenses 2022-09-14 00:31:47 +02:00
d762f976a8 Add new CodeOcean::File#read method
* With a new method, we can simplify our code to handle differences between file.content and file.native_file.read
2022-08-19 22:42:55 +02:00
cb0f30768f Change HTTP links to HTTPS 2022-08-17 01:29:27 +02:00
b98c37ae64 Rename v4 FontAwesome icons to match v5/v6 name
While FontAwesome provides aliases for all icons, we switch to the new names for consistency. See all changes at:
https://fontawesome.com/docs/web/setup/upgrade/upgrade-from-v4#icons-renamed-since-version-4
2022-08-09 14:17:32 +02:00
a9039a8019 Prevent false positive for raised error 2022-08-09 11:42:06 +02:00
56eab88f88 Gracefully handle the deletion of non-existing runners 2022-07-15 00:49:15 +02:00
d3f283c4e7 Update usage of RubyTree to avoid deprecated methods 2022-06-27 12:14:55 +02:00
8e403ff65a Poseidon: Use relative path to remove workspace directory
See #1088
2022-06-10 18:13:11 +02:00
b613267add Remove legacy DockerClient 2022-06-08 13:18:37 +02:00
d9f40531fb Fix Rubocop offenses 2022-04-20 18:26:53 +02:00
b2656bd6b5 Fix rubocop offenses 2022-03-01 15:35:08 +01:00
ea85519163 Update bundle (with newest rubocop version) and fix offenses 2022-01-04 09:42:37 +01:00
86c6ad7ea3 Poseidon: Use absolute path to remove workspace directory 2021-11-17 17:44:09 +01:00
3608856397 Merge pull request #1079 from openHPI/sync_execution_environments
Sync execution environments
2021-11-09 18:44:35 +01:00
1dce6c59ab Add note about default ACL for Docker mount dir 2021-11-08 22:39:10 +01:00
b179dadce6 Mock CodeOcean::Config for Poseidon strategy 2021-11-04 20:09:20 +01:00
ecf470bddd Refactor sync_environment methods
* Add delete_environment method
* Change return value to allow raising an exception
2021-11-04 20:06:40 +01:00
7f47af99cb Fix order-dependent specs 2021-11-04 19:15:33 +01:00
dcafbb9d46 DCP: Change HTTP verbs 2021-11-01 17:13:12 +01:00
01ec9343cf Remove usage of DockerClient 2021-11-01 17:13:10 +01:00
2551ea709b Remove 'previous' DockerContainerPool implementation 2021-11-01 17:13:09 +01:00
9d833e37b3 Use Net::HTTP::Persistent for requests to Poseidon 2021-11-01 17:13:09 +01:00
c1cff29147 [Spec] Initialize environment for Docker testing 2021-11-01 17:13:08 +01:00
68c8f1dbdf DCP: Set sticky bit for folder and secure delete 2021-11-01 17:13:04 +01:00
696cd6a236 Poseidon: Clean workspace between executions 2021-11-01 17:13:03 +01:00
06ef4430f5 Change exposed_ports to array 2021-11-01 17:13:02 +01:00
601e1fab5c Remove all occurrences of server-sent events 2021-11-01 17:12:57 +01:00
3fa6ba6c72 Use instance_double for Poseidon Strategy specs 2021-11-01 17:12:57 +01:00
ee1751debf Fix rubocop offenses 2021-11-01 17:12:55 +01:00
30603cb7ab Generalize method and constant names for runner management 2021-11-01 17:12:53 +01:00
c8e1a0bbcb Fix tests for Runner#attach_to_execution
These tests were blocking because of the newly introduced
EventLoop. The messages sent to the EventLoop are now mocked
and the EventLoop isn't blocking anymore in the tests.
2021-11-01 17:12:53 +01:00
2dff81a510 Attach duration information to the exception object 2021-11-01 17:12:52 +01:00
cc412b73bc Introduce more error types 2021-11-01 17:12:51 +01:00
db2d1e3164 Add tests for DockerContainerPool strategy 2021-11-01 17:12:51 +01:00
704407b9fc Add strategy for DockerContainerPool
In order to provide an alternative to Poseidon, a strategy for the
DockerContainerPool is added that is used by the runner model.

Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2021-11-01 17:12:51 +01:00
1d3f0d7ad8 Handle Faraday errors 2021-11-01 17:12:50 +01:00
b48b45de9f Refactor error classes
All runner errors are now in a single file. The not found error
has been splitted into an error for runner not found and for
environment not found.
2021-11-01 17:12:50 +01:00
413f9b2705 Improve error resilience and handling
Timeouts are now handled correctly and the Runner automatically
creates the execution environment if it could not be found in
Poseidon. The runner is deleted locally if Poseidon returns
a bad request error.
2021-11-01 17:12:50 +01:00