diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8551084f5..c3cf74388 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,6 +12,23 @@ you planning to submit your own fix in a pull request? [issues]: https://github.com/cfe-lab/MiCall/issues ## Development + +The easiest way to start developing MiCall is by using DevContainers. + +1. **Open Project**: + - If you're using Visual Studio Code on your local machine, open the MiCall project folder and select the "Reopen in Container" prompt to initialize the DevContainer environment. Make sure you have the necessary DevContainer extension installed beforehand, available [here](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). + - For a web-based development environment, you can develop directly on GitHub using GitHub Codespaces by navigating to the MiCall repository on GitHub and selecting "Code" > "Open with Codespaces" to launch a pre-configured environment. + +2. **Dependency Installation**: All required dependencies will be automatically installed whether you are using a local DevContainer or GitHub Codespace. + +3. **Interpreter Selection**: + - Following the setup, if you encounter dependency errors, manually select the Python interpreter version `3.8`. This is necessary because the container includes multiple Python versions, and the default selection might not be appropriate. + - This issue is tracked and further details can be found [here](https://github.com/cfe-lab/MiCall/issues/1033). + +4. **Verification**: To ensure that the environment is correctly configured, execute `pytest` within the DevContainer or Codespace. All tests should pass, indicating that the setup is successful. + +### Local install + To see how all the tools should be installed, follow the steps in `Dockerfile` and `dev.dockerfile`. If you prefer, you can run your development environment under docker, as described in `dev.dockerfile`. The same installation steps are @@ -286,4 +303,4 @@ similar steps to setting up a development workstation. Follow these steps: [parse_args]: https://github.com/cfe-lab/MiCall/blame/master/micall_watcher.py [Zenodo]: https://doi.org/10.5281/zenodo.2644171 [can't log in]: https://www.docker.com/blog/registry-v1-api-deprecation/ -[docker hub]: https://hub.docker.com/orgs/cfelab/members \ No newline at end of file +[docker hub]: https://hub.docker.com/orgs/cfelab/members