Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uploading stable & consistent source tarballs to github for releases #1013

Closed
landryb opened this issue Apr 5, 2018 · 9 comments
Closed

Comments

@landryb
Copy link

landryb commented Apr 5, 2018

For packaging purposes, we (OpenBSD, and probably other distributors) rely on stable source tarballs with consistent checksums/contents - while pgrouting is tagging releases the github way (ie there's a git tag and an actual release entry for each release, which is already nice), github doesn't guarantee that fetching the source asset from the tag (ie https://github.com/pgRouting/pgrouting/archive/v2.6.0.tar.gz) is stable/has a consistent checksum over time, they're generated on the fly with whatever software version is on the github side, then cached randomly across their infra.

The github doc at https://help.github.com/articles/creating-releases/ explains it a bit in item 7 (uploading generated binaries) but doesnt mention uploading a source tarball (since github doesnt really care about downstreams packaging stuff).

https://github.com/rdoeffinger/iec16022/releases/ is an example of a github project providing such stable source tarballs - see https://marc.info/?l=openbsd-ports&m=151973450514279&w=2 for the rationale behind it.

Would you be so kind to produce (probably with cmake/cpack) such source tarball and upload them to releases (or host them somewhere else, i know before they were at http://download.osgeo.org/pgrouting/source/) ?

@dkastl
Copy link
Member

dkastl commented Apr 5, 2018

Thank you for looking into this and your suggestions.

Right now we do not upload anything to Github as part of the release. We just declare a tag as a release. If there are ways to do this better in an automated fashion, then we will try to do this. Thank you for the links. I will look at them.

We maintain a list of package maintainers here: https://github.com/pgRouting/pgrouting/wiki/Package-maintainers
If you are the contact person for OpenBSD, feel free to add you or some team members there. It may help to get in touch with everyone if necessary.

We also have a release checklist here: https://github.com/pgRouting/pgrouting/wiki/pgRouting-Release-Process-Checklist
If you have any suggestions or important points to add (like this one), feel free to add it to the Wiki.
@cvvergara , please correct me, if this is not the right one.

We do not use the OSGeo download server anymore to host source tarballs. I hope we can do this with Github's support for releases, eventually using Travis.

@dkastl dkastl added this to the Release 2.6.1 milestone Apr 5, 2018
@landryb
Copy link
Author

landryb commented Apr 5, 2018

Thanks, added myself to the list of maintainers on the wiki.

Github supports assets upload via its API, so it should be possible to hook the tarball generation (via cpack, cf https://cmake.org/Wiki/CMake:Packaging_With_CPack) & upload (there are scripts around for asset upload, cf https://gist.github.com/stefanbuck/ce788fee19ab6eb0b4447a85fc99f447 as an example) to travis..

A start would be to add INCLUDE(CPack) and try the make package target (or with ninja or other fancy generators..) to see if it generates something that can be distributed/built standalone.. tried poking with it locally, but all this cmake stuff is still voodoo to me.

@cvvergara
Copy link
Member

@landryb
I updated the release, adding a zip file of the sources, can you check if that is ok?
if so I will also add the tar.

@landryb
Copy link
Author

landryb commented Apr 5, 2018

thanks a lot @cvvergara , this zip works fine for our workflow ! I'll also take the .tar.gz :)

@cvvergara
Copy link
Member

Added the tar of the source code also.
Will close the issue, please reopen if something went wrong

@dkastl
Copy link
Member

dkastl commented Apr 5, 2018

@cvvergara , are you planning to upload source files manually from now, or should we look for an automated way?

@landryb
Copy link
Author

landryb commented Apr 5, 2018

The checksum and size is the exact same as https://github.com/pgRouting/pgrouting/archive/v2.6.0.tar.gz so i guess it was just a straight upload of it ? That'll do i think, but usually such tarballs are produced by cmake/automake/some process..

Either way, at least we know it's consistent now. But automating it for next releases would be a bonus :)

@cvvergara
Copy link
Member

@dkastl well, right now was manual, but we will try to make automatic, for next release.
@landryb yeah, I downloaded the zip and the tar and uploaded again. so they should be the same.

bob-beck pushed a commit to openbsd/ports that referenced this issue Apr 5, 2018
ones, thanks to upstream. Checksum/size doesnt change so no need to
append the _1 suffix.

Cf pgRouting/pgrouting#1013
@lbartoletti
Copy link
Contributor

@cvvergara @landryb Thank you. I confirm that I had same problem on an older version for FreeBSD pkg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants