Skip to content
This repository has been archived by the owner on Jun 8, 2021. It is now read-only.

Update Travis to Ubuntu Xenial #446

Merged
merged 3 commits into from
Feb 8, 2019
Merged

Update Travis to Ubuntu Xenial #446

merged 3 commits into from
Feb 8, 2019

Conversation

sdroege
Copy link
Member

@sdroege sdroege commented Feb 8, 2019

And add GTK 3.24 builds for Linux and update the minimum version to 3.14.

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

We don't really test the GLib 2.50 (GTK 3.22.30) or GLib 2.58 (GTK 3.24) features though. It would be good to do that but I have no idea how to do that via the Travis yaml file.

@EPashkin @GuillaumeGomez ?

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

IMHO 3.22.30 unneeded as we have 3.24
👍 for this and all in this batch

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

But how would I do a build with --features=v2_58? The problem is that it would mean duplicating all the lines and adding ifs before them if I don't miss anything...

And if I can somehow set variables globally for the run, the problem is that for the default build there would be an empty --features= then or none at all, which does not compose well with everything else in there.

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

About testing build for GLIB2.50: we can add "gio/v2_58" to last version in examples/Cargo.toml
Note that it only v3_22_30 now https://github.com/gtk-rs/examples/blob/master/Cargo.toml#L28
and travis also not changed https://github.com/gtk-rs/examples/blob/master/.travis.yml#L13

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

Ah so we simple add the corresponding versions of all the crates there? But that doesn't give us cargo test --features=v2_58 for glib, only building of the examples.

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

IMHO don't need add it no all crates, only to examples

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

IMHO don't need add it no all crates, only to examples

But we don't run tests for anything but the default features then. At least gio has tests that only run with newer versions, for example, and if we add more tests over time this will become more common.

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

If you want add other feature to cargo test --features "subclassing"; in glib,
then IMHO better just add local environment variable FEATURES and add "v2_58" to it for gtk3.24

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

So simply always to a build with --features=subclassing,$OTHERFEATURES ? I.e. we won't have any build/test without the subclassing feature? Because otherwise we would have an empty features line in case of 2.42 (empty as in --features=).

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

@sdroege Yes, IMHO we need test with subclassing for all cases

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

I says about FEATURE environment variable because we have 2 uses of features in .travis.yml.

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

@sdroege Yes, IMHO we need test with subclassing for all cases

I was going to also run tests without to ensure that this actually works. If we only ever test with subclassing, we could as well remove the feature at all and enable it by default always :)

What would that FEATURES variable contain exactly? FEATURES= for 3.14, FEATURES=--features=v2_58 for 3.24? And you think I should simply remove the 3.22.30 build?

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

IMHO FEATURES=subclassing for 3.14, FEATURES=subclassing;v2_58 for 3.24,
usage cargo test --features "subclassing" and ... --features "subclassing" $OTHER_TARGET for other use
Case with FEATURES=--features=subclassing;v2_58 IMHO also appropriate as we don't have spaces in feature names
Yes, I don't see reason to test 3.22.30 now.

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

@GuillaumeGomez You think that we need test 3 version of gtk?

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

Like this then?

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

I thought do it only in script part, but this way we have better control on flags 👍

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

Ah ffs, Travis of course does not have GLib 2.58 so we can't do that anyway.

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

That's for someone else to clean up then, this Travis setup is not useful for testing what we're doing and I don't know how that's supposed to work with Travis.

I'll revert back to simply having 2.48 builds, as that is what Travis has.

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

@sdroege If you know how to test open source project on docker-ed Gitlab CI for free,
can you try it on some your project?

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

That's what all the GNOME projects are doing on gitlab.gnome.org.

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

Can someone kick travis? It's building with the old commit that used 2.58 and did not even schedule a new build for the latest commit.

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

Maybe it's fine now, let's see.

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

@sdroege You have write right on this repo, so IMHO you can kick travis yourself.

@GuillaumeGomez
Copy link
Member

@GuillaumeGomez You think that we need test 3 version of gtk?

Two should be fine but 3 doesn't bother me either so let's just do as needed.

appveyor.yml Outdated Show resolved Hide resolved
This should be reverted once someone figured out how to actually test
something in a meaningful way on Travis.
@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

All green now. Is everybody ok with that pattern for now until we figure out a better way for building things?

@EPashkin btw for your question about docker. You basically tell in the gitlab-ci.yaml which docker image(s) you want to use, and then you have that and can run things in there. It's literally just adding a line for the image to use in the simple case like ours. There must be something like this for Travis.

@GuillaumeGomez
Copy link
Member

Nope, all good for me for now.

@sdroege
Copy link
Member Author

sdroege commented Feb 8, 2019

Ok, then I'll go through the other repos one by one slowly over the next hours or maybe days :)

@sdroege sdroege merged commit ac1a38e into gtk-rs:master Feb 8, 2019
@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

@sdroege Thanks.
Can you start with examples, current version of https://github.com/gtk-rs/examples/blob/master/build_travis.sh seems just don't use 3.24.

@EPashkin
Copy link
Member

EPashkin commented Feb 8, 2019

Sorry, forgot about "pending" branch

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

Successfully merging this pull request may close these issues.

None yet

3 participants