Project

General

Profile

Actions

action #177970

open

openQA 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

Added by tinita about 2 months ago. Updated 6 days ago.

Status:
New
Priority:
Normal
Assignee:
Start date:
2025-02-26
Due date:
% Done:

0%

Estimated time:

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)
Actions #1

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.

Actions #2

Updated by tinita 7 days ago

  • Target version changed from Tools - Next to Ready
Actions #3

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.

Actions #4

Updated by tinita 6 days ago

  • Priority changed from Low to Normal
Actions

Also available in: Atom PDF