Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
Factory
Contains the definition of the packages built on OBS for the SUSE Edge Solution (WIP)
This repository is linked to an OBS project: https://build.opensuse.org/project/show/isv:SUSE:Edge:Factory Every directory in this repository represents a package in that OBS project, those should be synced automatically from this repository.
Adding a package
To add a package, first create a directory with your package as you intend it in OBS.
Then run the .obs/add_package.py script to create the package in the OBS project and add the required elements to the synchronization workflow.
This script is using the osc command behind the scenes, so ensure you have it installed and correctly configured, as well as you have the correct permissions to create a new package in the project.
You will then get asked to push your changes.
Testing a fork or a development branch
You can create a project in your home space in OBS, use the same prjconf as the one of "isv:SUSE:Edge:Factory", and copy the repositories part of the metadata (adjust self references). Then add a scmsync stanza to your metadata like this (adjust repository path and branch):
<scmsync>https://src.opensuse.org/suse-edge/Factory#main</scmsync>
Cutting a release version branch
- Do the appropriate git branch command
- Change the project path in
.obs/common.pyfile (e.g. fromisv:SUSE:Edge:Factorytoisv:SUSE:Edge:3.2) - Change the branch reference in
.obs/common.pyfile (e.g. frommainto3.2) - Edit the
.obs/workflows.ymlfile to change the references to the correct projects - Commit those changes to the new branch and push the new branch
- Create the base and to-test projects (e.g.
isv:SUSE:Edge:3.2andisv:SUSE:Edge:3.2:ToTest), use theisv:SUSE:Edge:Factoryprojects as example for metadata part - Use the prjconf of Factory in all those projects
- Run the
.obs/sync_packages.pyscript to create all the packages in the base project - Go take a few cups of coffee/tea/mate/... while waiting for OBS to build everything
- Once built do an
osc releaseof the project for it to be copied over in theToTestsection - Hand over to QA to test whatever is in
ToTest. (You can continue to work on the base branch if needed meanwhile)