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

Nightlies for main branches on homebrew #1314

Closed
chapulina opened this issue Jan 30, 2021 · 6 comments
Closed

Nightlies for main branches on homebrew #1314

chapulina opened this issue Jan 30, 2021 · 6 comments

Comments

@chapulina
Copy link
Contributor

Our debian nightlies are very convenient to get fresh debians from the main branches of all Ignition libraries. It would be great to have the same for homebrew.

At the moment, it's still necessary to open a pull request here bumping the commit version of main branches when they're needed by downstream libraries. This could be automated, with GitHub actions for example, to happen nightly.

@scpeters
Copy link
Member

scpeters commented Feb 1, 2021

We have separate repositories in packages.osrfoundation.org for stable, prerelease, and nightly packages, but for homebrew we only have one version of things, which typically points to the latest stable release or prerelease. Before a formula has had any releases, we just point to the tarball for a specific commit on github and update it manually as needed.

I assume this proposal would apply only to packages that have not yet had a prerelease or stable release?

@chapulina chapulina changed the title Nightlies for main branches Nightlies for main branches on homebrew Feb 3, 2021
@chapulina
Copy link
Contributor Author

I assume this proposal would apply only to packages that have not yet had a prerelease or stable release?

Correct, just like the nightlies, this would only apply to the main branches. Although in some cases there will be overlap between pre-release and nightly, especially as we start shipping pre-releases close to the stable release date.

@chapulina
Copy link
Contributor Author

just like the nightlies, this would only apply to the main branches.

The debian nightlies are now using Fortress branches instead of main, see gazebo-tooling/release-tools#432

I assume this proposal would apply only to packages that have not yet had a prerelease or stable release?

The homebrew nightlies would either:

  • Use main branches, which are considered unstable and haven't had stable releases.
    • This should leave no ambiguity about the status of those packages.
    • We'd need to make pre- / stable releases whenever we need a change from stable branches.
  • Use Fortress branches, which consist of a combination of stable and unstable branches.
    • This would allow iterating faster on Fortress, like we're doing with debian nightlies.
    • This may introduce regressions on stable branches. We could consider this a good thing (detecting regressions early) or a bad thing (using homebrew as a canary).

scpeters added a commit to scpeters/homebrew-simulation that referenced this issue May 13, 2021
@scpeters
Copy link
Member

One very easy option occurred to me for unreleased packages: use the git repository as the url instead of a tarball of an explicit commit. We already do this for cppzmq for example:

https://github.com/osrf/homebrew-simulation/blob/master/Formula/cppzmq.rb#L4-L5

This would actually be closer to our windows CI than Ubuntu nightlies, since it would build the main branch of unreleased packages from source. We may actually be able to build binaries, but I think it wouldn't be easy to know which commit was used since the version tag will not include the commit sha

@scpeters
Copy link
Member

Using main branch for all new fortress packages in #1481

j-rivero pushed a commit that referenced this issue May 23, 2021
* Fortress deps: build from main branch

Part of #1314.

Co-authored-by: OSRF Build Bot <osrfbuild@osrfoundation.org>
@scpeters
Copy link
Member

closing this since we are using the main branch for all unreleased fortress packages

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

No branches or pull requests

2 participants