From 01afe1630fc487e8c65b83f184c30f60195a3c72 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Mon, 8 Mar 2021 16:12:55 +0100 Subject: [PATCH 1/4] Add TEP19 to TEP index --- doc/source/tep/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/source/tep/index.md b/doc/source/tep/index.md index e7c4d7cc9..7ff039a4b 100644 --- a/doc/source/tep/index.md +++ b/doc/source/tep/index.md @@ -25,6 +25,7 @@ Proposals list [TEP16][] | ACCEPTED | Moving Taurus to Github [TEP17][] | ACCEPTED | Implement plots with pyqtgraph [TEP18][] | ACCEPTED | Implement support for Qt5 in taurus + [TEP19][] | DRAFT | Moving taurus-org to Gitlab [TEP0]: http://www.taurus-scada.org/tep/?TEP0.md [TEP3]: http://www.taurus-scada.org/tep/?TEP3.md @@ -41,3 +42,4 @@ Proposals list [TEP16]: http://www.taurus-scada.org/tep/?TEP16.md [TEP17]: http://www.taurus-scada.org/tep/?TEP17.md [TEP18]: http://www.taurus-scada.org/tep/?TEP18.md +[TEP19]: http://www.taurus-scada.org/tep/?TEP19.md From d56ef9ef497ab975724a232edf5b3cd147a3a3af Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Mon, 8 Mar 2021 16:13:26 +0100 Subject: [PATCH 2/4] First draft of TEP19 (migration to gitlab) --- doc/source/tep/TEP19.md | 127 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 doc/source/tep/TEP19.md diff --git a/doc/source/tep/TEP19.md b/doc/source/tep/TEP19.md new file mode 100644 index 000000000..e961993c6 --- /dev/null +++ b/doc/source/tep/TEP19.md @@ -0,0 +1,127 @@ + Title: Migrate to gitlab.com + TEP: 19 + State: DRAFT + Date: 2021-03-08 + Drivers: Carlos Pascual-Izarra cpascual@cells.es + URL: https://github.com/cpascual/taurus/blob/tep19/doc/source/tep/TEP19.md + License: http://www.jclark.com/xml/copying.txt + Abstract: + Move the project hosting from github.com to gitlab.com + +## Introduction & background + +Hosting Taurus in [gitlab.com](GL) was already considered when we +[migrated](TEP16) to [github.com](GH) (GH) from SourceForge. With the +acquisition of GH by Microsoft, the idea of moving from GH to GL was considered, +but never acted upon (see https://github.com/taurus-org/taurus/issues/761). + +The interest in this proposal was renewed with the announcement that Travis +would discontinue its unlimited CI support for Free Software Projects (see +https://github.com/taurus-org/taurus/issues/1139#issuecomment-723565619 ) and +the resulting decision by the Tango community to move its projects to GL +( https://github.com/tango-controls/TangoTickets/issues/47 ). + +This TEP proposes to take the chance of the forced CI refactoring because of +discontinued Travis support to do the move to GL. The pros and cons of this +option versus staying in GH (and refactor the CI to use GH actions) have been +already discussed (see https://gitlab.com/tango-controls/cppTango/-/issues/812), +but here we just point the main reasons: + +- Freedom: GL is based on Free Software while GH is not. +- Avoid vendor lock-in: GL free nature implies that in the worst case we could + move to a self-hosted instance without affecting our project configurations. +- Homogenizing enviroments: most institutes in the taurus community already run + their own GL instances locally. Having tango on GL would facilitate + transferring projects from local GL instances to community-shared projects. + Also, it would facilitate community learning and cooperating since we would + be using the same interface and environment both internally and externally. +- Packaging: Gitlab is already used for debian packaging of taurus. Using it for + development too helps for integrating the development with the packaging. +- Tango projects are also migrating to GL + +## Scope + +The following taurus-org hosted projects are to be moved to gitlab +(in this order): + +- https://github.com/taurus-org/taurus +- https://github.com/taurus-org/taurus_pyqtgraph +- https://github.com/taurus-org/taurus_tangoarchiving +- https://github.com/taurus-org/h5file-scheme +- https://github.com/taurus-org/pandas-scheme + +## Implementation + +The proposed migration date is **2021-03-17** + +Before the migration date, the following tasks need to be done: + +- [ ] Notify the taurus mailing lists about the migration +- [ ] Notify all participants (commenters, contributors, etc) and ask them to + log at least once in GL in order to be able to map their GH and GL accounts + during the migration. The deadline for the log-ins is 1 day before the + migration date of the taurus project. +- [ ] Set-up test repositories in GL for preparing the CI migration of taurus and taurus_pyqtgraph +- [ ] On the migration date, set the GH projects in read-only mode + (archive them) and proceed to import them using a bot account. + + +After the import in GL, the following tasks need to be done: + +- Set-up CI in GL +- Implement taurus docs build in GL pages (open a separate MR in GL for that) +- Fix hardcoded links in docs (open a separate MR in GL for that) +- Redirect taurus-scada.org domains to GL pages + + +## Links to more details and discussions + +- Discussions for this TEP are conducted in its associated Pull Request: +https://github.com/taurus-org/taurus/pull/452 + +- Initial proposal and motivation can be found in this issue: +https://github.com/taurus-org/taurus/issues/761 + +- Debate in Tango community about migration to gitlab: +https://gitlab.com/tango-controls/cppTango/-/issues/812 + +- Sardana discussed this same move but decided to wait for now: +https://github.com/sardana-org/sardana/issues/1433 + +- Tools for helping with the migration: +https://github.com/tango-controls/gitlab-migration-tools + + +## License + +Copyright (c) 2021 Carlos Pascual-Izarra + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## Changes + + +- 2021-03-08 [cpascual][]. Initial version + + +[GH]: https://github.com +[GL]: https://gitlab.com +[TEP16]: http://www.taurus-scada.org/tep?TEP16.md +[cpascual]: https://github.com/cpascual From f1282f0507ce440bd252ab89f51cb327acce6e44 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Mon, 8 Mar 2021 19:20:57 +0100 Subject: [PATCH 3/4] Change TEP19 state to CANDIDATE (the pre-migration tasks from the implementation phase are already done) --- doc/source/tep/TEP19.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/doc/source/tep/TEP19.md b/doc/source/tep/TEP19.md index e961993c6..ff1c891fb 100644 --- a/doc/source/tep/TEP19.md +++ b/doc/source/tep/TEP19.md @@ -1,6 +1,6 @@ Title: Migrate to gitlab.com TEP: 19 - State: DRAFT + State: CANDIDATE Date: 2021-03-08 Drivers: Carlos Pascual-Izarra cpascual@cells.es URL: https://github.com/cpascual/taurus/blob/tep19/doc/source/tep/TEP19.md @@ -56,15 +56,18 @@ The proposed migration date is **2021-03-17** Before the migration date, the following tasks need to be done: -- [ ] Notify the taurus mailing lists about the migration -- [ ] Notify all participants (commenters, contributors, etc) and ask them to +- Notify the taurus mailing lists about the migration +- Notify all participants (commenters, contributors, etc) and ask them to log at least once in GL in order to be able to map their GH and GL accounts during the migration. The deadline for the log-ins is 1 day before the migration date of the taurus project. -- [ ] Set-up test repositories in GL for preparing the CI migration of taurus and taurus_pyqtgraph -- [ ] On the migration date, set the GH projects in read-only mode - (archive them) and proceed to import them using a bot account. +- Set-up test repositories in GL for preparing the CI migration of taurus and taurus_pyqtgraph +On the migration date, the following tasks need to be done: + +- set the GH projects in read-only mode (archive them) +- import them using a bot account into https://gitlab.com/taurus-org group +- add a "moved-to-gitlab" branch to GH and set it as the default branch in GH After the import in GL, the following tasks need to be done: From ce0dda2afc172408338f063ff2654db8f225a546 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Mon, 8 Mar 2021 19:32:06 +0100 Subject: [PATCH 4/4] Fix URL --- doc/source/tep/TEP19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/tep/TEP19.md b/doc/source/tep/TEP19.md index ff1c891fb..f481293e3 100644 --- a/doc/source/tep/TEP19.md +++ b/doc/source/tep/TEP19.md @@ -80,7 +80,7 @@ After the import in GL, the following tasks need to be done: ## Links to more details and discussions - Discussions for this TEP are conducted in its associated Pull Request: -https://github.com/taurus-org/taurus/pull/452 +https://github.com/taurus-org/taurus/pull/1179 - Initial proposal and motivation can be found in this issue: https://github.com/taurus-org/taurus/issues/761