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

Move binaries from resources to external repo (or other place) #896

Closed
piotradamczyk5 opened this issue Jul 16, 2020 · 3 comments · Fixed by #1385
Closed

Move binaries from resources to external repo (or other place) #896

piotradamczyk5 opened this issue Jul 16, 2020 · 3 comments · Fixed by #1385
Assignees

Comments

@piotradamczyk5
Copy link
Contributor

piotradamczyk5 commented Jul 16, 2020

Author the user story for this feature

As a Developer, I want to move all binaries from main/resources to someplace to avoid using submodules (based on the research of task #849) so I can have a flank repository smaller.

Is your feature request related to a problem? Please describe.
External binaries should not be part of source code, to have quicker checkout and to keep repository size as small as possible.

Describe the solution you'd like
The solution should be chosen based on the research of task #849

@Sloox
Copy link
Contributor

Sloox commented Sep 4, 2020

The integration task might influence this: #1072

@piotradamczyk5 piotradamczyk5 self-assigned this Sep 9, 2020
@piotradamczyk5 piotradamczyk5 removed their assignment Sep 9, 2020
@piotradamczyk5 piotradamczyk5 self-assigned this Dec 3, 2020
@piotradamczyk5
Copy link
Contributor Author

Since binaries directory size is around 18,2 MB and the content inside is not changing so often, we could use GitHub lfs which has suitable storage for us.
What is more, these files are only needed for Linux and windows.
WDYT?

@piotradamczyk5
Copy link
Contributor Author

Based on slack discussion

bandwidth for lfs on github is expensive
outages are caused when the bandwidth is is exceeded
there's flakiness associated with lfs which make the builds unstable
the recommended approach is to publish these as a package (either to github packages) or a content store like GCS or github releases (which is backed by S3)

piotradamczyk5 added a commit that referenced this issue Dec 14, 2020
Fixes #896

This PR delete submodule for [binaries ](https://github.com/Flank/binaries) and download them at runtime from [release page ](https://github.com/Flank/binaries/releases) based on os system

## Test Plan
> How do we know the code works?

`macOs` -> all should work by default because previously binaries were not copied on macOS
`linux` -> it download binaries from [release page](https://github.com/Flank/binaries/releases) at runtime to `<user_home>/.flank` directory and unpack them 
`windows` -> it works similar to `linux` version, however, full support will be available after #1134 

All tests should work properly

## Checklist

- [x] Documented
- [x] Unit tested
- [x] Downloading binaries for Linux and Windows at runtime
- [x] Create binaries release for Linux and Windows
- [x] Update binaries assets after each change on binaries repo [release page](https://github.com/Flank/binaries/releases) >> [PR](Flank/binaries#4)
- [x] Delete submodule
- [x] Update Github Actions to do not checkout submodules
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants