Workflow¶
Please follow the development workflow outlined below when contributing to the infDB project:
- Set up the environment following the installation instructions in Usage -> Get Software.
- Open an issue to discuss new features, bugs, or changes.
- Create a new branch for each feature or bug fix based on an issue.
- Implement the changes following the coding guidelines.
- Write tests for new functionality or bug fixes.
- Run tests to ensure the code works as expected.
- Create a merge request to integrate your changes.
- Address review comments and update your code as needed.
- Merge the changes after approval.
Developing in a Container¶
We recommend using Visual Studio Code with the Remote - Containers extension for development. This allows you to work in a consistent environment that matches the production setup.
- Install the Remote - Containers extension in Visual Studio Code.
- Open the infDB project folder btw. corresponding tool folder in Visual Studio Code.
- Click on the green icon in the bottom-left corner and select "Reopen in Container".
- The development container will be built and launched, providing you with a ready-to-use environment for development.
Hint
If you want to develop a tool, you need to open the specific tool folder (e.g., services/infdb-api/) instead of the root project folder.
Troubleshooting on Windows
To open the repository in Visual Studio Code (VSC) click the two arrowheads in the lower left corner of VSC and select "Connect to WSL". Then you can open the repository folder from for Linux home directory.
This section summarizes some problems encountered during the first installation and startup of infDB on Windows, along with their solutions.
1. Ubuntu launched as root instead of Normal User
- Problem: WSL launched Ubuntu as the root user. May lead to problems while executing commands.
- Cause: No default user was configured during first installation.
- Solution:
Set the default user:
Restart WSL:
2. Docker Command Not Found in WSL2
-
Problem: The command 'docker' could not be found in this WSL2 distro.
-
Cause: Docker Desktop installed, but WSL integration disabled.
-
Fix: Enable Docker & WSL integration:
Docker Desktop → Settings → Resources → WSL Integration
Enable integration with Ubuntu. After enabling, check via:
3. Docker Permission Denied-
Problem: permission denied while trying to connect to the Docker daemon socket
-
Cause: Logged in user was not part of the docker group.
-
Fix:
Restart WSL: