vshn / concierge-cli Goto Github PK
View Code? Open in Web Editor NEWCompanion CLI for Concierge to bulk-manage repository projects.
Home Page: https://pypi.org/project/concierge-cli/
License: BSD 3-Clause "New" or "Revised" License
Companion CLI for Concierge to bulk-manage repository projects.
Home Page: https://pypi.org/project/concierge-cli/
License: BSD 3-Clause "New" or "Revised" License
GitLab 13.0 introduces breaking changes to the groups API endpoint.
This is likely to affect us, as we get the projects from the groups for the projects CLI command.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.github/workflows/check.yml
actions/checkout v3
actions/setup-python v4
.github/workflows/publish.yml
actions/checkout v3
actions/setup-python v4
.github/workflows/test.yml
actions/checkout v3
actions/setup-python v4
requirements.txt
certifi ==2022.12.7
charset-normalizer ==3.1.0
click ==8.1.3
idna ==3.4
python-gitlab ==3.13.0
requests ==2.28.2
requests-toolbelt ==0.10.1
urllib3 ==1.26.15
Pipfile
Due to GitLab's API design the CLI makes a lot of separate queries, which slows down the execution time. This is typically at least O(n ²) time due to nested loops combined with general slowness as API calls to an external service are performed each time.
This can most probably not be fixed via algorithmic changes, but requires parallelization. We may tackle this using Python's asyncio module. See the recording of Michael Kennedy's webinar for a good intro.
The bot created this issue to inform you that pyup.io has been set up on this repo.
Once you have closed it, the bot will open pull requests for updates as soon as they are available.
Some of the tests for the manager module and the adapter module need to be properly implemented.
The implementation idea is in place, but mocking the remote API appropriately is needed. -- Look for the commented out sections and the TODO:
comments!
With our current release process we need to push a tag to all repositories we bulk-manage. On the GitLab Web frontend this is a bit time-consuming, and actually error-prone (you can easily overlook repositories).
On the command line we could easily do that quicker using just git
, but we'd need to close every single repository. We should probably better do that via GitLab API calls.
Given that we'll release frequently and more in terms of "reflect the current state of are" (not in terms of release "features of a product") semver is likely less suitable as a versioning scheme than something that better reflects both a date/time "bandwidth" of release activities and blends in well in automated operations (e.g. increment last number when several releases need to be done). This might be a date-based scheme, e.g. EDIT: (see explanation below)YYYY.MM.c
with c
being a monthly release counter starting at 1 each month (or YY.MM.c
like Ubuntu does it).
--topic
s), detecting whether there are unreleased commits(See comment below)
Currently, the concierge-cli projects
command allows to specify several --topic
options to select all projects that match any of those values (i.e. the possible topic values are logically OR'ed).
--set-topic
options)concierge-cli gitlab projects --topic managed,waf,group::foobar
- mygroup/my-project-one
- another/my-project-two
concierge-cli gitlab topics /my-project- --set-topic one,two,three
Currently, we have to specify the --token
value as a CLI option for the gitlab
command. That's not nice if we want to do, say, screen sharing in a video conference session.
It would be helpful if it we possible to specify the token only once by exporting an environment variable, e.g.
$ export CONCIERGE_GITLAB_TOKEN=jflsalgaslgkh
$ concierge-cli gitlab groups example-user
...
Similar for the --uri
option, probably. This could be covered by CONCIERGE_GITLAB_URI
, so a user wouldn't need to create a configuration file.
If I try to list my personal GitLab projects, e.g.
concierge-cli gitlab topics bittner/
or
concierge-cli gitlab mrs bittner/
then nothing is listed, even though I have several projects at https://gitlab.com/bittner/.
The current implementation (Topicmanager, MergeRequestManager) loops over a list of groups to make easy filtering of groups and projects possible. It looks like the personal namespace is not considered as a Group
for a GroupProject
in in the GitLab API.
If you think this is a problem that deserves fixing, please
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.