Development tools and practices#

SKA git repositories#

The SKA uses git as its distributed version control system, and all SKA code shall be hosted in an SKA organisation. The gitlab organization ska-telescope can be found at ska-telescope. All SKA developers must have a gitlab account and be added to the organisation. See Working with GitLab for further details.

Working with SKA Jira#

Every team is tracking daily work in a team-based project on our JIRA server at Our internal wiki, Confluence, has guidance on how we use JIRA. We rely on integrations between GitLab and JIRA to manage our work.

CI/CD: Continuous Integration and Deployment#

CI/CD is at the heart of SKA development, and we use GitLab’s automation extensively, so we can test and deploy our software more efficiently.


Tests are a key part of producing working software. We suggest you look at our Software Testing Policy and Strategy, and our BDD testing guide and BDD Walkthrough.

Test Infrastructure#

To support our testing and CI/CD pipelines, we have the multiple kubernetes clusters configured to allow testing to happen.


To facilitate code portability and reliability and test running, we use containers. We also use kubernetes as our container orchestration system.


While we prefer working code over documentation (as Agile developers), we also recognise that this is a large and long-lived project, so documentation has an important place.

Package Release Process#

What you need to know in order to release an SKA software package.


Making sure your software project outputs useful logs for the SKA

Monitoring Dashboards#

You’ve deployed your code on one of our test systems. Now you want to monitor it.

Bug Reporting#

What to do when you find a bug in SKA code.

Coding Guidelines#

Guidelines to the coding standards we apply in the SKA. Not available for all languages.


Questions frequently asked by developers.