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

nightly builds / releases #1766

Closed
RussTedrake opened this Issue Feb 27, 2016 · 34 comments

Comments

Projects
None yet
8 participants
@RussTedrake
Contributor

RussTedrake commented Feb 27, 2016

Moving the last remaining discussion from #1526 (and closing that issue).

everyone agrees we want nightly releases, and we need build servers running tests on those releases (ideally before it was posted, but github has a webhook for release postings that could make it easy to do things serially).
Specifically:

  • [] nightly build should replace a single "nightly" release on the github release page.
  • [] we can tag a good release (and increment the version num)
  • [] we carry a branch "stable" which gets moved up to the latest release, and the default install instructions tell people to clone stable.
@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Mar 1, 2016

Contributor

Jenkins can post nightly builds on success. Ideally, I would post these to an S3 bucket with a public link. You could place a link to the latest nightly on the wiki. I would reserve the GitHub releases for the stable versions.

Contributor

jamiesnape commented Mar 1, 2016

Jenkins can post nightly builds on success. Ideally, I would post these to an S3 bucket with a public link. You could place a link to the latest nightly on the wiki. I would reserve the GitHub releases for the stable versions.

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake Mar 2, 2016

Contributor

Great. Let me know the link.
On Tue, Mar 1, 2016 at 10:52 AM, Jamie Snape notifications@github.com wrote:
Jenkins can post nightly builds on success. Ideally, I would post these to an S3
bucket with a public link. You could place a link the latest nightly on the
wiki. I would reserve the GitHub releases for the stable versions.


Reply to this email directly or view it on GitHub
[https://github.com//issues/1766#issuecomment-190779847] .[https://github.com/notifications/beacon/AGJNNPeC8H7x8xD4xib87yYwCl3vY7PUks5ppGClgaJpZM4Hkeks.gif]

Contributor

RussTedrake commented Mar 2, 2016

Great. Let me know the link.
On Tue, Mar 1, 2016 at 10:52 AM, Jamie Snape notifications@github.com wrote:
Jenkins can post nightly builds on success. Ideally, I would post these to an S3
bucket with a public link. You could place a link the latest nightly on the
wiki. I would reserve the GitHub releases for the stable versions.


Reply to this email directly or view it on GitHub
[https://github.com//issues/1766#issuecomment-190779847] .[https://github.com/notifications/beacon/AGJNNPeC8H7x8xD4xib87yYwCl3vY7PUks5ppGClgaJpZM4Hkeks.gif]

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Mar 2, 2016

Contributor

Will do. To get this fully functional, we first need to resolve #1751 and #1781.

Contributor

jamiesnape commented Mar 2, 2016

Will do. To get this fully functional, we first need to resolve #1751 and #1781.

@billhoffman

This comment has been minimized.

Show comment
Hide comment
@billhoffman

billhoffman Mar 2, 2016

Contributor

Work on a partial one for linux that uses the shell scripts.

Contributor

billhoffman commented Mar 2, 2016

Work on a partial one for linux that uses the shell scripts.

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake Mar 16, 2016

Contributor

note: have to be very careful to not include proprietary source. (e.g. snopt). we have some “release_filelist” logic in the make files which help with this. i can also share our existing packaging scripts.

Contributor

RussTedrake commented Mar 16, 2016

note: have to be very careful to not include proprietary source. (e.g. snopt). we have some “release_filelist” logic in the make files which help with this. i can also share our existing packaging scripts.

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Mar 16, 2016

Contributor

Are they the scripts in the admin repo?

Contributor

jamiesnape commented Mar 16, 2016

Are they the scripts in the admin repo?

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake Mar 16, 2016

Contributor

Yes. In the www subdir

Contributor

RussTedrake commented Mar 16, 2016

Yes. In the www subdir

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake Mar 16, 2016

Contributor

Make that packaging subdir :-/

Contributor

RussTedrake commented Mar 16, 2016

Make that packaging subdir :-/

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake May 1, 2016

Contributor

the other thing that we will want to be conscious of (eventually) is to have the minimum required versions for all of the libraries on the servers that build the official releases. (see e.g. #1428)

Contributor

RussTedrake commented May 1, 2016

the other thing that we will want to be conscious of (eventually) is to have the minimum required versions for all of the libraries on the servers that build the official releases. (see e.g. #1428)

@david-german-tri

This comment has been minimized.

Show comment
Hide comment
@david-german-tri

david-german-tri Jun 1, 2016

Contributor

Downgraded to medium because this is blocked on having code that's stable enough to release.

Contributor

david-german-tri commented Jun 1, 2016

Downgraded to medium because this is blocked on having code that's stable enough to release.

@jwnimmer-tri

This comment has been minimized.

Show comment
Hide comment
@jwnimmer-tri

jwnimmer-tri Nov 8, 2016

Collaborator

So here's a good question. Should the releases be the C++ and Python code only, or also include the MATLAB support? It seems like a big delta on effort to add MATLAB.

Collaborator

jwnimmer-tri commented Nov 8, 2016

So here's a good question. Should the releases be the C++ and Python code only, or also include the MATLAB support? It seems like a big delta on effort to add MATLAB.

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake Nov 8, 2016

Contributor

I’ve been leaning to not including the matlab, just to get these up. We’ll still need to supply some files from the source directory (urdf + meshes), but the list should be pretty reasonable. Will also have to address path relocation issues.

Contributor

RussTedrake commented Nov 8, 2016

I’ve been leaning to not including the matlab, just to get these up. We’ll still need to supply some files from the source directory (urdf + meshes), but the list should be pretty reasonable. Will also have to address path relocation issues.

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Nov 8, 2016

Contributor

I will start with C++ and take it from there. Dealing with the pure CMake projects should be relatively easy, since the functionality for creating packages is built-in. It is mostly a case of ensuring that everything that needs to be in the installer has an install command in front of it. If projects (especially Drake) are not using CMake life gets more difficult.

Contributor

jamiesnape commented Nov 8, 2016

I will start with C++ and take it from there. Dealing with the pure CMake projects should be relatively easy, since the functionality for creating packages is built-in. It is mostly a case of ensuring that everything that needs to be in the installer has an install command in front of it. If projects (especially Drake) are not using CMake life gets more difficult.

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Nov 8, 2016

Contributor

The other question is which externals would you like to include (#4045). Given the variety of licenses, that impacts packaging and distribution. Obviously everything marked with ! in that ticket is not going to be included.

Contributor

jamiesnape commented Nov 8, 2016

The other question is which externals would you like to include (#4045). Given the variety of licenses, that impacts packaging and distribution. Obviously everything marked with ! in that ticket is not going to be included.

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake Nov 10, 2016

Contributor

Looks like it might be worth cleaning up a little more on #4045, like setting the eigen flag and resolving the thirdParty issues in drake. (plus resolving, or explaining, the remaining ???s)

It looks like we can get pretty far using drake + the BSD-3 and Zlib (bullet is worth including) licensed externals. How restrictive is Zlib?

Contributor

RussTedrake commented Nov 10, 2016

Looks like it might be worth cleaning up a little more on #4045, like setting the eigen flag and resolving the thirdParty issues in drake. (plus resolving, or explaining, the remaining ???s)

It looks like we can get pretty far using drake + the BSD-3 and Zlib (bullet is worth including) licensed externals. How restrictive is Zlib?

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Nov 10, 2016

Contributor

I added a few notes. Bullet should be fine, I just need to double check we do not use the small amount of code under different licenses.

Contributor

jamiesnape commented Nov 10, 2016

I added a few notes. Bullet should be fine, I just need to double check we do not use the small amount of code under different licenses.

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Nov 10, 2016

Contributor

If we need a solver, including part of ipopt is not out of the question. It just depends on the minimum functionality that is needed.

Contributor

jamiesnape commented Nov 10, 2016

If we need a solver, including part of ipopt is not out of the question. It just depends on the minimum functionality that is needed.

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake Nov 10, 2016

Contributor

sorry, i forgot. We have permission fromthe author to redistribute code linked (statically) against snopt, but not to distribute the snopt libraries themselves. We should definitely handle that case here (snopt is the solver of choice)

Contributor

RussTedrake commented Nov 10, 2016

sorry, i forgot. We have permission fromthe author to redistribute code linked (statically) against snopt, but not to distribute the snopt libraries themselves. We should definitely handle that case here (snopt is the solver of choice)

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Nov 10, 2016

Contributor

Cool. That makes life easier.

Contributor

jamiesnape commented Nov 10, 2016

Cool. That makes life easier.

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Nov 10, 2016

Contributor

(I am assuming no SNOPT headers may be distributed, which is not an issue at present.)

Contributor

jamiesnape commented Nov 10, 2016

(I am assuming no SNOPT headers may be distributed, which is not an issue at present.)

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Nov 10, 2016

Contributor

@RussTedrake Would you like to distribute binary executables of the examples, or just libraries?

Contributor

jamiesnape commented Nov 10, 2016

@RussTedrake Would you like to distribute binary executables of the examples, or just libraries?

@RussTedrake

This comment has been minimized.

Show comment
Hide comment
@RussTedrake

RussTedrake Nov 10, 2016

Contributor

definitely examples, too. thanks!

Contributor

RussTedrake commented Nov 10, 2016

definitely examples, too. thanks!

@david-german-tri

This comment has been minimized.

Show comment
Hide comment
@david-german-tri

david-german-tri Jan 13, 2017

Contributor

This is actively being worked, bumping the priority.

Contributor

david-german-tri commented Jan 13, 2017

This is actively being worked, bumping the priority.

@david-german-tri

This comment has been minimized.

Show comment
Hide comment
@david-german-tri

david-german-tri Jan 26, 2017

Contributor

Note from f2f: We will need to make sure that build tree RPATHs do not leak into the installed package.

Contributor

david-german-tri commented Jan 26, 2017

Note from f2f: We will need to make sure that build tree RPATHs do not leak into the installed package.

@patmarion

This comment has been minimized.

Show comment
Hide comment
@patmarion

patmarion Feb 23, 2017

Member

btw, regarding RPATH and redistributable packages, Director has packaging for linux and mac that fix up RPATH and I am quite happy with how it works!

https://github.com/RobotLocomotion/director/tree/master/distro/package

Member

patmarion commented Feb 23, 2017

btw, regarding RPATH and redistributable packages, Director has packaging for linux and mac that fix up RPATH and I am quite happy with how it works!

https://github.com/RobotLocomotion/director/tree/master/distro/package

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Feb 23, 2017

Contributor

Cool. Looks useful.

Contributor

jamiesnape commented Feb 23, 2017

Cool. Looks useful.

@patmarion

This comment has been minimized.

Show comment
Hide comment
@patmarion

patmarion Mar 2, 2017

Member

fyi, I just tested Director's packaging script on the drake superbuild. It successfully makes redistributable packages for director that also include all of drake. If you want nightly packages/releases, I'd recommend turning this on as a starting point.

Member

patmarion commented Mar 2, 2017

fyi, I just tested Director's packaging script on the drake superbuild. It successfully makes redistributable packages for director that also include all of drake. If you want nightly packages/releases, I'd recommend turning this on as a starting point.

@stonier

This comment has been minimized.

Show comment
Hide comment
@stonier
Collaborator

stonier commented Jul 31, 2017

@EricCousineau-TRI

This comment has been minimized.

Show comment
Hide comment
@EricCousineau-TRI

EricCousineau-TRI Feb 2, 2018

Contributor

BTW Should we consider this closed for now?
While explicit tagging is not being done, we can just "manually" tag the releases, and possibly mirror the release to a different URL if so desired?

Contributor

EricCousineau-TRI commented Feb 2, 2018

BTW Should we consider this closed for now?
While explicit tagging is not being done, we can just "manually" tag the releases, and possibly mirror the release to a different URL if so desired?

@jamiesnape

This comment has been minimized.

Show comment
Hide comment
@jamiesnape

jamiesnape Feb 2, 2018

Contributor

This issue about nightly releases, so tags and the whole stable release process would be different issue anyway.

Contributor

jamiesnape commented Feb 2, 2018

This issue about nightly releases, so tags and the whole stable release process would be different issue anyway.

@EricCousineau-TRI

This comment has been minimized.

Show comment
Hide comment
@EricCousineau-TRI

EricCousineau-TRI Feb 2, 2018

Contributor

Sounds good! Closing for now.

Contributor

EricCousineau-TRI commented Feb 2, 2018

Sounds good! Closing for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment