You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I see the note in the Readme describing Homebrew's behavior of using only the latest versions and realize this can defeat repeatability.
Instead of vagrant, does the following alternative sound like an alternate possibility for creating repeatable builds? -- Create a mechanism to lock brew (and taps) at a particular version (a brewenv or brewvm, if you will). Or rather simply record commit sha's for brew and taps in some sort of per project .brewenv. Then a bootstrap tool could, on a per project basis, first set up a brewenv using the records sha's, then install bundle into that env, and then use that version of homebrew going forward.
Because many packages are being shipped via bintray, I'm not sure how long old versions are being kept, and if this would defeat repeatability. I'm sure there are other issues I'm not seeing.
thanks
The text was updated successfully, but these errors were encountered:
@lilinjn I think you'd have to capture the brew config since Apple's stuff is a moving target, too. In additional, Haskell components would tend to break over time unless you also bundled in a cabal.config for every Haskell formula. I think the biggest problem you'd face is that brew fetch would inevitably be doomed so you'd want to find a way to get everything to build offline from tarballs you'd self-host. A snapshot of the Homebrew cache would get you partially there.
I see the note in the Readme describing Homebrew's behavior of using only the latest versions and realize this can defeat repeatability.
Instead of vagrant, does the following alternative sound like an alternate possibility for creating repeatable builds? -- Create a mechanism to lock brew (and taps) at a particular version (a
brewenv
orbrewvm
, if you will). Or rather simply record commit sha's for brew and taps in some sort of per project .brewenv. Then a bootstrap tool could, on a per project basis, first set up a brewenv using the records sha's, then install bundle into that env, and then use that version of homebrew going forward.Because many packages are being shipped via bintray, I'm not sure how long old versions are being kept, and if this would defeat repeatability. I'm sure there are other issues I'm not seeing.
thanks
The text was updated successfully, but these errors were encountered: