25 Commits

Author SHA1 Message Date
Elmar Kresse
12ff205bd2 added k8s stub adapter for execution environment 2024-09-18 10:43:38 +02:00
HTWKalender Team
8e039c4ecb disable Git hook inside docker container 2024-07-16 14:55:22 -04:00
Maximilian Paß
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
Sebastian Serth
5c2b53f4bc Add Codecov to GitHub actions 2023-04-01 21:42:41 +02:00
Sebastian Serth
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
Maximilian Paß
0b7f71f3dc #190 Add recovery e2e tests. 2022-11-26 13:33:44 +00:00
Sebastian Serth
b98e3deb40 Rebuild base image for e2e images as well 2022-10-29 19:11:05 +02:00
Sebastian Serth
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
Sebastian Serth
69237fb415 Use local Docker image in e2e pipeline and rebuild image if necessary 2022-09-24 23:09:23 +02:00
Maximilian Paß
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
Sebastian Serth
6aa9deba39 Add dependency management commands to Makefile
* `make upgrade-deps`
* `make tidy-deps`
2021-10-11 18:39:15 +02:00
sirkrypt0
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
Maximilian Paß
c8c5357b8c Rename module for GitHub 2021-07-30 16:43:05 +02:00
Jan-Eric Hellenberg
3aa1227db6 Use authentication token from config for communication with Nomad 2021-07-27 11:35:55 +00:00
sirkrypt0
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
Maximilian Paß
87f823756b Implement merge request comments 2021-06-15 11:37:47 +02:00
Maximilian Paß
5f35ba30a2 Remove data race in the runner length function 2021-06-03 11:38:40 +02:00
Konrad Hanff
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
sirkrypt0
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
Konrad Hanff
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
sirkrypt0
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
sirkrypt0
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
sirkrypt0
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
Jan-Eric Hellenberg
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
sirkrypt0
676d5f1e8d Add Makefile 2021-05-18 06:16:09 +00:00