Some general directions on how development around this repository is structured.
There are two main branches, main
and stable
.
The stable
branch is always stable and can be used for CD.
The main
branch is continuously deployed to a test instance at velcom.aaaaaaah.de.
When the main
branch appears to be stable enough, the stable
branch is fast-forwarded to its current state.
The main
branch is used for development roughly following GitHub flow:
- Feature branches originate in the
main
branch and are merged back into it via PRs. - It should be stable, but exceptions can be made in certain situations.
PRs should originate from and merge back into the main
branch.
Usually, a PR is merged by the initial author.
Labels should always be used in lowercase. The following labels can be used, if applicable:
frontend
(concerns the frontend)backend
(concerns the backend)runner
(concerns the runner)shared
(concerns the shared package)meta
(concerns dependencies and other build tool config files)docs
(improvements or additions to documentation)cli
(concerns the CLI)
Commits should be labeled by prefixing the commit summary with one or more labels, for example:
[runner] Always delete received benchrepo tar
[backend,runner] Do not set results when runner is reset on connect
Issues and PRs should not contain labels in the title like commits. Instead, they are labeled via GitHub.
Directions on how to set up a development environment.
First, install all build requirements specified in the manual install guide.
We use intellij for backend and runner development.
Backend and runner development is confined to the backend/
directory.
This is an attempt at providing instructions for reproducible code autoformatting in intellij.
- Import the google style as project style
- Editor > General
- Enable
Ensure an empty line at the end of a file on Save
- Enable
- Enable
Optimize imports
when formatting files - Editor > Code style > Java > Tabs and Indents
- Enable tabs and smart tabs
- Set the continuation indentation to 2
- Editor > Code style > Java > JavaDoc
- Disable
Align parameter descriptions
andAlign thrown exception descriptions
- Enable
Indent continuation lines
- Disable