Skip to content
This repository has been archived by the owner on Oct 6, 2022. It is now read-only.

Create a script to make both current binaries and one behind #40

Closed
ldecicco-USGS opened this issue Apr 21, 2015 · 23 comments
Closed

Create a script to make both current binaries and one behind #40

ldecicco-USGS opened this issue Apr 21, 2015 · 23 comments

Comments

@ldecicco-USGS
Copy link
Member

Versions of R that is...
Not sure that's even possible. If it is, super.

@jordansread
Copy link
Member

The old travis scripts (pre r support) may have some fruit for this if we are building on a VM or container

@ldecicco-USGS
Copy link
Member Author

@jiwalker-usgs : dockah?

@jiwalker-usgs
Copy link
Contributor

Docker is only going to help with Linux stuff. Since Linux pretty much just does source installs, you are probably out of luck. There might be ways to build binaries for other OSs in Linux, but probably not worth the hassle?

@ldecicco-USGS
Copy link
Member Author

Booo

@jordansread
Copy link
Member

but...you can have travis or appveyor build mac and windows binaries, and they have hooks for those artifacts. Is this a no-go route?

@ldecicco-USGS
Copy link
Member Author

My faith in travis and appveyor is much less than yours I think.

@ldecicco-USGS
Copy link
Member Author

Also, are you suggesting that the package maintainers have to set that up?

@jordansread
Copy link
Member

no, not at all. I am suggesting we use that to build the gran binaries. If that is possible.

@ldecicco-USGS
Copy link
Member Author

Well, go ahead and set up what you are trying to describe I guess.

It's not even my lack of faith in them...it's more...is that a legitimate use of those services? Don't they have time limits? Right now, we might not surpass it, but soon down the road. Also, size limits GLMr<\cough>?

It's one thing to use them to test the packages. It's another to use as a critical build element in our production service. Maybe it is something they plan for, I would just want to confirm/understand better before spending any effort going down that road.

@jordansread
Copy link
Member

</cough> </cough> I will look into it to see if it is possible. If not, I will see what others would recommend for this kind of thing.

@jordansread
Copy link
Member

@ldecicco-USGS looking into this, it seems that both appveyor and travis support secure keys for AWS with artifact uploads to S3 buckets.

I was having some trouble with my appveyor test build because of an unrelated issue, but here is the outcome of J Hollister's quickmapr build: https://ci.appveyor.com/project/jhollist/quickmapr/build/artifacts, which includes a windows binary. Then, using the S3 deploy in the yaml -
http://www.appveyor.com/docs/deployment/amazon-s3
with their secure variables: http://www.appveyor.com/docs/build-configuration#secure-variables
Similar exists for travis but the syntax is quite different.

I don't think I know enough about your current build system to know if this is a good solution or not. If we start paying for these services, it would be about $200/mo in support of USGS-R. Thoughts?

@jordansread
Copy link
Member

@jordansread
Copy link
Member

@ldecicco-USGS to switch your R version (for local builds), you can use Rswitch http://r.research.att.com/#other

Was able to roll back to R version 2.15.2 (2012-10-26) -- "Trick or Treat" :)

@jordansread
Copy link
Member

@lawinslow
Copy link
Collaborator

Which R version is this? Can you do the other too?

@jordansread
Copy link
Member

This is actually R.devel (3.3.0). We want to create a build matrix for oldrel, current, and devel re: krlmlr/r-appveyor#2, and pitch in on that PR

@lawinslow
Copy link
Collaborator

Ok, so you propose using the built artifacts coming from Appveyor and Travis for Windows and OS X builds, right? Thoughts on how to pull them all in?

@jordansread
Copy link
Member

from above: "using the S3 deploy in the yaml -
http://www.appveyor.com/docs/deployment/amazon-s3
with their secure variables: http://www.appveyor.com/docs/build-configuration#secure-variables
Similar exists for travis but the syntax is quite different."
Thoughts on that @lawinslow ? this was one of the other things I wanted to talk about this week.

@lawinslow
Copy link
Collaborator

My thoughts are that this is generally a bit of a mess and that to accomplish this, we're going to have to get a bit dirty. @ldecicco-USGS has been dealing with a lot of this. Someone needs to take on the whole big picture here and start figuring out what pieces work well and what pieces we're missing. The pushing of artifacts should be easy, but there are a lot of other small bits that need to be worked out.

Here are a few issues I'm grappling with right now:

  • How do we trigger the process on both platforms?
  • Do we want every triggered build to push a new package-set? Or is there a good way to control if a triggered build uploads artifacts or not?
  • What's the feedback mechanism if a package build fails? Is the appveyor/travis interface ok?
  • On Travis, can we use the now supported R environment, or to be on Mac, do we need to stick to the older approach using objective-c?

@lawinslow
Copy link
Collaborator

@jread-usgs @eread-usgs (Mac people), what versions of R are supported for a Mac on CRAN? I just noticed today that only r-release is listed for Maverics. The must still support r-oldrel...

@jordansread
Copy link
Member

Wow, that is surprising. I feel like that is a change relative to what was up on CRAN for R 3.1.

@lawinslow
Copy link
Collaborator

Something tells me they support 3.1, it just doesn't show up there, but who knows.

@jordansread
Copy link
Member

You are right. just checked w/ 3.1, and it is there.

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

No branches or pull requests

4 participants