<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>First, thanks a lot for your support and your kindness ! Really appreciate that :)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
> Do you know where I need to hack PBR to fix it?<br>
<br>
</span>So 'pbr' correctly parses the prefixed tags, but it's just the output<br>
packages (sdists, wheels) that always unversioned? If so, this sounds<br>
correct. Python packaging, as defined in PEP-440 [1], doesn't use the<br>
'v' prefixes, so it doesn't really make sense to stick them in here.<br>
Out of curiosity, what's your rationale for modifying the package name?<span class="gmail-"><br></span></blockquote><div><br></div><div>The package name is not changed actually. With the patch in PBR that has</div><div>been merged, one could add a tag named "v1.0.0" on mypackage package,</div><div>and the sdist will generate a distribution package</div><div><br></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div>mypackage-0.0.4.tar.gz<br></div></div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>So I think (hope?) this is still PEP440 compliant.</div><div><br></div><div>I tried this feature on another software that also uses pbr and there is no</div><div>problem: v version works great with sdist/bdist/wheel packages.</div><div><br></div><div>I use it inside a Gitlab CE pipeline on a tag pipeline (CI is triggered when</div><div>a git tag that follows the "v*" regular expression), and instead of creating </div><div>a package </div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div>mypackage-0.0.4-py2.py3-none-any.whl</div></div></div></blockquote>it created<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>mypackage-0.0.3.dev3-py2.py3-none-any.whl.</div></blockquote><div><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>When I retried manually on my development environment, pbr works </div><div>perfectly again on the same code.</div><div>I guess it somehow didn't used my build of the pbr package when </div><div>running in gitlab pipeline. </div><div><br></div><div>Do you plan on releasing PBR soon on pypi?</div><div>I have to build myself and push it on our internal nexus pypi, but I think the </div><div>safest way is to wait for an official pbr release on <a href="http://pypi.python.org">pypi.python.org</a> :)</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
> Second point, to go to the end of the logic of my change, I would<br>
> like to propose an optional way (in setup.cfg?) to **prevent** any<br>
> tag without the 'v' prefix, ie, where a bare version tag like `1.0.0`<br>
> is not to be considered as a valid version.<br>
> That way, on system such as gitlab or github:<br>
> - repository owners "protect" tags with pattern "v*", ie, all tags<br>
> for release such as "v1.0.0", ... cannot be pushed by anyone but the<br>
> owners/masters<br>
> - other developer can still push other tags for other purpose<br>
<br>
</span>So this could be used to prevent pbr reading the tags, but it won't<br>
stop anyone from creating them in the first place (i.e. "protect"<br>
tags).</blockquote><div><br></div><div>Yes, I agree this is not really mandatory. Gitlab tag protection should be enough.</div><div><br></div><div>I am using a "protected environment variables" on gitlab, and indeed, the credentials </div><div>to push on Pypi are only sent when the pipeline is triggered on such a "protected"</div><div>branch or "protected tag". </div><div><br></div><div>So we "protect" only tags starting with a "v*" and only this triggered pipeline </div><div>can publish to pypi (we use Nexus).</div><div><br></div><div>This allows other developers to add any tags not started with v (only repository</div><div>owners can create tags starting with a "v*"). Note this "v*" regular expression</div><div>is configurable and seem to default/good practice on GitLab CE/EE.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">We can do this but it would be a separate feature and, to be<br>
honest, I'd suggest using Git hooks or some form of access control as a<br>
better way to do this (Note: it seems GitLab already supports something<br>
similar [2]).<br></blockquote><div><br></div><div>Yes this is what I actually use :) Thanks</div><div><br></div><div>In short: pbr v_version seems to work great, just hoping for the official PBR</div><div>release on <a href="http://pypi.python.org">pypi.python.org</a> :)</div><div><br></div><div>Thanks </div><div>Gaetan Semet </div></div></div></div></div>