Skip to content

Commit

Permalink
WIP: major reorganization.
Browse files Browse the repository at this point in the history
  • Loading branch information
tribeiro committed Oct 17, 2023
1 parent c5e91b6 commit 1bb0d3f
Show file tree
Hide file tree
Showing 24 changed files with 121 additions and 142 deletions.
File renamed without changes.
File renamed without changes.
52 changes: 52 additions & 0 deletions doc/development-guidelines/creating-new-repository.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@

.. _creating_a_new_repository:

#########################
Creating a New Repository
#########################

The simplest way to create a new repository is to use sqrbot-jr on slack.
Upon request, the bot can create new repositories in the lsstts GitHub organization with the standard template, for a given type of product.

To do this, open the slack desktop or web app.
Go to the bottom of the left hand panel and find the "App" section.
Click on the "+" sign, search for sqrbot-jr and start a chat with it.
Send a message with "create project" to the bot and slack and follow the prompts to have the repository automatically created and setup for you.

.. image:: /images/sqrbot-jr-1.png

Then pick the template ``LSST EUPs Package``

.. image:: /images/sqrbot-jr-2.png

Fill out the following fields:

name
The name of the package in the form of ``ts_{csc_name}``

Github Organization
Choose ``lsst-ts``

Copyright
Choose ``AURA``

Flavor
Choose ``DDS Python``

.. image:: /images/sqrbot-jr-3.png

Alternatively, you can also use the `template kit tool <https://github.com/lsst/templates>`_ provided by DM.
Once you have created the repository with its initial commit (either with sqrbot-jr or manually with the template kit), you need to set it up to follow our :ref:`workflow <development-workflow>`.

- First you need to create a ``develop`` branch from ``main`` and push it to the repository.
- Open the repository in GitHub and select the "Settings" tab at the top.
- Go to "Branches"
- On the "Default branch", click on "switch to another branch" and select develop instead of main.
- On "Branch protection rules", click on "Add rule".
- On "Branch name pattern" type "develop".
- On "Protect matching branches" select;

- Require pull request reviews before merging
- Include administrators

- At the bottom of the page select "Create"
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,4 @@ The team uses the following tools to enforce the style guide.
:mypy: Performs type checking on the code (optional).

There are several other optional style guide tools as well.
This is enforced by a tool called ``pre-commit``, see the reference below.

Additional Information
======================

* See :ref:`Jenkinsfile` for information on how to setup the CI job for your packages.
This job is usually used to test PRs and are triggered by pushes to the github repo.
* See :ref:`Conda` for information on how to setup the CI conda job for your packages.
This job is used to build conda packages.
They are triggered daily by the build system and automatically when tags are pushed to the github repo.
* See :ref:`documentation-guide` for information on how to write and publish package documentation.
* See :ref:`Versioning` for information on how to version your packages.
* See :ref:`reporting-xml-release-work` for information on how to update CSCs interfaces.
* See :ref:`pre-commit` for more information on the pre-commit tool.
This is enforced by a tool called :ref:`pre-commit`.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@

.. _adding_or_removing_a_csc_from_the_xml_interface:

###############################################
Adding or Removing a CSC from the XML Interface
###############################################
Expand Down
File renamed without changes.
49 changes: 0 additions & 49 deletions doc/guidelines/development/components.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,55 +30,6 @@ Component Resources

* A template has been produced for the format above which every application should follow.

Creating a New Repository
-------------------------

The simplest way to create a new repository is to use sqrbot-jr on slack.
Upon request, the bot can create new repositories in the lsstts GitHub organization with the standard template, for a given type of product.

To do this, open the slack desktop or web app.
Go to the bottom of the left hand panel and find the "App" section.
Click on the "+" sign, search for sqrbot-jr and start a chat with it.
Send a message with "create project" to the bot and slack and follow the prompts to have the repository automatically created and setup for you.

.. image:: /images/sqrbot-jr-1.png

Then pick the template ``LSST EUPs Package``

.. image:: /images/sqrbot-jr-2.png

Fill out the following fields:

name
The name of the package in the form of ``ts_{csc_name}``

Github Organization
Choose ``lsst-ts``

Copyright
Choose ``AURA``

Flavor
Choose ``DDS Python``

.. image:: /images/sqrbot-jr-3.png

Alternatively, you can also use the `template kit tool <https://github.com/lsst/templates>`_ provided by DM.
Once you have created the repository with its initial commit (either with sqrbot-jr or manually with the template kit), you need to set it up to follow our :ref:`workflow <development-workflow>`.

- First you need to create a ``develop`` branch from ``main`` and push it to the repository.
- Open the repository in GitHub and select the "Settings" tab at the top.
- Go to "Branches"
- On the "Default branch", click on "switch to another branch" and select develop instead of main.
- On "Branch protection rules", click on "Add rule".
- On "Branch name pattern" type "develop".
- On "Protect matching branches" select;

- Require pull request reviews before merging
- Include administrators

- At the bottom of the page select "Create"

Component Roles
===============

Expand Down
10 changes: 3 additions & 7 deletions doc/guidelines/development/docker/docker.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
##################
Docker Development
##################

Docker is TSSW's preferred method for CSC development.
Docker is a containerization software designed to help application environments maintain consistency between machines.
.. _installing_docker_on_centos:

###########################
Installing docker on CentOS
===========================
###########################

Docker Install via Docker's repository
--------------------------------------
Expand Down
15 changes: 0 additions & 15 deletions doc/guidelines/development/index.rst

This file was deleted.

15 changes: 0 additions & 15 deletions doc/guidelines/index.rst

This file was deleted.

Binary file added doc/images/IMG_4884 2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/images/IMG_4885.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 45 additions & 20 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,63 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
######################################################
Telescope and Site Software: Procedures and Guidelines
######################################################
###########################################
Telescope and Site Software Developer Guide
###########################################

This page contains general procedures and guidelines adopted by the Telescope and Site Software (TSSW) team.
It serves as reference for the work done during construction, and future operations, of the Vera Rubin Observatory control software.


Procedures
##########
This section outlines procedures that our team uses such as workflow, jira and sprint management.
.. Procedures
.. ##########
Contains information about the team organization and overall workflows.
This is a good starting point for new contributors to understand how to cooperate with the software team.
.. This section outlines procedures that our team uses such as workflow, jira and sprint management.
.. Contains information about the team organization and overall workflows.
.. This is a good starting point for new contributors to understand how to cooperate with the software team.
.. toctree::
:glob:
:maxdepth: 3
Team
####

procedures/index
Basic information about the TSSW team and our culture.

- :ref:`onboarding_checklist`
- :ref:`culture_and_standards`

Guides
######
This section contains guides for docker, development and languages that our team uses.
Contains general guidelines for developing and contributing to the observatory control system.
Communications
##############

.. toctree::
:glob:
:maxdepth: 3
TSSW adopts the same communications channels and procedures as Data Management (DM).
For more information see `DM Communications`_ Guidelines.

guidelines/index
.. _DM Communications: https://developer.lsst.io/#part-communications

Work Management
###############

How work is coordinated and executed by TSSW.

- :ref:`Jira_Workflow`
- :ref:`development_workflow`

Development Guides
##################

For the most part TSSW follow `DM code style guidelines`_.
We highly recommend reviewing these guidelines before contributing to TSSW repositories.

.. _DM code style guidelines: https://developer.lsst.io/coding/intro.html

Following are a few guidelines particular to TSSW software:

- :ref:`creating_a_new_repository`.
- :ref:`Python` is the language used most broadly by TSSW.
- :ref:`pre-commit` is a tool used to help guarantee style, formatting, etc consistency across the project.
- :ref:`Conda` is the official package management system used to distribute TSSW software.
- :ref:`Jenkinsfile` contains information on how to setup the CI job for your packages.
- :ref:`documentation-guide` contains information on how to write and publish package documentation.
- :ref:`Versioning` describes how to version your packages.
- :ref:`reporting-xml-release-work` describes how to update CSCs interfaces.
- :ref:`adding_or_removing_a_csc_from_the_xml_interface` describes how to add new components to the observatory control system.
- :ref:`XML-version-history` describes how to handle versioning of the control system interfaces.
6 changes: 6 additions & 0 deletions doc/procedures/culture-and-standards.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

.. _culture_and_standards:

##################################
Team culture and conduct standards
##################################
21 changes: 0 additions & 21 deletions doc/procedures/index.rst

This file was deleted.

8 changes: 8 additions & 0 deletions doc/procedures/onboarding-checklist.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

.. _onboarding_checklist:

####################
Onboarding checklist
####################

TBD
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _development-workflow:
.. _development_workflow:

####################
Development Workflow
Expand Down
2 changes: 2 additions & 0 deletions doc/procedures/jira.rst → doc/work_management/jira.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _Jira_Workflow:

#############
Jira Workflow
#############
Expand Down

0 comments on commit 1bb0d3f

Please sign in to comment.