ECGALAXY components source code is managed on code.europa.eu/ecgalaxy and mirrored on github.com/ecgalaxy. It is also mirrored internally on European Commission's CITnet Bitbucket (within the ECGALAXY project).
General considerations
Contributions are centralised on code.europa.eu/ecgalaxy.
In order to contribute, you will need to register on the platform first; please check About code.europa.eu.
For a trivial fix or improvement, please feel free to open a merge request.
For a more advanced contribution, please open an issue, so we can discuss your idea first.
If you have found a security vulnerability in the ECGALAXY source code, please send an e-mail to DIGIT-ECGALAXY@ec.europa.eu (encrypt it with SECEM if possible).
Guidelines
All the ECGALAXY components follow the Semantic Versioning and Conventional Commits specifications, and implement main principles of Keep a Changelog.
Each component source code must contain at least a README.md file and the EUPL license (when applicable) in a text format. Main releases are listed and documented in a RELEASES.md file.
Commit messages
Commit messages types and their impact on versioning are:
- feat: to introduce a new feature (MINOR or MAJOR in case of a breaking change)
- fix: to fix a bug (PATCH)
- chore: to e.g. update a dependency (PATCH)
- ci: to update the CI pipeline configuration
- docs: to update the documentation
- test: for testing purposes
Using commit messages scopes is optional.
Code style
- Ansible code is verified with Ansible Lint
- Terraform code is verified with TFLint
Linting must pass for a merge request to be accepted.
Tests
- Ansible roles are tested with Ansible Molecule
- Ansible playbooks and managed infrastructures are tested with TestInfra
- Terraform code is validated with built-in testing tools
Components must be covered by tests, and tests must pass for a merge request to be accepted.
SAST
Static code analysis is performed with KICS.
Continuous Integration
Pipelines are executed when the code is updated or when a new tag is created.
They are also scheduled to be run every day; results of executions are monitored by the ECGALAXY team.
Pipelines must pass for a merge request to be accepted.
Contact
If you have questions, please feel free to contact DIGIT-ECGALAXY@ec.europa.eu.