SKA telescope developer portal¶
Welcome to the Square Kilometre Array software documentation portal. Whether you are a developer involved in SKA or you are simply one of our many users, all of our software processes and projects are documented or linked to in this portal.
The portal is frequently updated as the project evolves; if you feel that something is missing, please have a look at our guide to contributing to the developer portal
If you’re new to developing the SKA, please have a look at our Onboarding material and the guideance on setting up your development environment.
Note
Please also read the SKA Code of Conduct, which governs all SKA interactions.
What follows is a brief guide to the headings you’ll find in the left-hand sidebar of this site. Feel free to explore!
Getting Started and the SKA Developer Community¶
This section is about getting you up and running. It contains the onboarding material for all new SKA developers, the general contribution guidelines when working on SKA projects, guidance on setting up your development environment, and a list of projects, so you know what the SKA is working on. There is also a wealth of information about our development tools and practices, which you can read as you start development work.
- Onboarding: Welcome to the SKA developer community
- Contributing to the SKA
- Configuring your development environment
A list of the tools we are using to collaborate, together with guidance on how to use them can be found at this confluence page: SKA Guidelines to Remote Working (requires an SKA Confluence account).
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 https://gitlab.com/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 https://jira.skatelescope.org. 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.
Testing¶
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 EngageSKA and other clusters configured to allow testing to happen.
Containerisation¶
To facilitate code portability and reliability and test running, we use containers. We also use kubernetes as our container orchestration system.
Documentation¶
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.
Monitoring Dashboards¶
You’ve deployed your code on one of our test systems. Now you want to monitor it.
Coding Guidelines¶
Guidelines to the coding standards we apply in the SKA. Not available for all languages.
Definition of Done¶
The definition of done is used to guide teams in planning and estimating the size of stories and features:
Fundamental SKA Software & Hardware Description Language Standards¶
These standards underpin all SKA software development. The canonical copy is held in eB, but the essential information is here:
Incident Management¶
The incident management workflow is used to guide teams in dealing with anomolous conditions that lead to some form of service outage, unexpected system behaviour or degraded system performance:
About the SKA¶
For information about the SKA, have a look at this section.
- The SKA Organisation
- SAFe for SKA
- Follow us on social media
- Agile teams and responsibilities
- Follow us on social media
Contribute to the SKA Developer Portal¶
We encourage all members of the development community to submit improvements to the Developer Portal. These pages describe how you can contribute changes to the Developer Portal.