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

Update Travis to Ubuntu Xenial #446

Merged
merged 3 commits into from Feb 8, 2019

Conversation

Projects
None yet
3 participants
@sdroege
Copy link
Member

sdroege commented Feb 8, 2019

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

@sdroege

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member

EPashkin commented Feb 8, 2019

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

@sdroege

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member

EPashkin commented Feb 8, 2019

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

@EPashkin

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member

EPashkin commented Feb 8, 2019

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

@sdroege sdroege force-pushed the sdroege:travis-xenial branch from f3cad17 to 18432bf Feb 8, 2019

@sdroege

This comment has been minimized.

Copy link
Member Author

sdroege commented Feb 8, 2019

Like this then?

@EPashkin

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member Author

sdroege commented Feb 8, 2019

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

@sdroege

This comment has been minimized.

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 sdroege force-pushed the sdroege:travis-xenial branch from f680298 to 803277f Feb 8, 2019

@sdroege

This comment has been minimized.

Copy link
Member Author

sdroege commented Feb 8, 2019

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

@EPashkin

This comment has been minimized.

Copy link
Member

EPashkin commented Feb 8, 2019

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

@GuillaumeGomez

This comment has been minimized.

Copy link
Member

GuillaumeGomez commented Feb 8, 2019

@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.

Show resolved Hide resolved appveyor.yml Outdated

sdroege added some commits Feb 8, 2019

Use v2_48 as highest version because that's what outdated Travis has
This should be reverted once someone figured out how to actually test
something in a meaningful way on Travis.

@sdroege sdroege force-pushed the sdroege:travis-xenial branch from 803277f to 6ec2429 Feb 8, 2019

@sdroege

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member

GuillaumeGomez commented Feb 8, 2019

Nope, all good for me for now.

@sdroege

This comment has been minimized.

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

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@EPashkin

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member

EPashkin commented Feb 8, 2019

Sorry, forgot about "pending" branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.