All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: John Snow <jsnow@redhat.com>
Cc: Eduardo Habkost <eduardo@habkost.net>,
	Beraldo Leal <bleal@redhat.com>,
	qemu-devel@nongnu.org,
	Wainer dos Santos Moschetta <wainersm@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Cleber Rosa <crosa@redhat.com>
Subject: Re: [RFC qemu.qmp PATCH 00/24] Python: Fork qemu.qmp Python lib into independent repo
Date: Thu, 16 Dec 2021 10:41:00 +0000	[thread overview]
Message-ID: <YbsXvBwgSuCuhzK/@redhat.com> (raw)
In-Reply-To: <20211215210634.3779791-1-jsnow@redhat.com>

On Wed, Dec 15, 2021 at 04:06:10PM -0500, John Snow wrote:
> Hi, this series is part of an effort to publish the qemu.qmp package on
> PyPI. It is the second of three series to complete this work:
> 
>     (1) Switch the new Async QMP library in to python/qemu/qmp
> --> (2) Fork python/qemu/qmp out into its own repository,
>         with updated GitLab CI/CD targets to build packages.
>     (3) Update qemu.git to install qemu.qmp from PyPI,
>         and then delete python/qemu/qmp.
> 
> This series is not meant to apply to qemu.git, rather -- it's the series
> that performs the split and would apply to a brand new repository.
> 
> I am submitting it to the QEMU mailing list for these reasons:
> 
> (1) To more broadly announce my intentions, and as reference alongside
> series #1 and #3 detailed above.
> 
> (2) To ask for permission to become the maintainer of a
> 'qemu-project/qemu.qmp' repository, where I would like to host this
> subproject.

I'd say we need 3 designated maintainers as a minimum for redundancy.

> (3) To ask for review on the README.rst file which details my intended
> contribution guidelines for this subproject.
> 
> (4) To ask for review on the .gitlab-ci.d/ files and other repo-level
> CI/CD ephemera, including and especially the docs-building process.  I
> think the generated docs are still ugly, and I'd like to upload them to
> readthedocs, among other things -- hence the RFC quality of this series.

> Some review/RFC notes:
> 
> - I use jsnow/qemu.qmp as the repo name throughout the series; that will
>   have to be changed eventually, but for the purposes of prototyping, it
>   was nicer to have a fully working series.
> 
> - I'm planning on using gitlab issues and MRs for the subproject.

Great !

> - I plan to version this lib independently, starting at 0.0.1 for the
>   initial public release and bumping only the micro version for every
>   last release. I plan to bump the minor version once it hits a "beta"
>   state. There will be no cross-versioning against QEMU. I don't plan to
>   publish new releases during QEMU freezes.

IMHO if we're saying that QEMU is going to use this library straight
from PyPI from the start, then we're defacto considering it staable
from the start too. We can't accept changes published to PyPI that
are going to be incompatible with existing QEMU.

If that isn't acceptable, then QEMU is going to have to be pinned to
a very specific version from PyPi, and explicitly not pull the
latest.

> - Docs are not yet uploaded anywhere (GitLab pages, readthedocs?)

Since we're already using gitlab, personally I'd just setup a 'pages'
job and assign a qemu.org sub-domain to gitlab pages service.

> - Tags on a commit trigger two pipelines; this causes one of the package
>   builds to fail as the version number will be duplicated in this
>   case. Not entirely sure how I want to fix this yet ...

If you dont have any 'rules:' stanza gitlab creates a pipeline
for any 'push' event - this means pushes of branch commits or
pushes of tags.

To remove the duplicates we need to filter based on certain
standard variables - CI_COMMIT_BRANCH or CI_COMMIT_TAG

  rules:
    - if '$CI_PIPELINE_SOURCE != "push"'
      when: never
    - if '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH'
      when: never
    - if '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH'
      when: on_success
    - when: never
    

will cull jobs for pushes of branch commit, leaving pipelines
for tag pushes. It can get arbitrarily more complicated depending
on what you need to achieve.


Since we're going to use merge requests, we should be aiming to
*NOT* run pipelines on branch commit pushes for forks. We only
want pipelines attached to the merge request.

You'll need pipelines on pushes of tags for the post-merge publishing
jobs potentially, unless you want todo that on a nightly schedule

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  parent reply	other threads:[~2021-12-16 10:42 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-15 21:06 [RFC qemu.qmp PATCH 00/24] Python: Fork qemu.qmp Python lib into independent repo John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 01/24] Fork qemu.qmp from qemu.git John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 02/24] Update VERSION to 0.0.0a1 John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 03/24] Update maintainer metadata John Snow
2021-12-16 10:43   ` Daniel P. Berrangé
2021-12-16 16:34     ` John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 04/24] Update project description John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 05/24] Update project URLs John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 06/24] Move README.rst to INDEX.rst and update John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 07/24] Move PACKAGE.rst to README.rst " John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 08/24] Update Pipfile.lock John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 09/24] Remove sub-dependency pins from Pipfile John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 10/24] Add build and test container to gitlab CI configuration John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 11/24] Add package build step to GitLab CI John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 12/24] GitLab CI: Add check-dco script John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 13/24] GitLab CI: Add pipenv and tox tests John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 14/24] GitLab CI: Add avocado junit XML output to tests John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 15/24] GitLab CI: Publish python packages to GitLab package repo John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 16/24] Add setuptools_scm package versioning John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 17/24] Makefile: add build and publish targets John Snow
2021-12-16 10:48   ` Daniel P. Berrangé
2021-12-16 23:35     ` John Snow
2021-12-17 13:45       ` Daniel P. Berrangé
2022-01-11 19:48         ` John Snow
2022-01-12 10:07           ` Daniel P. Berrangé
2022-01-12 17:30             ` John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 18/24] add Sphinx documentation config stub John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 19/24] python: configure sphinx John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 20/24] python: adjust apidoc stubs John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 21/24] Fix doc cross-reference regressions John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 22/24] docs: add Makefile target John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 23/24] docs: add doc build to GitLab CI build step John Snow
2021-12-15 21:06 ` [RFC qemu.qmp PATCH 24/24] v0.0.1 John Snow
2021-12-16 10:41 ` Daniel P. Berrangé [this message]
2021-12-16 16:18   ` [RFC qemu.qmp PATCH 00/24] Python: Fork qemu.qmp Python lib into independent repo John Snow
2022-01-12 21:41   ` John Snow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YbsXvBwgSuCuhzK/@redhat.com \
    --to=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=crosa@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=jsnow@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.