Commit 3d5dda60 authored by André Anjos's avatar André Anjos 💬

[scripts] Move scripts dealing with gitlab within its own group

parent 93c9b5a0
Pipeline #27401 passed with stages
in 5 minutes and 3 seconds
......@@ -20,33 +20,33 @@ Examples:
1. Generates the changelog for a single package using merge requests:
$ bdt changelog group/package.xyz changelog.md
$ bdt gitlab changelog group/package.xyz changelog.md
2. The same as above, but dumps the changelog to stdout instead of a file:
$ bdt changelog group/package.xyz
$ bdt gitlab changelog group/package.xyz
3. Generates the changelog for a single package looking at commits
(not merge requests):
$ bdt changelog --mode=commits group/package.xyz changelog.md
$ bdt gitlab changelog --mode=commits group/package.xyz changelog.md
4. Generates the changelog for a single package looking at merge requests starting from a given date of January 1, 2016:
\b
$ bdt changelog --mode=mrs --since=2016-01-01 group/package.xyz changelog.md
$ bdt gitlab changelog --mode=mrs --since=2016-01-01 group/package.xyz changelog.md
5. Generates a complete list of changelogs for a list of packages (one per line:
\b
$ bdt getpath bob/bob.nightlies order.txt
$ bdt lasttag bob/bob
$ bdt gitlab getpath bob/bob.nightlies order.txt
$ bdt gitlab lasttag bob/bob
# copy and paste date to next command
$ bdt changelog --since="2018-07-17 10:23:40" order.txt changelog.md
$ bdt gitlab changelog --since="2018-07-17 10:23:40" order.txt changelog.md
''')
@click.argument('target')
@click.argument('changelog', type=click.Path(exists=False, dir_okay=False,
......
......@@ -17,19 +17,19 @@ Examples:
1. Replaces the README.rst file on the package bob/bob.extension, through a direct commit to the master branch, using the contents of the local file with the same name:
$ bdt commitfile -vv bob/bob.extension README.rst
$ bdt gitlab commitfile -vv bob/bob.extension README.rst
2. Replaces the README.rst file on the package beat/beat.core, specifying a commit message:
\b
$ bdt commitfile -vv --message="[readme] Update [ci skip]" beat/beat.core README.rst
$ bdt gitlab commitfile -vv --message="[readme] Update [ci skip]" beat/beat.core README.rst
3. Replaces the file conda/meta.yaml on the package bob/bob.blitz through a merge request through a new branch called "conda-changes", specifying a commit/merge-request message, using the contents of the local file new.yaml, and setting the merge-request property "merge-when-pipeline-succeeds":
\b
$ bdt commitfile -vv bob/bob.blitz --path=conda/meta.yaml --branch=conda-changes --auto-merge new.yaml
$ bdt gitlab commitfile -vv bob/bob.blitz --path=conda/meta.yaml --branch=conda-changes --auto-merge new.yaml
''')
@click.argument('package')
......
......@@ -16,17 +16,17 @@ Examples:
1. Get the file ``order.txt`` from bob.nightlies master branch:
$ bdt getpath bob/bob.nightlies order.txt
$ bdt gitlab getpath bob/bob.nightlies order.txt
2. Get the file ``order.txt`` from a different branch ``2.x``:
$ bdt getpath --ref=2.x bob/bob.nightlies order.txt
$ bdt gitlab getpath --ref=2.x bob/bob.nightlies order.txt
3. Get the directory ``gitlab`` (and eventual sub-directories) from bob.admin, save outputs in directory ``_ci``:
$ bdt getpath bob/bob.admin master gitlab _ci
$ bdt gitlab getpath bob/bob.admin master gitlab _ci
''')
@click.argument('package')
@click.argument('path')
......
#!/usr/bin/env python
import os
import pkg_resources
import click
from click_plugins import with_plugins
from . import bdt
@with_plugins(pkg_resources.iter_entry_points('bdt.gitlab.cli'))
@click.group(cls=bdt.AliasedGroup)
def gitlab():
"""Commands for that interact with gitlab
Commands defined here are supposed to interact with gitlab, and
add/modify/remove resources on it directly.
"""
pass
......@@ -18,12 +18,12 @@ Examples:
1. Get the last tag information of the bob/bob package
$ bdt lasttag bob/bob
$ bdt gitlab lasttag bob/bob
2. Get the last tag information of the beat/beat.core package
$ bdt lasttag beat/beat.core
$ bdt gitlab lasttag beat/beat.core
''')
@click.argument('package')
......
......@@ -20,28 +20,28 @@ Examples:
1. Releases a single package:
$ bdt release --package=bob.package.xyz changelog.md
$ bdt gitlab release --package=bob.package.xyz changelog.md
2. If there is a single package in the ``changelog.md`` file, the flag
``--package`` is not required:
$ bdt release changelog.md
$ bdt gitlab release changelog.md
2. Releases the whole of bob using `changelog_since_last_release.md`:
$ bdt release bob/devtools/data/changelog_since_last_release.md
$ bdt gitlab release bob/devtools/data/changelog_since_last_release.md
3. In case of errors, resume the release of the whole of Bob:
$ bdt release --resume bob/devtools/data/changelog_since_last_release.md
$ bdt gitlab release --resume bob/devtools/data/changelog_since_last_release.md
4. The option `-dry-run` can be used to let the script print what it would do instead of actually doing it:
$ bdt release --dry-run changelog_since_last_release.md
$ bdt gitlab release --dry-run changelog_since_last_release.md
'''
)
@click.argument('changelog', type=click.File('rt', lazy=False))
......
......@@ -18,14 +18,14 @@ Examples:
1. Check the visibility of a package you can access
$ bdt visibility bob/bob.extension
$ bdt gitlab visibility bob/bob.extension
2. Checks the visibility of all packages in a file list:
\b
$ bdt getpath bob/bob.nightlies order.txt
$ bdt visibility order.txt
$ bdt gitlab getpath bob/bob.nightlies order.txt
$ bdt gitlab visibility order.txt
''')
@click.argument('target')
@click.option('-g', '--group', default='bob', show_default=True,
......
......@@ -55,27 +55,28 @@ test:
- bdt -h
- bdt -?
- bdt --help
- bdt lasttag --help
#- bdt lasttag -vv bob/bob.devtools
- bdt commitfile --help
- bdt changelog --help
#- bdt changelog -vv bob/bob.devtools changelog.md
- bdt release --help
#- bdt release -vvd changelog.md
- bdt visibility --help
#- bdt visibility -vv bob/bob.devtools
- bdt dumpsphinx --help
- bdt dumpsphinx https://docs.python.org/3/objects.inv > /dev/null
- bdt create --help
- bdt build --help
- bdt test --help
- bdt getpath --help
#- bdt getpath -vv bob/bob.devtools .gitignore
- bdt caupdate --help
- bdt new --help
- bdt new -t "New package" -o bob.foobar bob/bob.foobar "John Doe" "joe.doe@example.com"
- bdt new -t "New package" -l bsd -o bob.foobar2 bob/bob.foobar "John Doe" "joe.doe@example.com"
- bdt new -t "New package" -l bsd -o beat.foobar beat/beat.foobar "John Doe" "joe.doe@example.com"
- bdt gitlab --help
- bdt gitlab lasttag --help
#- bdt gitlab lasttag -vv bob/bob.devtools
- bdt gitlab commitfile --help
- bdt gitlab changelog --help
#- bdt gitlab changelog -vv bob/bob.devtools changelog.md
- bdt gitlab release --help
#- bdt gitlab release -vvd changelog.md
- bdt gitlab visibility --help
#- bdt gitlab visibility -vv bob/bob.devtools
- bdt gitlab getpath --help
#- bdt gitlab getpath -vv bob/bob.devtools .gitignore
- bdt ci --help
- bdt ci base-build --help
- bdt ci build --help
......
......@@ -19,8 +19,8 @@ Usage
Using these scripts is a 2-step process:
1. Generate a changelog using ``bdt changelog``
2. Tag a release using ``bdt release``
1. Generate a changelog using ``bdt gitlab changelog``
2. Tag a release using ``bdt gitlab release``
Use the ``--help`` flag in each command to learn more about each command.
......@@ -46,7 +46,7 @@ Manually update changelog
The changelog since the last release can be found in the file
``bob/devtools/data/changelog_since_last_release.md``. The structure is
documented as part of the help message of ``bdt release``. Read it.
documented as part of the help message of ``bdt gitlab release``. Read it.
To manually update the changelog, follow these guidelines:
......@@ -77,15 +77,15 @@ Here are the instructions to release Bob meta package:
.. code-block:: sh
$ bdt getpath bob/bob.nightlies order.txt
$ bdt visibility order.txt
$ bdt gitlab getpath bob/bob.nightlies order.txt
$ bdt gitlab visibility order.txt
* Put the list of public packages in ../../bob/requirements.txt
* Run ``bdt changelog`` first:
* Run ``bdt gitlab changelog`` first:
.. code-block:: sh
$ bdt changelog ../../bob/requirements.txt bob_changelog.md
$ bdt gitlab changelog ../../bob/requirements.txt bob_changelog.md
* Put the beta of version of the intended release version in
``../../bob/version.txt``
......@@ -97,7 +97,7 @@ Here are the instructions to release Bob meta package:
.. code-block:: sh
$ bdt release -p bob -c bob_changelog.md --bob-version 5.0.0 -- TOKEN
$ bdt gitlab release -p bob -c bob_changelog.md --bob-version 5.0.0 -- TOKEN
* Put the pinnings below in requirements.txt and meta.yaml (like ``bob.buildout
== 2.1.6``) and meta.yaml (like ``bob.buildout 2.1.6``)
......
......@@ -46,19 +46,23 @@ setup(
'bdt = bob.devtools.scripts.bdt:main',
],
'bdt.cli': [
'release = bob.devtools.scripts.release:release',
'new = bob.devtools.scripts.new:new',
'commitfile = bob.devtools.scripts.commitfile:commitfile',
'changelog = bob.devtools.scripts.changelog:changelog',
'lasttag = bob.devtools.scripts.lasttag:lasttag',
'visibility = bob.devtools.scripts.visibility:visibility',
'dumpsphinx = bob.devtools.scripts.dumpsphinx:dumpsphinx',
'create = bob.devtools.scripts.create:create',
'build = bob.devtools.scripts.build:build',
'test = bob.devtools.scripts.test:test',
'getpath = bob.devtools.scripts.getpath:getpath',
'caupdate = bob.devtools.scripts.caupdate:caupdate',
'ci = bob.devtools.scripts.ci:ci',
'gitlab = bob.devtools.scripts.gitlab:gitlab',
],
'bdt.gitlab.cli': [
'commitfile = bob.devtools.scripts.commitfile:commitfile',
'release = bob.devtools.scripts.release:release',
'changelog = bob.devtools.scripts.changelog:changelog',
'lasttag = bob.devtools.scripts.lasttag:lasttag',
'visibility = bob.devtools.scripts.visibility:visibility',
'getpath = bob.devtools.scripts.getpath:getpath',
],
'bdt.ci.cli': [
......@@ -71,6 +75,7 @@ setup(
'readme = bob.devtools.scripts.ci:readme',
'pypi = bob.devtools.scripts.ci:pypi',
],
},
classifiers=[
'Framework :: Bob',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment