Producing Mercurial wheels from Github Actions + modernize build process
Georges Racinet
georges.racinet at cloudcrane.io
Mon Oct 7 08:58:28 UTC 2024
On 10/6/24 11:46 PM, PIERRE AUGIER wrote:
> I tried inhttps://github.com/paugier/mercurial-ga-ci
>
> It works well with the archivehttps://foss.heptapod.net/mercurial/mercurial-devel/-/archive/branch/default/mercurial-devel-branch-default.tar.gz
I should point out that similar archives exist with tags. The archive
itself is generated by `hg archive`, as you may imagine. It is a bit
taxing on the server, but only once, as it is then cached by the
internal edge proxy (Heptapod Workhorse).
>
> For those interested, you can have a look at:
>
> -https://github.com/paugier/mercurial-ga-ci/blob/main/.github/workflows/wheels.yml
> -https://github.com/paugier/mercurial-ga-ci/actions/runs/11205302970
>
> One can even try the wheels produced by the CI.
>
> There is a small issue withhttps://pypi.io/packages/source/m/mercurial/mercurial-6.8.1.tar.gz on Windows, but it's a detail.
Well, congratulations, this looks very promising.
>> We need to figure out how a job on foss.heptapod.net can trigger a job on
>> Github, and if it is possible to send a bit of data (where the sdist has to be
>> downloaded and if it is a simple commit or a release).
>> For the release we can even download the sdist from PyPI. And we will even be
>> able to use this workflow on a Mercurial version already released, to upload
>> wheels for 6.8.1.
> Unfortunately, there is an issue on Windows for this version, so I don't think it's going to be possible.
>
> Anyway, this would be much better if all the uploads on PyPI are done from the same CI. Otherwise, there will be a amount of time during which for a particular version only the sdist would be available on PyPI, which is not a good practice for packages uploading wheels.
At this point, I believe that the details of how to integrate in an
actual release procedure, CI/CD etc are a matter of preference to be
discussed by the Mercurial release managers. I should point out that
there is a GitLab feature about releases that may (or may not) be useful
as well. I have not played a lot with it, but Dan, the hg-git
maintainer, has.
Best,
> _______________________________________________
> Mercurial mailing list
> Mercurial at lists.mercurial-scm.org
> https://lists.mercurial-scm.org/mailman/listinfo/mercurial
--
Georges Racinet
https://orbeet.io/a-propos/cloudcrane,https://heptapod.net
GPG: 09719FFE0B476DC26923F8EEB8EB20361976F291
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20241007/cd0f268d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xB8EB20361976F291.asc
Type: application/pgp-keys
Size: 677 bytes
Desc: OpenPGP public key
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20241007/cd0f268d/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20241007/cd0f268d/attachment.asc>
More information about the Mercurial
mailing list