-
Notifications
You must be signed in to change notification settings - Fork 35
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
Update scripts to use cabal v1-...
so they work on newer cabal
#116
Update scripts to use cabal v1-...
so they work on newer cabal
#116
Conversation
Here's a successful ubuntu build: https://github.com/anka-213/gf-core/runs/2949499363?check_suite_focus=true |
We might want to migrate to the |
I have to say, I don't quite understand what you mean here. Of course we want to be able to produce a |
I guess this change means that if someone is using an old version of Cabal then the make commands won't work for them. Are the |
That is what I was assuming (but didn't check), but maybe I misinterpreted what the cabal commands does. |
The
If we don't care about the makefile working for newer cabal, we could just update the debian build script which is only running on the cloud. |
It would be great if the Makefile could work for old Cabal, new Cabal, and even Stack. In the past I've used this, which I think can be easily adapted: STACK=$(shell if hash stack 2>/dev/null; then echo "1"; else echo "0"; fi)
ifeq ($(STACK),1)
CMD=stack
else
CMD=cabal
endif
install:
$CMD install What do you think? I'm happy to work on this myself, although I'm not sure if I can push to your fork. |
Yes, that would be nice! I've checked this checkbox, so you should be able to push to my branch:
If that doesn't work I can give you full access to my fork. |
This is now done. |
So I did some investigation. The
But I'm not sure this is necessarily intended. At least installing the Anyway, I think this is a separate issue. This PR itself can be merged AFAIC. |
This does however not solve #74. It only makes the package build, it still doesn't work properly with newer ubuntu. |
It successfully installs the package, but trying to run
I'm using this
|
Probably all that's needed is to bump the ubuntu version on the runner. Let me try that. |
Here's the latest build: https://github.com/anka-213/gf-core/actions/runs/1003605632 Unfortunately it failed with a new error now:
Before upgrading ubuntu,
after using
|
That was easily resolved by letting
|
Hmm, this fixes 20.04 but other versions don't work: Ubuntu 18.04
Ubuntu 16.04
Maybe we need to have separate binaries for Ubuntu >= 20 and Ubuntu <= 18 ? |
Yes, that's probably the case. Ubuntu packages are often dependent on which ubuntu-version you have. I wonder if we should create a ppa to publish the package on as well? |
From https://help.launchpad.net/Packaging/PPA:
So if we use a PPA then we won't even need to build the binaries ourselves, which sounds like a plus. |
Shall we do this PPA thing then? Sounds like a good idea to me. Will one of you take up the task or shall I delegate it to someone at CCLAW? |
I don't think I have the time for it atm.
…On Wed, 14 Jul 2021, 08:07 Inari Listenmaa, ***@***.***> wrote:
Shall we do this PPA thing then? Sounds like a good idea to me. Will one
of you take up the task or shall I delegate it to someone at CCLAW?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#116 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAC37E53UBY6E6HWXJTSZODTXUSTPANCNFSM47RU67GQ>
.
|
@johnjcamilleri Ok, I'll delegate the task to someone! |
While I sure would love official PPA (because requires less dependencies) either: Are likely to be easier from the point of view of maintainer (at cost of install size for who would not want to use the current version). Also, with easier packaging (that abstract even dependencies), this could means allow put even more features for general public. |
While I believe that setting up a PPA is a good thing, it does seem like some extra work which comes with new problems and demands on our efforts. The simplest solution to the current problem is really to just build two binaries in the CI, for Ubuntu < 20 and >= 20 respectively. So I say we do this for the release, and the PPA effort can continue independently. |
@johnjcamilleri Not sure about the others, but simply 2 binaries (in special if want to release soon) seems to be a great win-win on short term! Also, the idea of setup a PPA #125 is shiny new. I'm not sure if you here are all familiar with the GitHub actions and that stuff (I know Github Actions, Docker, etc, but not this type of binary distribution) but I think is possible to actually "plug even development releases" on some PPA or some of these distribution stores. But all these extra features could take weeks if want like make more automated. Ok, actually more than weeks, since to be sure if it works on automation pipeline, would need at least another release. About UbuntuFrom https://ubuntu.com/about/release-cycle (in special if is not something more specialized, like PPA) I believe both 18.04 LTS and 20.04 LTS are good references to release today (eventually 22.04 LTS would be a thing, but at that point you here could decide to drop 16.04 support). Some Ubuntu-like flavors tend to to be based on some of these. Also, when "naming the Ubuntu binaries" the use of 18.04 / 20.04 as a hint can help users understand what is likely to work on first try, since the generic Ubuntu 32bit or Ubuntu 64 Bits is not very specific. I know that do exist several ubuntu versions, but often the LTS ones (if need to restrict resources, like compile individually) tend to be a good focus. I'm not even sure if try to like setup automated testing for non-LTS version like the 21.04, will be easy to find docker images. |
I think we will also need to update |
3daf334
to
eba9fdf
Compare
eba9fdf
to
515e388
Compare
Hmm, the build was aborted after trying to build for 6 hours. https://github.com/GrammaticalFramework/gf-core/actions/runs/1054618733 |
Also fix so the stack builds use the correct ghc versions
…x when necessary)
dcbdaf0
to
8814fde
Compare
I think this pull request is ready to merge now. It builds two versions for ubuntu, one for ubuntu 18.04 and one for 20.04. See this build for an example. I was looking into having it automatically upload the artifacts as release assets as well, but I've had some trouble with it and it probably belongs in a separate pull request. Similarly, updating |
Fixes build failures like the ubuntu failure here: https://github.com/GrammaticalFramework/gf-core/runs/2949099280?check_suite_focus=true