|
| 1 | +Creating a new codestream |
| 2 | +========================= |
| 3 | + |
| 4 | +To create a new codestream follow these steps: |
| 5 | + |
| 6 | +1. Create a deployment branch. It must have the name |
| 7 | + :py:attr:`~staging.bot.StagingBot.deployment_branch_name` and should contain |
| 8 | + only a :file:`_config` file with the prjconf of the target project (usually |
| 9 | + you can take the prjconf from the previous service pack, if applicable). |
| 10 | + |
| 11 | +2. Create the target project on OBS. This can be achieved via the bot command |
| 12 | + ``setup_obs_project``: |
| 13 | + |
| 14 | +.. code-block:: shell |
| 15 | +
|
| 16 | + $ export OSC_USER=$MY_USER |
| 17 | + $ export OSC_PASSWORD=$MY_PASS |
| 18 | + $ poetry run scratch-build-bot \ |
| 19 | + --os-version $CODE_STREAM \ |
| 20 | + --branch-name="doesNotMatter" \ |
| 21 | + -vvvv setup_obs_project |
| 22 | +
|
| 23 | +3. Add the new code stream to the github action files to the ``os_version`` |
| 24 | + list: |
| 25 | + :file:`.github/workflows/obs_build.yml` |
| 26 | + :file:`.github/workflows/update-deployment-branches.yml` |
| 27 | + :file:`.github/workflows/update-cr-project.yml` |
| 28 | + :file:`.github/workflows/cleanup-staging.yml` |
| 29 | + |
| 30 | + |
| 31 | +SLCC specific steps |
| 32 | +------------------- |
| 33 | + |
| 34 | +For SLCC we need to build the FTP trees (= repositories) ourselves. For that we |
| 35 | +must create the ``000*`` packages in the checked out project: |
| 36 | + |
| 37 | +.. code-block:: shell |
| 38 | +
|
| 39 | + $ cd devel:BCI:SLCC:$stream/ |
| 40 | +
|
| 41 | + $ osc mkpac 000product |
| 42 | + A 000product |
| 43 | +
|
| 44 | + $ osc mkpac 000release-packages |
| 45 | + A 000release-packages |
| 46 | +
|
| 47 | + $ osc mkpac 000package-groups |
| 48 | + A 000package-groups |
| 49 | +
|
| 50 | +
|
| 51 | +We only have to touch ``000package-groups`` directly, the remaining two are |
| 52 | +auto-generated using `pkglistgen |
| 53 | +<https://github.com/openSUSE/openSUSE-release-tools/blob/master/docs/pkglistgen.md>`_. |
| 54 | + |
| 55 | + |
| 56 | +python3 ./pkglistgen.py --verbose -A https://api.opensuse.org update_and_solve -p devel:BCI:SLCC:dynamic-developer -s target |
0 commit comments