Hi Edward,

Thank you so much for raising this.

In my experience, a single PR which contains the change of both the repos and sigs definitons would be a good practice. While as we may know, the repo in sigs is not in the form of structural definition, so it's impossible to add an extra rename attribute for a single repo.  So in the current situation, I would recommend to separate into  two PRs. In prior to changing the sigs definition, the PR for repos definitions must be merged  first. Although the CI would fail with complaining the new repo does not exit, it could be also considered as a reminder for telling us to finish the renaming operations by changing the sigs definition accordingly.

I've admitted that it's not a  ideal solution. Please let me know what you think. Thank you.

Regards,
Joey



On Thu, Mar 19, 2020 at 3:49 PM Edward Lee <freesky.edward@gmail.com> wrote:
hi, Joey

Thanks for the efforts. both of them are very helpful. 

Regarding to `rename repo` feature, I would suggest two cases we'd better think it over.

1. As you may know,  currently there are two major cases: 
     - one is to add repo in repository[1] and sig definition with defferent PRs, sig definition must follow repo is ready. 
     - the other case is to update repository and sigs definition within one PR.
    both of the two cases will be ok.
   but to `rename` case, if a PR was created to update one repo's name, does it require to update the sigs definitions[2]  with the same PR or seperated PR?  
 
2. currently, we have the CI tasks to check whether the sig definition is right or not. that includes repository name check and user id existing check via send request to gitee API.
   I stongly recommend to consider whether will it work well  for rename PR since the repository not really changed, however sigs definition changed.

anyhow, looking forward to the features. thanks very much.

[1]https://gitee.com/openeuler/community/tree/master/repository
[2]https://gitee.com/openeuler/community/blob/master/sig/sigs.yaml

On Tue, Mar 17, 2020 at 5:49 PM joey via Infra <infra@openeuler.org> wrote:
Hi all:

I’m Joey and from infrastructure team of openEuler. So glad to see you guys and hope everybody is doing well. 

I’m writing here to have a brief introduction to the new features provided by ci-bot. We believe they would be helpful for your repository management.

As it’s known to us, ci-bot is an automation system to handle lots of infrastructure stuff, such as gitee web hook events, repository management, owner management and etc. For more details about our lovely ci-bot, please refer to https://gitee.com/openeuler/ci-bot. For now, please let me elaborate how you can make use of the two features to ease the repository management.

1. Add commentable  property for repository definition in openeuler.yaml or src-openeuler.yaml under openeuler/community. PR is: https://gitee.com/openeuler/ci-bot/pulls/26 .

> Previously users could leave a comment at the index page of the project, which is a great feature provided by Gitee. While as we all know, the more conventional way is posting an issue request for questions/bugs/features. So after discussion, we finally consider to disable the comment-to-repository feature for all repositories. So here comes to this functionality, which adds an extra commentable property. If it’s not specified, the default value is false of boolean type. 

> Actually, you DO NOT need to pay any attention to this new property since non-commentable repository is strongly recommended. Just think it never exists.  The example is shown as below,

```yaml
community: openeuler
repositories:
- name: A-Tune
  description: ""
  type: public
  commentable: false # User CAN NOT see or leave comment to repository
- name: ci-bot
  description: ""
  type: public
  commentable: true  # Users CAN see and leave comment to repository
- name: community
  description: ""
  type: public
  # User CAN NOT see or leave comment to repository
```

2. Add rename_from property for repository definition in openeuler.yaml or src-openeuler.yaml under openeuler/community. PR is: https://gitee.com/openeuler/ci-bot/pulls/27 .

> Please let me take a real case for example. In PR https://gitee.com/openeuler/community/pulls/128, iSulad team wants to change the names of three repositories:
  • iSulad-kit ===> iSulad-img
  • iSulad-lxcfs-toolkit ===> lxcfs-tools
  • iSulad-tools ===> syscontainer-tools
> As the PR is shown to us, the code diff is as below, which leaded ci-bot to completely remove the old repository and create a new empty one with the new name, causing loss of all the existing issues and PRs.

```diff
- - name: iSulad-kit
+ - name: iSulad-img
    description: ""
- - name: iSulad-lxcfs-toolkit
+ - name: lxcfs-toolkit
    description: ""
- - name: iSulad-tools
+ - name: syscontainer-tools
    description: ""
```

> While after the PR  has been merged, the diff would be like the following. This could make use of the newly supported renaming-repository Gitee OpenAPI to keep all the issues and PRs unchanged.

```diff
- - name: iSulad-kit
+ - name: iSulad-img
    description: ""
+   rename_from: iSulad-kit
- - name: iSulad-lxcfs-toolkit
+ - name: lxcfs-toolkit
    description: ""
+   rename_from: iSulad-lxcfs-toolkit
- - name: iSulad-tools
+ - name: syscontainer-tools
    description: ""
+   rename_from: iSulad-tools
```
While it should noted that rename_from is not declarative but imperative cause it will take effect only for once and not stored in DB. So if we remove it from repository definition after renaming operation has been finished, nothing will happen. 


Hopefully I have explained clear enough. Currently the new functionalities are not in production yet and your feedback is rather important to us. So please reply this email for further discussion as soon as you have any doubt. Looking forward to your feedback. 

Take care!


Best regards,
Joey







_______________________________________________
Infra mailing list -- infra@openeuler.org
To unsubscribe send an email to infra-leave@openeuler.org


--

Edward Lee
-----------------------------------------------------------
Phone: 0086-18200191386
Address: Chengdu City, Sichuan Privince, China
_______________________________________________
Infra mailing list -- infra@openeuler.org
To unsubscribe send an email to infra-leave@openeuler.org