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

cli: rolling builds #2249

Closed
bassosimone opened this issue Aug 30, 2022 · 1 comment
Closed

cli: rolling builds #2249

bassosimone opened this issue Aug 30, 2022 · 1 comment
Assignees
Labels
enhancement improving existing code or new feature ooni/probe-cli ooni/probe-engine platform/android platform/ios platform/linux platform/macos platform/windows priority/high research prototype user feedback requests that have been added to the backlog as a direct result of user feedback or testing

Comments

@bassosimone
Copy link
Contributor

bassosimone commented Aug 30, 2022

We will create a release called rolling. We will instruct the build scripts to publish on such a release unless we're building a tag, in which case we'll publish on the release associated with a tag.

This improvement serves two purposes. First, we now have a way to test whether building and publishing binaries works as intended. Second, it provides a place from where to fetch correctly-built recent OONI binaries.

@bassosimone bassosimone self-assigned this Aug 30, 2022
bassosimone added a commit to ooni/probe-cli that referenced this issue Aug 30, 2022
This diff modifies all the github actions that produce assets to
publish on a release called rolling when we are not building a tag.

If everything goes as planned, we should be able to provide
people with automatically generated fresh binaries for testing.

See ooni/probe#2249
@bassosimone bassosimone added enhancement improving existing code or new feature priority/high user feedback requests that have been added to the backlog as a direct result of user feedback or testing research prototype ooni/probe-cli platform/android platform/ios platform/macos platform/windows platform/linux ooni/probe-engine and removed triage labels Aug 30, 2022
bassosimone added a commit to ooni/probe-cli that referenced this issue Aug 30, 2022
This diff modifies all the github actions that produce assets to
publish on a release called rolling when we are not building a tag.

If everything goes as planned, we should be able to provide
people with automatically generated fresh binaries for testing.

While there, introduce caching for all builds to make them
as fast as possible. I suspect gomobile based builds will not
see any speed up but other builds most likely will.

See ooni/probe#2249
bassosimone added a commit to ooni/probe-cli that referenced this issue Aug 30, 2022
This work aims to make Linux builds faster to make ooni/probe#2249 more convenient. Since those builds runs inside Docker, the problem to solve here is to save/restore the Go caches notwithstanding Docker. Because Docker runs as root, we need to modify the build a bit to run as a normal user. Otherwise, we will not be able to save the Go cache using actions/cache@v3. (Other approaches such as using `sudo` are possible but running the build as an unprivileged user actually looks cleaner, so I chose to do that.) While there, add a `.editorconfig`.
@bassosimone
Copy link
Contributor Author

After implementing this functionality, I spent some time to make it fast enough to allow for fast development cycles for linux and android (CLI only). Now, after all this work, I think it's time to consider this issue done! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement improving existing code or new feature ooni/probe-cli ooni/probe-engine platform/android platform/ios platform/linux platform/macos platform/windows priority/high research prototype user feedback requests that have been added to the backlog as a direct result of user feedback or testing
Projects
None yet
Development

No branches or pull requests

1 participant