25 Commits

Author SHA1 Message Date
12ff205bd2 added k8s stub adapter for execution environment 2024-09-18 10:43:38 +02:00
8e039c4ecb disable Git hook inside docker container 2024-07-16 14:55:22 -04:00
eaddc65989 Configure Systemd Socket Activation
as new way for Poseidon to accept connections. This should reduce our issues caused by deployments.
2024-01-15 16:05:35 +00:00
5c2b53f4bc Add Codecov to GitHub actions 2023-04-01 21:42:41 +02:00
1a378ce640 Enable profiler and profile-guided builds
I used the chance to simplify the Makefile, as this is required for the file check to work correctly. Variables should not contain quotes, as these will be included in the value otherwise.
2023-02-28 01:14:05 +01:00
0b7f71f3dc #190 Add recovery e2e tests. 2022-11-26 13:33:44 +00:00
b98e3deb40 Rebuild base image for e2e images as well 2022-10-29 19:11:05 +02:00
1a5a49d7c8 Explicitly switch user for code execution.
Co-authored-by: Maximilian Pass <maximilian.pass@student.hpi.uni-potsdam.de>
2022-09-24 23:09:23 +02:00
69237fb415 Use local Docker image in e2e pipeline and rebuild image if necessary 2022-09-24 23:09:23 +02:00
1955e678f7 Change the e2e test rule to use the remote image
* Change the e2e test rule
to use a remote docker image

* Pull the e2e test image
to avoid delay and failure in the e2e tests
2021-12-08 21:13:19 +01:00
6aa9deba39 Add dependency management commands to Makefile
* `make upgrade-deps`
* `make tidy-deps`
2021-10-11 18:39:15 +02:00
aae0c6e377 Migrate from GitLab CI/CD to GitHub actions (#1)
This also adds a new Dockerfile for a e2e-test-image, as the old
image was hosted on our private registry. By having the image located
near the code, we don't have to rely on images on external registries.
2021-08-05 13:40:48 +02:00
c8c5357b8c Rename module for GitHub 2021-07-30 16:43:05 +02:00
3aa1227db6 Use authentication token from config for communication with Nomad 2021-07-27 11:35:55 +00:00
8b26ecbe5f Restructure project
We previously didn't really had any structure in our project apart
from creating a new folder for each package in our project root.
Now that we have accumulated some packages, we use the well-known
Golang project layout in order to clearly communicate our intent
with packages. See https://github.com/golang-standards/project-layout
2021-07-21 12:55:35 +02:00
87f823756b Implement merge request comments 2021-06-15 11:37:47 +02:00
5f35ba30a2 Remove data race in the runner length function 2021-06-03 11:38:40 +02:00
242d0175a2 Add tests and end-to-end tests for websocket execution
For unit tests, this mocks the runners Execute method with a
customizable function that operates on the request, streams and exit
channel to simulate a real execution.

End-to-end tests are moved to the tests/e2e_tests folder. The tests
folder allows us to have shared helper functions for all tests in a
separate package (tests) that is not included in the non-test build.

This also adds one second of delay before each end-to-end test case by
using the TestSetup method of suite. By slowing down test execution,
this gives Nomad time to create new allocations when a test requested a
runner. Another solution could be to increase the scale of the job to
have enough allocations for all end-to-end tests.

Co-authored-by: Maximilian Paß <maximilian.pass@student.hpi.uni-potsdam.de>
2021-05-31 12:32:51 +02:00
892f902377 Add deps dependency to e2e-test make target
Without the deps dependency the e2e-test target would sometimes
fail in the CI due to missing entries in the go.sum file.
2021-05-28 09:13:59 +02:00
e9906107c5 Do not use cached test results
When running the `test` and `e2e-test` target with make, this prevents
`go test` from using cached test results. Rerunning the tests every time
allows for easy detection of flaky tests.
2021-05-27 08:22:41 +02:00
ca2c989778 Make git directory static in Makefile
We used a git command to find the location of the users git directory.
This resulted in warnings in the CI where git was not installed.
For now we make the git directory static to .git to avoid this as
the directory is mostly located there.
2021-05-26 15:05:29 +00:00
1b49d396f3 Separatly test dependencies and Docker image.
This way, we don't enter all the steps in the CI if the dependencies
appear to be vulnerable.
2021-05-26 15:05:29 +00:00
8d7aa2ea3c Add trivy vulnerability scanner and custom docker-make image
Trivy is used in the CI after building our Docker image. It scans
the Docker image and our dependencies for known vulnerabilities.
The docker-make image is a simple docker:latest containing make.
2021-05-26 15:05:29 +00:00
83ea552cf7 Refactor interfaces to use a runner manager and an environment manager.
See https://gitlab.hpi.de/codeocean/codemoon/poseidon/-/issues/44.
2021-05-19 14:52:03 +02:00
676d5f1e8d Add Makefile 2021-05-18 06:16:09 +00:00