You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
QGIS Enhancement: Moving issues from Redmine to GitHub
Date 2019/03/07
Author Jorge Gustavo (@jgorcha), Régis Haubourg Contactjgr@geomaster.pt, regis.haubourg at gmail.com
Version QGIS (all)
Summary
QGIS issues are being tracked in Redmine. Our Redmine is becoming obsolete, difficult to upgrade and difficult to use by newcomers. Managing the issues in the same repository as the code (currently in GitHub), has technical advantages and "community" related advantages as well.
This proposal aims to be as specific as possible. The goal is that it can be tested and verified before deployment by any developer.
Proposed Solution
The proposed solution is to migrate all issues from Redmine to GitHub.
The Redmine instance can remain online for a while. But if we decide in the future to move to GitLab, we just need to migrate GitHub (because all the issue history is already in GitHub).
Workflow
Overall workflow
Proposal for new QGIS GitHub labels
1.1 Define how to map Redmine attributes to GitHub labels.
1.1 Create the labels in QGIS/qgis. Proposal: Bug, Feature request, Feedback, Priority: low, Priority: normal, Priority: high, Regression
Create a map between Redmine users and GitHub account
1.1 Get a list of current user names (ie first name, last name) from Redmine (query done)
1.1 Create a very simple form on Redmine site, that receives the user name as parameter and asks for the GitHub account (code done)
1.1 Send an email (from redmine@qgis.org) to each user with the link for the form to provide his GitHub username (script to the written)
Contact GitHub crew to allow more request per hour. Right now, even with 1 sec. delay between each request (to create issue or comment), the script fails. Our bot has been blocked!
Run the migration (Migration workflow detailed below)
1.1 Check for errors
1.1.1 Delete the last issue migrated and rerun the script from it
1.1 Check if all issues and comments were created
Update all Redmine issues. Add a comment to each saying that the issue was migrated do GitHub and add a link to the new issue on GitHub.
Put Redmine read only
Start mirroring QGIS repository on GitLab.
Announce that issues were migrated and from now on the GitHub should be used to fill issues
1.1 Update QGIS documentation
1.2 Use all channels to spread the news
Migration workflow
Get issues from Redmine to GitHub. All issues will be transferred to QGIS code repository (some are related with the QGIS Plugin site and some other ones, but only a few).
Create a mapping between Redmine attributes and GitHub labels
Create a mapping between Redmine users and GitHub users
Run migration with: Issues x label map x account map. The result will be new issues on GitHub, plus a key pair json with: redmine id → GitHub id
4.1 Reformat Textile to Markdown
4.2 Assign issue to original assignee if we have the usermap
Run migration again with: issue map. This second step is necessary to replace all occurrences of Redmine with GitHub ids.
QGIS GitHub labels
Labels in GitHub are used for PR and for issues within the repository.
We already have 27 labels that have being used (and created) for PR.
QGIS Enhancement: Moving issues from Redmine to GitHub
Date 2019/03/07
Author Jorge Gustavo (@jgorcha), Régis Haubourg
Contact jgr@geomaster.pt, regis.haubourg at gmail.com
Version QGIS (all)
Summary
QGIS issues are being tracked in Redmine. Our Redmine is becoming obsolete, difficult to upgrade and difficult to use by newcomers. Managing the issues in the same repository as the code (currently in GitHub), has technical advantages and "community" related advantages as well.
This proposal aims to be as specific as possible. The goal is that it can be tested and verified before deployment by any developer.
Proposed Solution
The proposed solution is to migrate all issues from Redmine to GitHub.
The Redmine instance can remain online for a while. But if we decide in the future to move to GitLab, we just need to migrate GitHub (because all the issue history is already in GitHub).
Workflow
Overall workflow
1.1 Define how to map Redmine attributes to GitHub labels.
1.1 Create the labels in QGIS/qgis. Proposal: Bug, Feature request, Feedback, Priority: low, Priority: normal, Priority: high, Regression
1.1 Get a list of current user names (ie first name, last name) from Redmine (query done)
1.1 Create a very simple form on Redmine site, that receives the user name as parameter and asks for the GitHub account (code done)
1.1 Send an email (from redmine@qgis.org) to each user with the link for the form to provide his GitHub username (script to the written)
1.1 Check for errors
1.1.1 Delete the last issue migrated and rerun the script from it
1.1 Check if all issues and comments were created
1.1 Update QGIS documentation
1.2 Use all channels to spread the news
Migration workflow
4.1 Reformat Textile to Markdown
4.2 Assign issue to original assignee if we have the usermap
QGIS GitHub labels
Labels in GitHub are used for PR and for issues within the repository.
We already have 27 labels that have being used (and created) for PR.
New labels: Bug, Feature request, Feedback, Priority: low, Priority: normal, Priority: high, Regression
Tracker:
Bug report → Bug
Feature request → Feature request
Status:
Open → NIL
In Progress → NIL
Feedback → Feedback
Reopened → NIL
Resolved → NIL
Closed → NIL
Rejected → NIL
Fixed for bounty → NIL
Bounty paid → NIL
Priority:
Low → Priority: low
Normal → Priority: normal
High → Priority: high
Category:
3D → NIL
Actions → NIL
Analysis library → NIL
...
Web Services clients/WMS → NIL
Web Services clients/XYZ → NIL
Windows Package → NIL
mac_os_specific → NIL
Affected QGIS version: (asked on the template)
Operating System: (asked on the template)
Regression: → Regression
Affected Files
Performance Implications
We really need help from GitHub team. It will take about 26 hours migration all issues, if we need to respected their rate limits.
Further Considerations/Improvements
Backwards Compatibility
All issue history
Issue Tracking ID(s)
Votes
(required)