Enhance 'make dist', add GitHub release workflow#1449
Enhance 'make dist', add GitHub release workflow#1449fredrik-johansson merged 1 commit intoflintlib:trunkfrom
Conversation
ffa8c4d to
6fd26d0
Compare
|
There is certainly a lot more to be done, but this is a first working version in so far as that the tarballs produced by Basically, someone (@fredrik-johansson ?) needs to tell me what else, if anything, should be added to the archive. Also, which formats do you want (.tar.gz for sure; but something else? e.g. .zip, .tar.xz, .tar.zst, ... ?) Lastly, this does not yet try to upload the generated tarballs anywhere, such as to a GitHub release. I can add something for that, but I need some more information on what is wanted. Perhaps we can briefly discuss it tomorrow. |
|
I just realized I misunderstood @fredrik-johansson yesterday: I thought he was saying that FLINT already has the version in just one place. But that's wrong, it has it in multiple places. At least these:
That's all I am aware of right now. If you know more, please let me know. I will unify this to a single one. |
87b54fe to
299b3a8
Compare
|
Done now. Example of a GitHub release created using this: https://github.com/fingolfin/flint/releases/tag/v6.2.3-dev. You can see the corresponding workflow at https://github.com/fingolfin/flint/actions/runs/6488873277. |
mezzarobba
left a comment
There was a problem hiding this comment.
The autoconf/shell parts look good to me. I am not familiar with github workflows, so I can't really review that part.
19d43f9 to
325ed22
Compare
|
I'm not sure if it works, but I think it looks really good. I'd really like to see |
Yes!
Sounds good! |
Well, I think we could just do but I have no idea how the minor version numbers are supposed to work for SO versioning. |
But as I argued, that would be wrong in general... The rules for soname versioning are explained in But perhaps it would make sense to first merge this, and then apply further improvements in a new PR? |
|
It fails with cygwin/MSVC/cmake. I tried to modify One intermediate solution would be to revert Will look into it later, now need to take some more exams... |
|
I believe |
|
Will update # The short X.Y version
version = u''
for _line in open("../../configure.ac").readlines():
if _line.startswith("define(FLINT_VERSION,"):
_i1 = _line.find('[')
_i2 = _line.find(']', _i1 + 1)
version = _line[_i1+1:_i2]
# The full version, including alpha/beta/rc tags
release = versionSo the comments say |
I think it currently doesn't matter since the documentation isn't versioned. |
4d7cecf to
ea98611
Compare
| release = f.read().rstrip() | ||
|
|
||
| # The short X.Y version | ||
| version = '.'.join(release.split('.')[0:2]) |
There was a problem hiding this comment.
I decided to "fix" the computation of version in docs/source/conf.py, too. And release now uses the VERSION file as it should.
- a new file VERSION is the only place storing the FLINT version - generate src/flint.h from src/flint.h.in so we can insert the version - revise `make dist` to call a helper script `dev/make_dist.sh`, which creates all relevant archives, which include files generated by autoconf - add GitHub Workflows to tests creation and usability of these archives on various conditions
|
The problem on Cygwin seems to be caused by If desired I could also make a modification which makes |
|
All green; I will take it :-) |
|
FLINT v3, let's go! |
|
🏎️ |
What is the the historical reason for the |
|
I have tried to make a v3.0.0-rc1 on the flint-3.0 branch, but on that branch Cygwin CI is still failing with: |
|
Obviously, I failed to remove the newline. Well, this isn't very convenient. |
|
You should not have modified the VERSION file in the first place, though, just create the tag and it'll do that for you |
|
OK. I tried to tag again and this time Cygwin passes configure. However, the release workflow isn't being run for some reason. Edit: now it is. I think I'm having an aneurysm doing this on train wifi. |
|
There is now a 3.0.0-rc1 release which may or may not be correct. You're welcome to test it. |
|
hmm? https://github.com/flintlib/flint/actions Shows it did run? |
|
Yes indeed. |
Not much to see yet (too many interruptions) but I thought I should open a PR to make this visible. Next I'll improve
make_dist.sh(see comments inside it for some things to be done). Then I'll start work on a GitHub workflow to run it.I will probably have some questions on how things are done for tarballs. Some that come to mind right now: