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

Publish GTSAM artifacts #602

Merged
merged 7 commits into from
Nov 20, 2020
Merged

Publish GTSAM artifacts #602

merged 7 commits into from
Nov 20, 2020

Conversation

varunagrawal
Copy link
Collaborator

@varunagrawal varunagrawal commented Nov 15, 2020

Updated the Actions workflow to upload the corresponding build directories, so we can use the latest version of GTSAM in CI pipelines for other repos (e.g. GTDynamics).

@varunagrawal varunagrawal added the ci Related to the Continuous Integration pipeline label Nov 15, 2020
@varunagrawal varunagrawal self-assigned this Nov 15, 2020
Copy link
Member

@gchenfc gchenfc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!

2 comments:

  1. is there a reason not to do this for python and special cases?
  2. The artifacts are pretty big since they are uploading the entire build directory, especially the debug zip which is ~10GB. This has the dual byproducts of extra CI time (~15min for debug to upload the file) and a pretty time to download the artifacts down from github. Neither of these are deal breakers for me, but just thought I'd point out how large the files are. Perhaps an argument could be made for a more selective approach?

.github/workflows/build-linux.yml Show resolved Hide resolved
.github/workflows/build-macos.yml Show resolved Hide resolved
.github/workflows/build-windows.yml Show resolved Hide resolved
@ProfFan
Copy link
Collaborator

ProfFan commented Nov 17, 2020

@gchenfc Python wheels need very special build environments (check gtsam-manylinux-build) to make them run on every possible Linux distro you have. That is also very expensive (currently needs a custom GitHub runner hosted on GCE).

Also I second Gerry's 2nd point here - I think GitHub has a 10G-ish quota on storage space?

@varunagrawal
Copy link
Collaborator Author

I am not sure about the file size limit because Actions is not complaining about it, but you are right, if the upload is adding to the overall time, it doesn't make sense to add all the files. I wonder if zipping up the build directory would make a difference?

@gchenfc
Copy link
Member

gchenfc commented Nov 17, 2020

github billing
Not sure what account borglab is on but this would seem to imply that indeed there are storage limits which will incur additional cost.

Hmm. Maybe not using debug builds and also only uploading builds on merge with develop?
I think the zipped files are ~1/4 the size of the original directory and take virtually no time to zip

@varunagrawal
Copy link
Collaborator Author

GitHub Actions usage is free for public repositories and self-hosted runners.

No worries here.

@gchenfc gchenfc self-requested a review November 19, 2020 01:43
Copy link
Member

@gchenfc gchenfc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh, didn't read carefully that the limits/billing only applied to private repos.
Personally I would prefer only enabling this on release builds just to speed up builds, but up to you!

@varunagrawal
Copy link
Collaborator Author

I completely agree with you on the Release part. For downstream use, Debug builds for the CI just seem like an unnecessary time sink.

@varunagrawal
Copy link
Collaborator Author

Also, "free for public repos" is one of the reasons why I convinced Frank to move from Bitbucket to Github. We have so much tooling available to make life easy now.

@varunagrawal
Copy link
Collaborator Author

Okay wow, release builds are less than 500 MB while debug builds are > 4 GB!!! Great recommendation @gchenfc.

@varunagrawal varunagrawal merged commit c957478 into develop Nov 20, 2020
@varunagrawal varunagrawal deleted the feature/actions-publish branch November 20, 2020 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Related to the Continuous Integration pipeline
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants