-
Notifications
You must be signed in to change notification settings - Fork 245
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
Enhance 'make dist', add GitHub release workflow #1449
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 = version So the comments say |
I think it currently doesn't matter since the documentation isn't versioned. |
4d7cecf
to
ea98611
Compare
|
||
# The short X.Y version | ||
version = '.'.join(release.split('.')[0:2]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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: