Changeset View
Changeset View
Standalone View
Standalone View
docs/tutorials/add-new-package.rst
Show First 20 Lines • Show All 70 Lines • ▼ Show 20 Lines | |||||
- launch the command ``bin/init-py-repo`` to initialize the repository with a project | - launch the command ``bin/init-py-repo`` to initialize the repository with a project | ||||
template | template | ||||
.. code:: bash | .. code:: bash | ||||
bin/init-py-repo swh-new-repo | bin/init-py-repo swh-new-repo | ||||
- Within that new repository, replace the ``swh-py-template`` entry in | |||||
``docs/index.rst`` with the new package name ``swh-<package>`` (e.g: | |||||
``swh-scrubber``). | |||||
.. code:: bash | |||||
REPO_NAME=swh-new-repo # edit this part, keep the "swh-" prefix | |||||
sed -i -e "s/swh-py-template/$REPO_NAME/g" docs/index.rst | |||||
- Edit the default content of the template (`Example <https://forge.softwareheritage.org/rDCNT142fff84305b793974e6f7b837988e5fb95d8db1>`__) | - Edit the default content of the template (`Example <https://forge.softwareheritage.org/rDCNT142fff84305b793974e6f7b837988e5fb95d8db1>`__) | ||||
- Configure **your local** pre-commit hook | - Configure **your local** pre-commit hook | ||||
- In the ``swh-environment/swh-my-new-repo`` directory, execute: | - In the ``swh-environment/swh-my-new-repo`` directory, execute: | ||||
.. code:: bash | .. code:: bash | ||||
grep -q pre-commit.com .git/hooks/pre-commit || pre-commit install | grep -q pre-commit.com .git/hooks/pre-commit || pre-commit install | ||||
- Declare the repository on the mr configuration | - Declare the repository on the mr configuration | ||||
- Edit the ``.mrconfig`` file and declare the new repository (just | - Edit the ``.mrconfig`` file and declare the new repository (just | ||||
duplicate one existing entry and adapt with the new package name) | duplicate one existing entry and adapt with the new package name) | ||||
- Commit file modification (`Example <https://forge.softwareheritage.org/rCJSWHede4a65bc9e103db99dd8b0690caa3a769b378bd>`__) | - Commit file modification (`Example | ||||
<https://forge.softwareheritage.org/rCJSWHede4a65bc9e103db99dd8b0690caa3a769b378bd>`__) | |||||
Install CI jobs | Install CI jobs | ||||
--------------- | --------------- | ||||
- In the swh-jenkins-jobs_ repository, open the | - In the swh-jenkins-jobs_ repository, open the | ||||
``jobs/swh-packages.yaml`` and add a section for the new repository as for the others | ``jobs/swh-packages.yaml`` and add a section for the new repository as for the others | ||||
(`Example <https://forge.softwareheritage.org/rCJSWHdd5b3a1192cb45c07103be199af8c2a74478746e>`__) | (`Example <https://forge.softwareheritage.org/rCJSWHdd5b3a1192cb45c07103be199af8c2a74478746e>`__) | ||||
Show All 10 Lines | |||||
If you want to attend immedialy, follow through the `Setting up the debian build`_ | If you want to attend immedialy, follow through the `Setting up the debian build`_ | ||||
documentation. | documentation. | ||||
Documentation updates | Documentation updates | ||||
--------------------- | --------------------- | ||||
- Documentation repository is located in the swh-docs_ repository. | - Documentation repository is located in the swh-docs_ repository. | ||||
- Add the new package dependency in the top-level ``requirements-swh.txt`` and | - Add the package dependency in the top-level ``requirements-swh.txt`` (publication | ||||
``requirements-swh-dev.txt`` | build) and ``requirements-swh-dev.txt`` (documentation development build). | ||||
- Reference the package in the toc tree located in :ref:`docs/api-reference.rst | |||||
<api-reference>`. | |||||
- Add the new package entry in ``docs/index.rst`` with a concise description of the | - Reference the package in the index with its concise description located in | ||||
package | :ref:`docs/index.rst <components>`. | ||||
:: | :: | ||||
:ref:`swh.my_new_repo <swh-my-new-repo>` | :ref:`swh.my_new_repo <swh-my-new-repo>` | ||||
short description of the repository | short description of the repository | ||||
... | ... | ||||
# at the end of the index page | # at the end of the index page | ||||
swh.my_new_repo <swh-my-new-repo/index> | swh.my_new_repo <swh-my-new-repo/index> | ||||
- ensure this builds fine locally (e.g run `tox`, then `make -C docs`) | - ensure this builds fine locally (e.g run `tox`, then `make -C docs`) | ||||
- Then open a diff to advertise the new documentation entrypoints (`Example <https://forge.softwareheritage.org/D5327>`__) | - Then open a diff to advertise the new documentation entrypoints (`Example | ||||
<https://forge.softwareheritage.org/D7448>`__) | |||||
.. _`swh phabricator instance`: https://forge.softwareheritage.org/ | .. _`swh phabricator instance`: https://forge.softwareheritage.org/ | ||||
.. _`Continuous Integration (CI)`: https://jenkins.softwareheritage.org | .. _`Continuous Integration (CI)`: https://jenkins.softwareheritage.org | ||||
.. _`new Project`: https://forge.softwareheritage.org/project/edit/form/3/ | .. _`new Project`: https://forge.softwareheritage.org/project/edit/form/3/ | ||||
.. _`new Git repository`: https://forge.softwareheritage.org/diffusion/edit/form/default/?vcs=git | .. _`new Git repository`: https://forge.softwareheritage.org/diffusion/edit/form/default/?vcs=git | ||||
.. _`naming convention`: https://wiki.softwareheritage.org/wiki/Phabricator_callsign_naming_convention | .. _`naming convention`: https://wiki.softwareheritage.org/wiki/Phabricator_callsign_naming_convention | ||||
.. _swh-jenkins-jobs: https://forge.softwareheritage.org/source/swh-jenkins-jobs | .. _swh-jenkins-jobs: https://forge.softwareheritage.org/source/swh-jenkins-jobs | ||||
.. _`post-receive hook`: https://wiki.softwareheritage.org/wiki/Debian_packaging#Setting_up_the_repository_on_Phabricator | .. _`post-receive hook`: https://wiki.softwareheritage.org/wiki/Debian_packaging#Setting_up_the_repository_on_Phabricator | ||||
.. _`Setting up the debian jenkins jobs`: https://wiki.softwareheritage.org/wiki/Debian_packaging#Setting_up_the_Jenkins_jobs | .. _`Setting up the debian jenkins jobs`: https://wiki.softwareheritage.org/wiki/Debian_packaging#Setting_up_the_Jenkins_jobs | ||||
.. _`Setting up the debian build`: https://wiki.softwareheritage.org/wiki/Debian_packaging#Git_repositories_for_Debian_packages | .. _`Setting up the debian build`: https://wiki.softwareheritage.org/wiki/Debian_packaging#Git_repositories_for_Debian_packages | ||||
.. _swh-docs: https://forge.softwareheritage.org/source/swh-docs/ | .. _swh-docs: https://forge.softwareheritage.org/source/swh-docs/ |