action #177970
openopenQA Project (public) - coordination #180626: [saga][epic] Support switch to gitea for openSUSE/SUSE based products
coordination #177910: [epic] Support OBS migration to git backend
Move devel:languages:perl to Git
0%
Description
Motivation¶
From https://en.opensuse.org/openSUSE:OBS_to_Git
We are trying to move new development from OBS based projects, to Git based projects. This is work-in-progress. The goal is to migrate openSUSE:Factory to use Git for source management.
Acceptance Criteria¶
AC1: devel:languages:perl uses git
AC2: autoupdate workflow works with AC1
Out of scope¶
devel:languages:perl:CPAN-*
can stay in OBS without git (for now)
Updated by tinita 7 days ago
- Description updated (diff)
Currently clarifying what I have to do for devel:languages:perl
with Adam Majer who will do the migration:
https://suse.slack.com/archives/C03FJGXPNF9/p1744811807199649
Apparently it's fine if devel:languages:perl:CPAN-*
stays in OBS, as these packages are not branches of d:l:p.
devel:languages:perl:autoupdate
will probably have to be replaced by doing forks in git and automatic PRs.
So I will create a small copy of d:l:p in OBS+git and adjust the autoupdate script.
Updated by tinita 6 days ago
I created a project with one module from devel:languages:perl:
https://build.opensuse.org/package/show/home:tinita:soo:devel:languages:perl/perl-DateTime-Tiny
and a gitea package https://src.opensuse.org/perl/perl-DateTime-Tiny
I created a gitea config with the following command. For that I needed to create a token in the gitea webui.
% git-obs login add --url=https://src.opensuse.org --user=tinita obs --set-as-default
Adding a Gitea credentials entry with name 'obs' ...
* Config path: /home/tina/.config/tea/config.yml
Enter Gitea token for user 'tinita': ***
Added entry:
Name : obs
Default : true
URL : https://src.opensuse.org
User : tinita
I was able to create a fork (aka branch) with
% obs fork home:tinita:soo:devel:languages:perl perl-DateTime-Tiny
Using the following Gitea settings:
* Config path: /home/tina/.config/tea/config.yml
* Login (name of the entry in the config file): obs
* URL: https://src.opensuse.org
* User: tinita
Forking git repo perl/perl-DateTime-Tiny ...
* Fork already exists: tinita/perl-DateTime-Tiny
Forking OBS package home:tinita:soo:devel:languages:perl/perl-DateTime-Tiny ...
* OBS apiurl: https://api.opensuse.org
* Fork created: home:tinita:branches:home:tinita:soo:devel:languages:perl/perl-DateTime-Tiny
* scmsync URL: https://src.opensuse.org/tinita/perl-DateTime-Tiny#main
which created https://src.opensuse.org/tinita/perl-DateTime-Tiny and https://build.opensuse.org/package/show/home:tinita:branches:home:tinita:soo:devel:languages:perl/perl-DateTime-Tiny
Then I cloned the fork
% git-obs repo clone tinita/perl-DateTime-Tiny
% cd perl-DateTime-Tiny
# made a change, commited to main and pushed
% git-obs pr create --title=test --target-branch=main
Using the following Gitea settings:
* Config path: /home/tina/.config/tea/config.yml
* Login (name of the entry in the config file): obs
* URL: https://src.opensuse.org
* User: tinita
Creating a pull request ...
* Local git: branch: main, rev: 5f01668f29043c4f314ab7f84214044dacb0cd19a56d73f625f57d4133d17c8b
* Source: tinita/perl-DateTime-Tiny, branch: main, rev: 5f01668f29043c4f314ab7f84214044dacb0cd19a56d73f625f57d4133d17c8b
* Target: perl/perl-DateTime-Tiny, branch: main, rev: 40973aa830b223dafeae5d7c74f54b1ef7cb5d4c3c4bb2d0f36c9719ca9497ec
Pull request created:
ID : perl/perl-DateTime-Tiny#3
URL : https://src.opensuse.org/perl/perl-DateTime-Tiny/pulls/3
Title : test via git-obs pr create
State : open
Draft : no
Merged : no
Allow edit : no
Author : tinita (Tina Müller <tina.mueller@suse.com>)
Source : tinita/perl-DateTime-Tiny, branch: main, commit: 5f01668f29043c4f314ab7f84214044dacb0cd19a56d73f625f57d4133d17c8b
Description :
What I don't understand yet:
If I go to the PR, it does not link to the "branched" package in OBS, so I need to find out the url manually and go there to check the build results. https://src.opensuse.org/perl/perl-DateTime-Tiny/pulls/3
Also in OBS, I don't see a submit request or the branched project, so it's actually not really a branch.