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

Uni-branch #133

Merged
merged 1,286 commits into from
Mar 14, 2016
Merged

Uni-branch #133

merged 1,286 commits into from
Mar 14, 2016

Conversation

jfirebaugh
Copy link
Contributor

Test build here, triggered locally with ./mason trigger jni.hpp 2.0.0.

It looks as though the triggered build API is rate limited; the responses come back with a "remaining_requests" key that starts with a value of 10 and counts down from there. I got down to 1 before getting everything in order. Haven't seen it reset yet, and can't find documentation about what the timeframe is.

@jfirebaugh
Copy link
Contributor Author

I think this is ready to go. I've fixed the boost directories and brought over the .travis.yml from each former branch, and the contents are now used for the triggered build.

The remaining question is the discussion in 86dbb40, which let's move here.

@jfirebaugh

Now that we're keeping the scripts in a single branch, we could remove this block and the separate .scripts directory entirely, and use the script file from the local checkout instead. This would improve stability in use cases like mapbox-gl-native. The current behavior can produce broken builds of past revisions, for example during git bisects, when the tip version of some script.sh is incompatible with the version of mason / mason.sh that mapbox-gl-native has pinned. Using mason, mason.sh, and a script.sh all from the same checkout would make that much less likely.

@kkaefer

Hm, that would mean we'd have to re-pin the .mason directory whenever we update a software version?

Overall, our goal for mason is to split the building packages part from the installing/depending on packages part. E.g. I have a sample implementation of a pure CMake-based package installer that integrates into find_library. That also means that we won't have to download a script.sh file anymore because we can directly download the tarball and error if it doesn't exist.

@jfirebaugh

Hm, that would mean we'd have to re-pin the .mason directory whenever we update a software version?

Yes, and that's a good thing. I don't want the build behavior of past revisions of mapbox-gl-native to change when someone modifies a script.sh. For more on this, see #67. The solution I propose there involves adding build revisions to the version number and writing the script.sh to S3. Using script.sh from the local checkout would be a lighter-weight approach that solves most of the same problems. (The part it doesn't solve is prebuilt binaries getting overwritten on S3.)

@jfirebaugh jfirebaugh changed the title Proof of concept for #132 Uni-branch Mar 12, 2016
@jfirebaugh
Copy link
Contributor Author

Another advantage of using script.sh from the pinned local checkout is it will allow us to be more aggressive about culling obsolete package versions (#60) from mason master without fear of breaking downstream consumers.

@springmeyer
Copy link
Contributor

Using script.sh from the local checkout would be a lighter-weight approach that solves most of the same problems

👍

Another advantage of using script.sh from the pinned local checkout is it will allow us to be more aggressive about culling obsolete package versions (#60) from mason master without fear of breaking downstream consumers.

👍

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

Successfully merging this pull request may close these issues.

6 participants