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

How do we automate GRAN maintenance? #49

Closed
lawinslow opened this issue May 17, 2015 · 10 comments
Closed

How do we automate GRAN maintenance? #49

lawinslow opened this issue May 17, 2015 · 10 comments
Labels

Comments

@lawinslow
Copy link
Collaborator

One of the big challenges of maintaining GRAN is supporting builds across multiple platforms and R versions with updates pushed to the GRAN repo. A few challenges (as mentioned in issue #40) are:

  • 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?
  • If we can push updated package artifacts (from CI systems), how do we update the PACKAGES file?

This issue is open for notes and discussion.

@lawinslow
Copy link
Collaborator Author

For this point:

If we can push updated package artifacts (from CI systems), how do we update the PACKAGES file?

We may be able to use an AWS lambda function to pull the updated packages and push an updated PACKAGES function. Might be do-able, 1) grab packages from S3, 2) span an quick R process, 3) push new PACKAGES file. 60 second limit may or may not be an issue.

@lawinslow
Copy link
Collaborator Author

Hey @jiwalker-usgs, @jread-usgs says have a way to setup OS X build VM's. Want to weigh in? Is that something we can start trying out for builds?

@jiwalker-usgs
Copy link
Contributor

We discussed in the last fortnightly that rather than trying to bend travis and appveyor to our will it might make sense to just have build machines and automate the builds for the different platforms (via Jenkins or other). I don't know much about OS X and what is involved there, but I think we can start moving on this if you agree.

@lawinslow
Copy link
Collaborator Author

Absolutely. Let me know what you figure out with OS X. My original searches for virtualized OS X architecture turned up zilch, which is why I was headed along the "lean on travis" direction.

@jiwalker-usgs
Copy link
Contributor

Agreed that OS X virtualization is a bit of a mess, might be something here:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2005793

How many different builds are we looking to support? How many versions of OS X and how many versions of R?

@lawinslow
Copy link
Collaborator Author

We'll hopefully only need one version of OS X (mavericks or >) and two versions of R (R-stable and R-oldrel, which currently are 3.2 and 3.1 respectively).

@jordansread
Copy link
Member

we also may need to have a validation step in this process. E.g., last week the source didn't get updated.

@lawinslow
Copy link
Collaborator Author

What part of the process failed? It looks like the Jenkins job ran fine.

@ldecicco-USGS
Copy link
Member

I can't get on right now, but if you are seeing that it passed...I have absolutely no idea what is going on. I watched it fail last week on installing some dependency for EGRETci I think. Let me do it at 11:30 to make sure I haven't completely lost my mind.

@ldecicco-USGS
Copy link
Member

Only real lingering issue here is the same as #276

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

No branches or pull requests

4 participants