cube-doctor issueshttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues2021-09-23T19:49:52Zhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/49cube-doctor can update his own MR2021-09-23T19:49:52ZLaurent Peuchcube-doctor can update his own MRLaurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/24[autoupgrade] the label of the MR with all the updates is not the right one2021-02-05T09:24:26ZSimon Chabot[autoupgrade] the label of the MR with all the updates is not the right oneThe label of the MR with all the updates is not the right one, the title says it will update (or add boundaries) only to the first dependencies, while in the changeset all of them are updated.
The title should include the fact that it w...The label of the MR with all the updates is not the right one, the title says it will update (or add boundaries) only to the first dependencies, while in the changeset all of them are updated.
The title should include the fact that it will update everything.Laurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/15cube-doctor auto-upgrade-dependencies add another commit will all versions mo...2021-02-02T15:58:45ZLaurent Peuchcube-doctor auto-upgrade-dependencies add another commit will all versions modified at onceLaurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/16automate cube-doctor2021-02-03T15:29:37ZLaurent Peuchautomate cube-doctorSet up cube-doctor automation:
- [x] create a forge account named cube-doctor
- [x] create a projet logilab/cube-doctor (like logilab/assignbot) with a scheduled pipeline that runs daily
- [ ] modify cube-doctor to run on projects that h...Set up cube-doctor automation:
- [x] create a forge account named cube-doctor
- [x] create a projet logilab/cube-doctor (like logilab/assignbot) with a scheduled pipeline that runs daily
- [ ] modify cube-doctor to run on projects that have the tag cube-doctor
Set up projects:
- [x] projects that want to use cube-doctor must have the tag "use-cube-doctor"
- [ ] use a `.cube-doctor.yml` to configure cube-doctor (config options to be defined)Laurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/11nouvelle règle pour rajouter yamllint dans tous les projets2021-02-16T18:57:13ZLaurent Peuchnouvelle règle pour rajouter yamllint dans tous les projetsComme chez frarchives-edition https://forge.extranet.logilab.fr/francearchives/cubicweb-frarchives-edition/-/jobs/121034Comme chez frarchives-edition https://forge.extranet.logilab.fr/francearchives/cubicweb-frarchives-edition/-/jobs/121034Laurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/13fixer le CI de cube-doctor2021-02-02T14:32:02ZLaurent Peuchfixer le CI de cube-doctorLaurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/25sur compowritings, faire la liste des cubes pas compatible python 32021-02-05T14:48:43ZLaurent Peuchsur compowritings, faire la liste des cubes pas compatible python 3Laurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/10automatic upgrade of dependencies2021-02-03T15:52:28ZNicolas Chauvatnicolas.chauvat@logilab.frautomatic upgrade of dependenciesgenerate MR that upgrade dependencies (one MR per dependency upgraded)generate MR that upgrade dependencies (one MR per dependency upgraded)Laurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/1Add a proper read me2020-10-07T12:33:42ZNoé GaumontAdd a proper read mePresent the purpose of this cube and a usage examplePresent the purpose of this cube and a usage examplehttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/39[documentation] Which GITLAB_TOKEN should be used and how to generate it2021-09-23T15:56:42ZArthur Lutz[documentation] Which GITLAB_TOKEN should be used and how to generate itIn the README there are references to `GITLAB_TOKEN` which I can imagine how to generate. But should I do this with my account or with the cube-doctor-bot account ?
In both cases it would be nice to have some indication on how to do it ?In the README there are references to `GITLAB_TOKEN` which I can imagine how to generate. But should I do this with my account or with the cube-doctor-bot account ?
In both cases it would be nice to have some indication on how to do it ?https://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/9add lgg:has_new_version in logigraphe/heptapod for cube-doctor tox:new-version2021-11-03T12:45:54ZLaurent Peuchadd lgg:has_new_version in logigraphe/heptapod for cube-doctor tox:new-versionsee https://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/merge_requests/3#note_42587see https://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/merge_requests/3#note_42587dashboards, logigraph and automated-upgrades pipelineSimon ChabotSimon Chabothttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/30new-version : two errors2021-02-16T11:14:36ZArthur Lutznew-version : two errors* `/bin/sh: 1: [: Arthur: unexpected operator` seems odd
* detection of TERM failing for mercurial command.
```
new-version run-test-pre: PYTHONHASHSEED='1773842237'
new-version run-test: commands[0] | sh -c 'while [ -z $CONTINUE ]; do...* `/bin/sh: 1: [: Arthur: unexpected operator` seems odd
* detection of TERM failing for mercurial command.
```
new-version run-test-pre: PYTHONHASHSEED='1773842237'
new-version run-test: commands[0] | sh -c 'while [ -z $CONTINUE ]; do read -p '"'"'Make a new version ? [y/n]: '"'"' -r CONTINUE; done; if [ $CONTINUE != '"'"'y'"'"' ] && [ $CONTINUE != '"'"'Y'"'"' ] ; then echo Exiting version creation ; exit 1 ; fi'
Make a new version ? [y/n]: y
new-version run-test: commands[1] | sh -c 'if [ ! command -v dch &> /dev/null] ; then echo dch could not be found ; exit 1 ; fi'
/bin/sh: 1: cannot create /dev/null]: Permission denied
/bin/sh: 1: [: missing ]
new-version run-test: commands[2] | sh -c 'if [ -z $DEBEMAIL ] || [ -z $DEBFULLNAME ] ; then echo Define the env variable DEBEMAIL and DEBFULLNAME ; exit 1 ; fi'
/bin/sh: 1: [: Arthur: unexpected operator
new-version run-test: commands[3] | sh -c 'echo -c '"'"'Please verify what should be should be committed'"'"''
-c Please verify what should be should be committed
new-version run-test: commands[4] | sh -c 'VERSION=$(python3 setup.py --version) && dch -v $VERSION'"'"'-'"'"'1 -D unstable '"'"'New upstream release'"'"' && hg commit -i -m '"'"'[pkg] version '"'"'$VERSION && hg tag -r . $VERSION debian/$VERSION'
starting interactive selection
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0]
** Mercurial Distributed SCM (version 5.4.2)
** Extensions loaded: strip, pager, evolve, topic, rebase, record, histedit, purge, hggit, patchbomb, phabricator, churn, absorb
Traceback (most recent call last):
File "/usr/bin/hg", line 43, in <module>
dispatch.run()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 112, in run
status = dispatch(req)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 298, in dispatch
ret = _runcatch(req) or 0
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 472, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 481, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 152, in callcatch
return func()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 462, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1225, in _dispatch
return runcommand(
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 910, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python3/dist-packages/hgext/pager.py", line 76, in pagecmd
return orig(ui, options, cmd, cmdfunc)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1237, in _runcommand
return cmdfunc()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1223, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1865, in check
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1865, in check
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/hgext3rd/topic/__init__.py", line 1259, in commitwrap
return orig(ui, repo, *args, **opts)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1865, in check
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1865, in check
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/hgext3rd/evolve/__init__.py", line 1164, in commitwrapper
result = orig(ui, repo, *arg, **kwargs)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1865, in check
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2009, in commit
return _docommit(ui, repo, *pats, **opts)
File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2015, in _docommit
ret = cmdutil.dorecord(
File "/usr/lib/python3/dist-packages/mercurial/cmdutil.py", line 643, in dorecord
return commit(ui, repo, recordinwlock, pats, opts)
File "/usr/lib/python3/dist-packages/mercurial/cmdutil.py", line 3043, in commit
return commitfunc(ui, repo, message, matcher, opts)
File "/usr/lib/python3/dist-packages/mercurial/cmdutil.py", line 641, in recordinwlock
return recordfunc(ui, repo, message, match, opts)
File "/usr/lib/python3/dist-packages/mercurial/cmdutil.py", line 512, in recordfunc
chunks, newopts = filterfn(ui, originalchunks, match)
File "/usr/lib/python3/dist-packages/mercurial/cmdutil.py", line 413, in recordfilter
newchunks, newopts = filterchunks(
File "/usr/lib/python3/dist-packages/mercurial/cmdutil.py", line 392, in filterchunks
return crecordmod.filterpatch(
File "/usr/lib/python3/dist-packages/mercurial/crecord.py", line 547, in filterpatch
ret = chunkselector(ui, uiheaders, operation=operation)
File "/usr/lib/python3/dist-packages/mercurial/crecord.py", line 581, in chunkselector
curses.wrapper(chunkselector.main)
File "/usr/lib/python3.8/curses/__init__.py", line 84, in wrapper
stdscr = initscr()
File "/usr/lib/python3.8/curses/__init__.py", line 29, in initscr
setupterm(term=_os.environ.get("TERM", "unknown"),
_curses.error: setupterm: could not find terminal
ERROR: InvocationError for command /bin/sh -c 'VERSION=$(python3 setup.py --version) && dch -v $VERSION'"'"'-'"'"'1 -D unstable '"'"'New upstream release'"'"' && hg commit -i -m '"'"'[pkg] version '"'"'$VERSION && hg tag -r . $VERSION debian/$VERSION' (exited with code 1)
_______________________________________________________________________ summary _______________________________________________________________________
ERROR: new-version: commands failed
```https://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/27migrate the cube registration to python32021-08-05T08:24:41ZLaurent Peuchmigrate the cube registration to python3Laurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/51add a script to replace docker cubicweb images by the new cubicweb-base image2021-08-05T08:24:58ZLaurent Peuchadd a script to replace docker cubicweb images by the new cubicweb-base imageSimon ChabotSimon Chabothttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/52add release-new2021-08-05T08:24:32ZLaurent Peuchadd release-newNoé GaumontNoé Gaumonthttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/3Using include mecanism in .gitlab-ci.yml2021-08-04T16:14:56ZArthur LutzUsing include mecanism in .gitlab-ci.ymlOn salsa (debian's gitlab instance) they use a common pipeline https://salsa.debian.org/salsa-ci-team/pipeline/ that is included by the projects, with some variables to configure some steps.
It would be nice to have this on the cubes, ...On salsa (debian's gitlab instance) they use a common pipeline https://salsa.debian.org/salsa-ci-team/pipeline/ that is included by the projects, with some variables to configure some steps.
It would be nice to have this on the cubes, instead of modifying each step everytime a common step needs to be introduced...https://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/29crash if I can't access a project to detect missconfiguration2021-08-04T16:12:56ZLaurent Peuchcrash if I can't access a project to detect missconfigurationLaurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/12explore the usage of include in .gitlab-ci.yml2021-08-04T16:12:39ZLaurent Peuchexplore the usage of include in .gitlab-ci.ymlLaurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/14get rid of cubicweb_*.spec files?2021-08-04T16:12:36ZLaurent Peuchget rid of cubicweb_*.spec files?Apparently this is only used for client projects that uses redhat/fedora but we aren't sure that there are any that do that anymore. In addition, if everyone move to docker we won't need it anymore.
This is, apparently, still present in...Apparently this is only used for client projects that uses redhat/fedora but we aren't sure that there are any that do that anymore. In addition, if everyone move to docker we won't need it anymore.
This is, apparently, still present in a cube skeleton.
cc @nchauvathttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/21Define the content of a .cube-doctor.yml2021-08-04T16:12:34ZLaurent PeuchDefine the content of a .cube-doctor.ymlIdeas:
- excluding list of refactoring commands (block-list)
- including list of refactoring commands (allow-list)
- number of MRs at once?
- only on certain days?
I guess most of those options will come from requests from users.Ideas:
- excluding list of refactoring commands (block-list)
- including list of refactoring commands (allow-list)
- number of MRs at once?
- only on certain days?
I guess most of those options will come from requests from users.https://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/47cube-doctor to rebase his merge requests2021-08-04T16:12:32ZArthur Lutzcube-doctor to rebase his merge requestsIn some cases, the initial merge request generated by cube-doctor is created when the .gitlab-ci.yml in the project doesn't enable one to easily integrate the proposed code changes.
It would be nice to have a manual or automated action...In some cases, the initial merge request generated by cube-doctor is created when the .gitlab-ci.yml in the project doesn't enable one to easily integrate the proposed code changes.
It would be nice to have a manual or automated action that rebases the created MRs to the new public head.https://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/2Add tox pypi-publish and deb-publish2021-08-04T16:12:31ZNoé GaumontAdd tox pypi-publish and deb-publishFollowing https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/merge_requests/49 and https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/merge_requests/50 .
Is-it possible to add these 2 tox command to all cube having tox ?Following https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/merge_requests/49 and https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/merge_requests/50 .
Is-it possible to add these 2 tox command to all cube having tox ?https://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/45deb-publish or not deb-publish ? that is the question !2021-08-04T16:12:29ZNicolas Chauvatnicolas.chauvat@logilab.frdeb-publish or not deb-publish ? that is the question !when cube-doctor removed the `debian/` directory and the `deb-publish` section from `tox.ini`, it should not add it back the day after !
see for example:
- remove debian/ and deb-publish https://forge.extranet.logilab.fr/cubicweb/cubes...when cube-doctor removed the `debian/` directory and the `deb-publish` section from `tox.ini`, it should not add it back the day after !
see for example:
- remove debian/ and deb-publish https://forge.extranet.logilab.fr/cubicweb/cubes/addressbook/-/merge_requests/18
- add deb-publish back to tox.ini https://forge.extranet.logilab.fr/cubicweb/cubes/addressbook/-/merge_requests/20 qui le remet
a solution could be to test for the presence of debian/ before adding deb-publish to tox.inihttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/31Add ignore files in yamllint2021-02-19T22:54:19ZNoé GaumontAdd ignore files in yamllintyamllint test all the yaml files (which is great), but this includes .tox and node_modules
I think these folder should be ignored.
There is a syntax for this https://yamllint.readthedocs.io/en/latest/configuration.html#ignoring-paths
M...yamllint test all the yaml files (which is great), but this includes .tox and node_modules
I think these folder should be ignored.
There is a syntax for this https://yamllint.readthedocs.io/en/latest/configuration.html#ignoring-paths
May be the following should do the trick:
```yml
ignore: |
.tox/
node_modules/
```Laurent PeuchLaurent Peuchhttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/53create docker image and use it in scheduled jobs2021-10-28T01:53:25ZNicolas Chauvatnicolas.chauvat@logilab.frcreate docker image and use it in scheduled jobslet the CI build the docker image and store it in heptapod's registry, then use it in the scheduled jobs to save the build timelet the CI build the docker image and store it in heptapod's registry, then use it in the scheduled jobs to save the build timehttps://forge.extranet.logilab.fr/cubicweb/cube-doctor/-/issues/56Slow down the rate of the `hg clone ` commands2021-10-28T01:53:08ZArthur LutzSlow down the rate of the `hg clone ` commandsauto-mr is a heavy user of `hg clone` and thus asks a lot of ressources at a rather fast rate.
Maybe adding a little rate limiting would be nice.auto-mr is a heavy user of `hg clone` and thus asks a lot of ressources at a rather fast rate.
Maybe adding a little rate limiting would be nice.