{"thread":{"id":"51201","subject":"Travis not looking so good","startedAt":"2019-05-30T19:33:00Z","lastAt":"2019-07-10T22:33:55Z","messageCount":18,"participants":["Johannes Schindelin","brian m. carlson","SZEDER Gábor","Taylor Blau","Junio C Hamano","Thomas Braun"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"376455","messageId":"nycvar.QRO.7.76.6.1905302125190.44@tvgsbejvaqbjf.bet","threadId":"51201","inReplyTo":null,"subject":"Travis not looking so good","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-05-30T19:32:41Z","receivedAt":"2019-05-30T19:33:00Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Gábor,\n\ndo you have any idea why Travis is failing like this in the macOS/gcc\njob?\n\n> +case \"$jobname\" in\n> +brew link gcc@8\n> Error: No such keg: /usr/local/Cellar/gcc@8\n> The command \"ci/install-dependencies.sh\" failed and exited with 1 during .\n\nI usually only look at the Azure Pipelines (which gives me plenty enough\nto do, what with pu's individual branches being tested individually), but\ncouldn't fail to notice that *all* four branches (maint, master, next and\npu) fail in Travis' macOS/gcc job (and only there, the Azure Pipelines are\nall green):\n\nhttps://github.com/git/git/branches/all\n\nWhat's going on?\n\nCiao,\nDscho\n"},{"id":"376526","messageId":"20190601004143.GN8616@genre.crustytoothpaste.net","threadId":"51201","inReplyTo":"nycvar.QRO.7.76.6.1905302125190.44@tvgsbejvaqbjf.bet","subject":"Re: Travis not looking so good","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2019-06-01T00:41:43Z","receivedAt":"2019-06-01T00:41:51Z","isPatch":false,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"On 2019-05-30 at 19:32:41, Johannes Schindelin wrote:\n> Hi Gábor,\n> \n> do you have any idea why Travis is failing like this in the macOS/gcc\n> job?\n> \n> > +case \"$jobname\" in\n> > +brew link gcc@8\n> > Error: No such keg: /usr/local/Cellar/gcc@8\n> > The command \"ci/install-dependencies.sh\" failed and exited with 1 during .\n> \n> I usually only look at the Azure Pipelines (which gives me plenty enough\n> to do, what with pu's individual branches being tested individually), but\n> couldn't fail to notice that *all* four branches (maint, master, next and\n> pu) fail in Travis' macOS/gcc job (and only there, the Azure Pipelines are\n> all green):\n> \n> https://github.com/git/git/branches/all\n> \n> What's going on?\n\nI'm certainly not an expert on macOS, so I could be getting things wrong\nhere, but it looks like we don't ever explicitly install the gcc@8\npackage from Homebrew. It may have happened to be installed\nautomatically by Travis in the past, but they may have upgraded now that\nGCC 9 has been released.\n\nI suspect if we want to use GCC 8, we need to explicitly install it by\nusing \"brew install gcc@8\", or we can just pick the latest released GCC\nby using \"brew install gcc\" if we like that better. We will still need\nto do \"brew link gcc\" (or \"gcc@8\"), since I suspect Homebrew won't\nauto-link it since macOS provides a gcc binary.\n-- \nbrian m. carlson: Houston, Texas, US\nOpenPGP: https://keybase.io/bk2204\n"},{"id":"376546","messageId":"20190602112239.GO951@szeder.dev","threadId":"51201","inReplyTo":"20190601004143.GN8616@genre.crustytoothpaste.net","subject":"Re: Travis not looking so good","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-06-02T11:22:39Z","receivedAt":"2019-06-02T11:22:46Z","isPatch":false,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Sat, Jun 01, 2019 at 12:41:43AM +0000, brian m. carlson wrote:\n> On 2019-05-30 at 19:32:41, Johannes Schindelin wrote:\n> > Hi Gábor,\n> > \n> > do you have any idea why Travis is failing like this in the macOS/gcc\n> > job?\n> > \n> > > +case \"$jobname\" in\n> > > +brew link gcc@8\n> > > Error: No such keg: /usr/local/Cellar/gcc@8\n> > > The command \"ci/install-dependencies.sh\" failed and exited with 1 during .\n> > \n> > I usually only look at the Azure Pipelines (which gives me plenty enough\n> > to do, what with pu's individual branches being tested individually), but\n> > couldn't fail to notice that *all* four branches (maint, master, next and\n> > pu) fail in Travis' macOS/gcc job (and only there, the Azure Pipelines are\n> > all green):\n> > \n> > https://github.com/git/git/branches/all\n> > \n> > What's going on?\n\nThe usual: Homebrew desperately tries to be overly clever and helpful,\nbut ends up being dumb and annoying. :)\n\nI was hoping that this issue will just solve itself, like several\nother brew breakages in the past, but apparently it won't...\n\n\n> I'm certainly not an expert on macOS, so I could be getting things wrong\n> here, but it looks like we don't ever explicitly install the gcc@8\n> package from Homebrew. It may have happened to be installed\n> automatically by Travis in the past, but they may have upgraded now that\n> GCC 9 has been released.\n\ngcc@8 is still installed in the Travis CI macOS image we use, but it\nis version 8.2.  It's still perfectly usable, but:\n\nWhen installing dependencies on macOS, we first explicitly run 'brew\nupdate', which spends over two minutes to update itself and\ninformation about the available packages.  This way it learns about\nGCC 8.3, and after that gcc@8 refers to v8.3, and, unfortunately,\n'brew' is just too dumb to be able to do anything with the still\ninstalled 8.2 package, and the subsequent 'brew link gcc@8' fails.\nBut hey, even 'brew uninstall gcc@8' fails with the same error after\nthat, which is simply unacceptable from a package manager in my book.\n\n\n> I suspect if we want to use GCC 8, we need to explicitly install it by\n> using \"brew install gcc@8\", or we can just pick the latest released GCC\n> by using \"brew install gcc\" if we like that better. We will still need\n> to do \"brew link gcc\" (or \"gcc@8\"), since I suspect Homebrew won't\n> auto-link it since macOS provides a gcc binary.\n\nYeah, installing gcc@8 or gcc works.  Back in 2c8921db2b (travis-ci:\nbuild with the right compiler, 2019-01-17) I opted for simply linking\nthe already installed gcc@8 package, because GCC is big, installing it\ntakes time, and the macOS build jobs have always been prone to\nexceeding the time limit.  (Note that these packages provide 'gcc-8'\nand 'gcc-9' binaries, not 'gcc', and after 'brew install'-ing them we\nwon't need an additional link step (I'm not sure why linking is\nnecessary with the gcc@8 package already installed in the Travis CI\nimage).)\n\nAnother possibilities are:\n\n  - Running 'brew link gcc@8' before 'brew update' works:\n\n      https://travis-ci.org/szeder/git/jobs/540027012#L139\n\n  - Not running 'brew update' at all works as well:\n  \n      https://travis-ci.org/szeder/git/jobs/514960153#L179\n  \n    However, it's not as simple as removing the 'brew update' command\n    from our ci script, because 'brew' is so very helpful that it\n    implicitly runs update for us on the next 'brew install' anyway...\n    we have to 'export HOMEBREW_NO_AUTO_UPDATE=1' first to disable\n    that.\n\n    As an additional benefit, disabling 'brew update' shaves off over\n    2mins from the ~4mins currently spent on installing dependencies\n    [1].\n\n    I've been running my somewhat customized builds on Travis CI [2]\n    without 'brew update' for about a month now, no ill effects yet.\n    Initially I was worried that without 'brew update' a subsequent\n    'brew install <pkg>' might fail, if the package repositories\n    contain only a newer version of 'pkg'.  I haven't seen any such\n    issues yet, and my builds can still 'brew install' Git-LFS 2.5.2\n    and Perforce 18.1, although their current versions are 2.7.2 and\n    19.1, respectively.\n\n\n[1] And disabling the recently introduced auto cleanup feature saves\n    some more time, and installing all dependencies in the macOS\n    builds can be done in ~20-30secs:\n\n      https://travis-ci.org/szeder/git/jobs/514960153#L92\n\n[2] https://travis-ci.org/szeder/git-cooking-topics-for-travis-ci/branches\n"},{"id":"378082","messageId":"20190626203559.GA71590@TaylorsMBP3745.attlocal.net","threadId":"51201","inReplyTo":"20190602112239.GO951@szeder.dev","subject":"Re: Travis not looking so good","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2019-06-26T20:35:59Z","receivedAt":"2019-06-26T20:36:05Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"Hi Gábor,\n\nOn Sun, Jun 02, 2019 at 01:22:39PM +0200, SZEDER Gábor wrote:\n> On Sat, Jun 01, 2019 at 12:41:43AM +0000, brian m. carlson wrote:\n> > On 2019-05-30 at 19:32:41, Johannes Schindelin wrote:\n> > > Hi Gábor,\n> > >\n> > > do you have any idea why Travis is failing like this in the macOS/gcc\n> > > job?\n> > >\n> > > > +case \"$jobname\" in\n> > > > +brew link gcc@8\n> > > > Error: No such keg: /usr/local/Cellar/gcc@8\n> > > > The command \"ci/install-dependencies.sh\" failed and exited with 1 during .\n> > >\n> > > I usually only look at the Azure Pipelines (which gives me plenty enough\n> > > to do, what with pu's individual branches being tested individually), but\n> > > couldn't fail to notice that *all* four branches (maint, master, next and\n> > > pu) fail in Travis' macOS/gcc job (and only there, the Azure Pipelines are\n> > > all green):\n> > >\n> > > https://github.com/git/git/branches/all\n> > >\n> > > What's going on?\n>\n> The usual: Homebrew desperately tries to be overly clever and helpful,\n> but ends up being dumb and annoying. :)\n>\n> I was hoping that this issue will just solve itself, like several\n> other brew breakages in the past, but apparently it won't...\n\nI have noticed this as well on my own fork's TravisCI builds.\n\n> > I suspect if we want to use GCC 8, we need to explicitly install it by\n> > using \"brew install gcc@8\", or we can just pick the latest released GCC\n> > by using \"brew install gcc\" if we like that better. We will still need\n> > to do \"brew link gcc\" (or \"gcc@8\"), since I suspect Homebrew won't\n> > auto-link it since macOS provides a gcc binary.\n>\n> Yeah, installing gcc@8 or gcc works.  Back in 2c8921db2b (travis-ci:\n> build with the right compiler, 2019-01-17) I opted for simply linking\n> the already installed gcc@8 package, because GCC is big, installing it\n> takes time, and the macOS build jobs have always been prone to\n> exceeding the time limit.  (Note that these packages provide 'gcc-8'\n> and 'gcc-9' binaries, not 'gcc', and after 'brew install'-ing them we\n> won't need an additional link step (I'm not sure why linking is\n> necessary with the gcc@8 package already installed in the Travis CI\n> image).)\n\nI wrote something like this up in [1] before I realized that you had\nyour own patches in [2]. This did fix things, but it's kind of awkward\nin the sense that we're not really \"installing\" anything (in fact, the\npatch in [1] incorrectly indicates that we are), but instead nudging it\nafter it discovers v8.3.\n\n\n> Another possibilities are:\n>\n>   - Running 'brew link gcc@8' before 'brew update' works:\n>\n>       https://travis-ci.org/szeder/git/jobs/540027012#L139\n>\n>   - Not running 'brew update' at all works as well:\n>\n>       https://travis-ci.org/szeder/git/jobs/514960153#L179\n\nI'd be just as happy to do something similar to what I did as really\neither of these. Getting rid of 'brew update' entirely would make me\nhappiest, since it takes a *long* time for one of these to complete.\n\nBut, I'd almost prefer explicitly running 'brew install gcc@8' to\nrunning 'brew link gcc@8' before 'brew update'. The later seems fragile\nand awfully prone to break, especially when we are just doing it to try\nand work around a Homebrew quirk.\n\nIf you don't have any plans to send your patches upstream, and feel OK\nrunning 'brew install', let me know and I will send my patch in [1].\n\nThanks,\nTaylor\n\n[1]: https://github.com/ttaylorr/git/commit/a20e34d143a4a15b6b15ccb5bfb996fab9551b76\n[2]: https://github.com/szeder/git/commit/ca29709d09a440d98857efb2575a3f92feaab29f\n"},{"id":"378157","messageId":"20190627132319.GB21574@szeder.dev","threadId":"51201","inReplyTo":"20190626203559.GA71590@TaylorsMBP3745.attlocal.net","subject":"Re: Travis not looking so good","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-06-27T13:23:19Z","receivedAt":"2019-06-27T13:23:27Z","isPatch":false,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Wed, Jun 26, 2019 at 03:35:59PM -0500, Taylor Blau wrote:\n> Hi Gábor,\n> \n> On Sun, Jun 02, 2019 at 01:22:39PM +0200, SZEDER Gábor wrote:\n> > On Sat, Jun 01, 2019 at 12:41:43AM +0000, brian m. carlson wrote:\n> > > On 2019-05-30 at 19:32:41, Johannes Schindelin wrote:\n> > > > Hi Gábor,\n> > > >\n> > > > do you have any idea why Travis is failing like this in the macOS/gcc\n> > > > job?\n> > > >\n> > > > > +case \"$jobname\" in\n> > > > > +brew link gcc@8\n> > > > > Error: No such keg: /usr/local/Cellar/gcc@8\n> > > > > The command \"ci/install-dependencies.sh\" failed and exited with 1 during .\n> > > >\n> > > > I usually only look at the Azure Pipelines (which gives me plenty enough\n> > > > to do, what with pu's individual branches being tested individually), but\n> > > > couldn't fail to notice that *all* four branches (maint, master, next and\n> > > > pu) fail in Travis' macOS/gcc job (and only there, the Azure Pipelines are\n> > > > all green):\n> > > >\n> > > > https://github.com/git/git/branches/all\n> > > >\n> > > > What's going on?\n> >\n> > The usual: Homebrew desperately tries to be overly clever and helpful,\n> > but ends up being dumb and annoying. :)\n> >\n> > I was hoping that this issue will just solve itself, like several\n> > other brew breakages in the past, but apparently it won't...\n> \n> I have noticed this as well on my own fork's TravisCI builds.\n> \n> > > I suspect if we want to use GCC 8, we need to explicitly install it by\n> > > using \"brew install gcc@8\", or we can just pick the latest released GCC\n> > > by using \"brew install gcc\" if we like that better. We will still need\n> > > to do \"brew link gcc\" (or \"gcc@8\"), since I suspect Homebrew won't\n> > > auto-link it since macOS provides a gcc binary.\n> >\n> > Yeah, installing gcc@8 or gcc works.  Back in 2c8921db2b (travis-ci:\n> > build with the right compiler, 2019-01-17) I opted for simply linking\n> > the already installed gcc@8 package, because GCC is big, installing it\n> > takes time, and the macOS build jobs have always been prone to\n> > exceeding the time limit.\n\nOh, and now I recall that simply running 'brew install gcc@8' back\nthen (or running it before 'brew update' nowadays) errored out with\nsomething along the lines of \"gcc@8 is already installed, you only\nhave to link it\".\n\n> > (Note that these packages provide 'gcc-8'\n> > and 'gcc-9' binaries, not 'gcc', and after 'brew install'-ing them we\n> > won't need an additional link step (I'm not sure why linking is\n> > necessary with the gcc@8 package already installed in the Travis CI\n> > image).)\n> \n> I wrote something like this up in [1] before I realized that you had\n> your own patches in [2]. This did fix things, but it's kind of awkward\n> in the sense that we're not really \"installing\" anything (in fact, the\n> patch in [1] incorrectly indicates that we are), but instead nudging it\n> after it discovers v8.3.\n> \n> \n> > Another possibilities are:\n> >\n> >   - Running 'brew link gcc@8' before 'brew update' works:\n> >\n> >       https://travis-ci.org/szeder/git/jobs/540027012#L139\n> >\n> >   - Not running 'brew update' at all works as well:\n> >\n> >       https://travis-ci.org/szeder/git/jobs/514960153#L179\n> \n> I'd be just as happy to do something similar to what I did as really\n> either of these. Getting rid of 'brew update' entirely would make me\n> happiest, since it takes a *long* time for one of these to complete.\n\nI would love to see 'brew update' go away, partly because it takes so\nlong, and partly because the update of Homebrew itself broke our\nbuilds once or twice in the past (though they usually sorted out the\nbreakage in a few days) [1].\n\nHowever, we've always used the macOS build jobs as \"build and test\nwith the latest and greatest\", i.e. they install the latest available\nPerforce and Git-LFS.  To keep up with this tradition we'd need to run\n'brew update' and in turn would need to 'brew install gcc'.\n\n[1] See e.g. a1ccaedd62 (travis-ci: make the OSX build jobs' 'brew\n    update' more quiet, 2019-02-02) or\n\n    https://public-inbox.org/git/20180907032002.23366-1-szeder.dev@gmail.com/T/#u\n\n\n> But, I'd almost prefer explicitly running 'brew install gcc@8' to\n> running 'brew link gcc@8' before 'brew update'. The later seems fragile\n> and awfully prone to break, especially when we are just doing it to try\n> and work around a Homebrew quirk.\n> \n> If you don't have any plans to send your patches upstream, and feel OK\n> running 'brew install', let me know and I will send my patch in [1].\n> \n> Thanks,\n> Taylor\n> \n> [1]: https://github.com/ttaylorr/git/commit/a20e34d143a4a15b6b15ccb5bfb996fab9551b76\n> [2]: https://github.com/szeder/git/commit/ca29709d09a440d98857efb2575a3f92feaab29f\n"},{"id":"378168","messageId":"xmqqy31nasck.fsf@gitster-ct.c.googlers.com","threadId":"51201","inReplyTo":"20190627132319.GB21574@szeder.dev","subject":"Re: Travis not looking so good","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-06-27T16:46:51Z","receivedAt":"2019-06-27T16:46:56Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"SZEDER Gábor <szeder.dev@gmail.com> writes:\n\n> However, we've always used the macOS build jobs as \"build and test\n> with the latest and greatest\", i.e. they install the latest available\n> Perforce and Git-LFS.  To keep up with this tradition we'd need to run\n> 'brew update' and in turn would need to 'brew install gcc'.\n>\n> [1] See e.g. a1ccaedd62 (travis-ci: make the OSX build jobs' 'brew\n>     update' more quiet, 2019-02-02) or\n>\n>     https://public-inbox.org/git/20180907032002.23366-1-szeder.dev@gmail.com/T/#u\n\nIs the reason why you did not submit your bonus patch [*1*] in the series at\n\n  https://public-inbox.org/git/20190614100059.13540-1-szeder.dev@gmail.com/\n\nbecause it goes the opposite way, i.e. \"build and test with whatever\nhappens to be in the image\"?\n\nUnless what happens to come in the image at travis-ci.org is\nhopelessly outdated and does not match what normal users run, isn't\nit is better to test with \"whatever happens to be there\" than not to\ntest at all due to missing compiler?\n\n\n[Reference]\n\n*1* ... what I picked up from your branch reproduced here\n\n  https://public-inbox.org/git/xmqqy324t4g0.fsf@gitster-ct.c.googlers.com/\n\nIt is missing explanation and sign-off, but if it lets the build\njobs run, even in a tad stale environment, it may be worth\nresurrecting until those who want macOS port working can come up\nwith a real \"with the latest and greatest\" alternative.\n"},{"id":"378328","messageId":"20190629170108.GF21574@szeder.dev","threadId":"51201","inReplyTo":"xmqqy31nasck.fsf@gitster-ct.c.googlers.com","subject":"Re: Travis not looking so good","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-06-29T17:01:08Z","receivedAt":"2019-06-29T17:01:15Z","isPatch":false,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Thu, Jun 27, 2019 at 09:46:51AM -0700, Junio C Hamano wrote:\n> SZEDER Gábor <szeder.dev@gmail.com> writes:\n> \n> > However, we've always used the macOS build jobs as \"build and test\n> > with the latest and greatest\", i.e. they install the latest available\n> > Perforce and Git-LFS.  To keep up with this tradition we'd need to run\n> > 'brew update' and in turn would need to 'brew install gcc'.\n> >\n> > [1] See e.g. a1ccaedd62 (travis-ci: make the OSX build jobs' 'brew\n> >     update' more quiet, 2019-02-02) or\n> >\n> >     https://public-inbox.org/git/20180907032002.23366-1-szeder.dev@gmail.com/T/#u\n> \n> Is the reason why you did not submit your bonus patch [*1*] in the series at\n> \n>   https://public-inbox.org/git/20190614100059.13540-1-szeder.dev@gmail.com/\n> \n> because it goes the opposite way, i.e. \"build and test with whatever\n> happens to be in the image\"?\n\nBasically yes... with the other factor being that when I'm not\nparticularly happy with any of the possible solutions for an issue,\nthen it tends to end up on a back burner and forgotten for a while...\n\n> Unless what happens to come in the image at travis-ci.org is\n> hopelessly outdated and does not match what normal users run,\n\nWe explicitly specify which macOS image we want to use in our builds\non Travis CI, see 2000ac9fbf (travis-ci: switch to Xcode 10.1 macOS\nimage, 2019-01-17), so it's up to us to change that.\n\nTravis CI's current default macOS image is still Xcode 9.4, as it was\nat the time of 2000ac9fbf, and the newest is 10.2, which now comes\nwith GCC 8.3 properly preinstalled (i.e. no 'brew link gcc@8'\nnecessary).\n\n> isn't\n> it is better to test with \"whatever happens to be there\" than not to\n> test at all due to missing compiler?\n\nBetter, sure...  Right?  I'm not sure.\n\n\n> [Reference]\n> \n> *1* ... what I picked up from your branch reproduced here\n> \n>   https://public-inbox.org/git/xmqqy324t4g0.fsf@gitster-ct.c.googlers.com/\n> \n> It is missing explanation and sign-off,\n\nAnd that patch should be split into two, of course: setting\nHOMEBREW_NO_AUTO_UPDATE first to fix the build, and then set\nHOMEBREW_NO_INSTALL_CLEANUP separately for a bit of additional\nspeedup.\n\n> but if it lets the build\n> jobs run, even in a tad stale environment, it may be worth\n> resurrecting until those who want macOS port working can come up\n> with a real \"with the latest and greatest\" alternative.\n\n'brew update && brew install gcc && export CC=gcc-9' will do it...\nbut then we'll still spend that ~2.5 minutes spent on updating\nHomebrew itself, and there's the possibility that Homebrew breaks, and\neventually GCC 10 will be released and we'll need to update that CC\nvariable.\n\nAnyway, will look into this again later during the weekend.\n\n"},{"id":"378535","messageId":"20190703104748.32533-1-szeder.dev@gmail.com","threadId":"51201","inReplyTo":"20190629170108.GF21574@szeder.dev","subject":"[PATCH 1/2] ci: don't update Homebrew","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-07-03T10:47:47Z","receivedAt":"2019-07-03T10:48:06Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Lately our GCC macOS build job on Travis CI has been erroring out\nwhile installing dependencies with:\n\n  +brew link gcc@8\n  Error: No such keg: /usr/local/Cellar/gcc@8\n  The command \"ci/install-dependencies.sh\" failed and exited with 1 during .\n\nNow, while gcc@8 is still pre-installed (but not linked) and would be\nperfectly usable in the Travis CI macOS image we use [1], it's at\nversion 8.2.  However, when installing dependencies we first\nexplicitly run 'brew update', which spends over two minutes to update\nitself and information about the available packages, and it learns\nabout GCC 8.3.  After that point gcc@8 exclusively refers to v8.3,\nand, unfortunately, 'brew' is just too dumb to be able to do anything\nwith the still installed 8.2 package, and the subsequent 'brew link\ngcc@8' fails.  (Even 'brew uninstall gcc@8' fails with the same\nerror!)\n\nDon't run 'brew update' to keep the already installed GCC 8.2 'brew\nlink'-able.  Note that in addition we have to 'export\nHOMEBREW_NO_AUTO_UPDATE=1' first, because 'brew' is so very helpful\nthat it would implicitly run update for us on the next 'brew install\n<pkg>' otherwise.\n\nDisabling 'brew update' has additional benefits:\n\n  - It shaves off 2-3mins from the ~4mins currently spent on\n    installing dependencies, and the macOS build jobs have always been\n    prone to exceeding the time limit on Travis CI.\n\n  - Our builds won't suddenly break because of the occasional Homebrew\n    breakages [2].\n\nThe drawback is that we'll be stuck with slightly older versions of\nthe packages that we install via Homebrew (Git-LFS 2.5.2 and Perforce\n2018.1; they are currently at 2.7.2 and 2019.1, respectively).  We\nmight want to reconsider this decision as time goes on and/or switch\nto a more recent macOS image as they become available.\n\n[1] 2000ac9fbf (travis-ci: switch to Xcode 10.1 macOS image,\n    2019-01-17)\n\n[2] See e.g. a1ccaedd62 (travis-ci: make the OSX build jobs' 'brew\n    update' more quiet, 2019-02-02) or\n\n    https://public-inbox.org/git/20180907032002.23366-1-szeder.dev@gmail.com/T/#+u\n\nSigned-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n---\n ci/install-dependencies.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex 7f6acdd803..7f546c8552 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -34,7 +34,7 @@ linux-clang|linux-gcc)\n \tpopd\n \t;;\n osx-clang|osx-gcc)\n-\tbrew update >/dev/null\n+\texport HOMEBREW_NO_AUTO_UPDATE=1\n \t# Uncomment this if you want to run perf tests:\n \t# brew install gnu-time\n \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n-- \n2.22.0.621.ge52941b842.dirty\n\n"},{"id":"378536","messageId":"20190703104748.32533-2-szeder.dev@gmail.com","threadId":"51201","inReplyTo":"20190703104748.32533-1-szeder.dev@gmail.com","subject":"[PATCH 2/2] ci: disable Homebrew's auto cleanup","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-07-03T10:47:48Z","receivedAt":"2019-07-03T10:48:08Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Lately Homebrew learned to automagically clean up information about\noutdated packages during other 'brew' commands, which might be useful\nfor the avarage user, but is a waste of time in CI build jobs, because\nthe next build jobs will start from the exact same image containing\nthe same outdated packages anyway.\n\nExport HOMEBREW_NO_AUTO_UPDATE=1 to disable this auto cleanup feature,\nshaving off about 20-30s from the time needed to install dependencies\nin our macOS build jobs on Travis CI.\n\nSigned-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n---\n ci/install-dependencies.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex 7f546c8552..8cc72503cb 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -34,7 +34,7 @@ linux-clang|linux-gcc)\n \tpopd\n \t;;\n osx-clang|osx-gcc)\n-\texport HOMEBREW_NO_AUTO_UPDATE=1\n+\texport HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1\n \t# Uncomment this if you want to run perf tests:\n \t# brew install gnu-time\n \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n-- \n2.22.0.621.ge52941b842.dirty\n\n"},{"id":"378540","messageId":"nycvar.QRO.7.76.6.1907031349250.44@tvgsbejvaqbjf.bet","threadId":"51201","inReplyTo":"20190703104748.32533-2-szeder.dev@gmail.com","subject":"Re: [PATCH 2/2] ci: disable Homebrew's auto cleanup","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-07-03T11:49:45Z","receivedAt":"2019-07-03T11:49:31Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 3 Jul 2019, SZEDER Gábor wrote:\n\n> Lately Homebrew learned to automagically clean up information about\n> outdated packages during other 'brew' commands, which might be useful\n> for the avarage user, but is a waste of time in CI build jobs, because\n> the next build jobs will start from the exact same image containing\n> the same outdated packages anyway.\n>\n> Export HOMEBREW_NO_AUTO_UPDATE=1 to disable this auto cleanup feature,\n> shaving off about 20-30s from the time needed to install dependencies\n> in our macOS build jobs on Travis CI.\n\nI am very much in favor of both of these patches.\n\nThanks,\nDscho\n"},{"id":"378541","messageId":"1d10ed33-5c33-8028-c375-d859ef6826dc@virtuell-zuhause.de","threadId":"51201","inReplyTo":"20190703104748.32533-2-szeder.dev@gmail.com","subject":"Re: [PATCH 2/2] ci: disable Homebrew's auto cleanup","fromName":"Thomas Braun","fromEmail":"thomas.braun@virtuell-zuhause.de","sentAt":"2019-07-03T12:26:21Z","receivedAt":"2019-07-03T12:42:38Z","isPatch":true,"sender":{"key":"thomas.braun@virtuell-zuhause.de","avatar":"https://avatars.githubusercontent.com/u/1185677?v=4"},"body":"Am 03.07.2019 um 12:47 schrieb SZEDER Gábor:\n> Lately Homebrew learned to automagically clean up information about\n> outdated packages during other 'brew' commands, which might be useful\n> for the avarage user, but is a waste of time in CI build jobs, because\n> the next build jobs will start from the exact same image containing\n> the same outdated packages anyway.\n> \n> Export HOMEBREW_NO_AUTO_UPDATE=1 to disable this auto cleanup feature,\n\nThe patch below adds HOMEBREW_NO_INSTALL_CLEANUP so maybe you meant\nHOMEBREW_NO_INSTALL_CLEANUP here as well?\n\n> shaving off about 20-30s from the time needed to install dependencies\n> in our macOS build jobs on Travis CI.\n> \n> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n> ---\n>  ci/install-dependencies.sh | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> index 7f546c8552..8cc72503cb 100755\n> --- a/ci/install-dependencies.sh\n> +++ b/ci/install-dependencies.sh\n> @@ -34,7 +34,7 @@ linux-clang|linux-gcc)\n>  \tpopd\n>  \t;;\n>  osx-clang|osx-gcc)\n> -\texport HOMEBREW_NO_AUTO_UPDATE=1\n> +\texport HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1\n>  \t# Uncomment this if you want to run perf tests:\n>  \t# brew install gnu-time\n>  \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n> \n\n"},{"id":"378543","messageId":"20190703130434.GR21574@szeder.dev","threadId":"51201","inReplyTo":"1d10ed33-5c33-8028-c375-d859ef6826dc@virtuell-zuhause.de","subject":"Re: [PATCH 2/2] ci: disable Homebrew's auto cleanup","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-07-03T13:04:34Z","receivedAt":"2019-07-03T13:04:40Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Wed, Jul 03, 2019 at 02:26:21PM +0200, Thomas Braun wrote:\n> Am 03.07.2019 um 12:47 schrieb SZEDER Gábor:\n> > Lately Homebrew learned to automagically clean up information about\n> > outdated packages during other 'brew' commands, which might be useful\n> > for the avarage user, but is a waste of time in CI build jobs, because\n> > the next build jobs will start from the exact same image containing\n> > the same outdated packages anyway.\n> > \n> > Export HOMEBREW_NO_AUTO_UPDATE=1 to disable this auto cleanup feature,\n> \n> The patch below adds HOMEBREW_NO_INSTALL_CLEANUP so maybe you meant\n> HOMEBREW_NO_INSTALL_CLEANUP here as well?\n\nThanks, good catch.  Apparently copy-pasted the wrong env var from the\npatch to the commit message...\n\n> > shaving off about 20-30s from the time needed to install dependencies\n> > in our macOS build jobs on Travis CI.\n> > \n> > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n> > ---\n> >  ci/install-dependencies.sh | 2 +-\n> >  1 file changed, 1 insertion(+), 1 deletion(-)\n> > \n> > diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> > index 7f546c8552..8cc72503cb 100755\n> > --- a/ci/install-dependencies.sh\n> > +++ b/ci/install-dependencies.sh\n> > @@ -34,7 +34,7 @@ linux-clang|linux-gcc)\n> >  \tpopd\n> >  \t;;\n> >  osx-clang|osx-gcc)\n> > -\texport HOMEBREW_NO_AUTO_UPDATE=1\n> > +\texport HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1\n> >  \t# Uncomment this if you want to run perf tests:\n> >  \t# brew install gnu-time\n> >  \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n> > \n> \n"},{"id":"378549","messageId":"xmqq1rz72gyb.fsf@gitster-ct.c.googlers.com","threadId":"51201","inReplyTo":"20190703130434.GR21574@szeder.dev","subject":"Re: [PATCH 2/2] ci: disable Homebrew's auto cleanup","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-07-03T16:58:20Z","receivedAt":"2019-07-03T16:58:28Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"SZEDER Gábor <szeder.dev@gmail.com> writes:\n\n> On Wed, Jul 03, 2019 at 02:26:21PM +0200, Thomas Braun wrote:\n>> Am 03.07.2019 um 12:47 schrieb SZEDER Gábor:\n>> > Lately Homebrew learned to automagically clean up information about\n>> > outdated packages during other 'brew' commands, which might be useful\n>> > for the avarage user, but is a waste of time in CI build jobs, because\n>> > the next build jobs will start from the exact same image containing\n>> > the same outdated packages anyway.\n>> > \n>> > Export HOMEBREW_NO_AUTO_UPDATE=1 to disable this auto cleanup feature,\n>> \n>> The patch below adds HOMEBREW_NO_INSTALL_CLEANUP so maybe you meant\n>> HOMEBREW_NO_INSTALL_CLEANUP here as well?\n>\n> Thanks, good catch.  Apparently copy-pasted the wrong env var from the\n> patch to the commit message...\n\nApplied an obvious rewording manually while queuing.\n\nThanks.\n\ncommit af8ed04778781f2013d26cc450173190fb5876d6\nAuthor: SZEDER Gábor <szeder.dev@gmail.com>\nDate:   Wed Jul 3 12:47:48 2019 +0200\n\n    ci: disable Homebrew's auto cleanup\n    \n    Lately Homebrew learned to automagically clean up information about\n    outdated packages during other 'brew' commands, which might be useful\n    for the avarage user, but is a waste of time in CI build jobs, because\n    the next build jobs will start from the exact same image containing\n    the same outdated packages anyway.\n    \n    Export HOMEBREW_NO_INSTALL_CLEANUP=1 to disable this auto cleanup feature,\n    shaving off about 20-30s from the time needed to install dependencies\n    in our macOS build jobs on Travis CI.\n    \n    Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n    Signed-off-by: Junio C Hamano <gitster@pobox.com>\n"},{"id":"378658","messageId":"20190706161648.20836-1-szeder.dev@gmail.com","threadId":"51201","inReplyTo":"20190703104748.32533-1-szeder.dev@gmail.com","subject":"[PATCH] ci/lib.sh: update a comment about installed P4 and Git-LFS versions","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-07-06T16:16:48Z","receivedAt":"2019-07-06T16:16:55Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"A comment 'ci/lib.sh' claims that the \"OS X build installs the latest\navailable versions\" of P4 and Git-LFS, but since 02373e56bd (ci: don't\nupdate Homebrew, 2019-07-03) that's no longer the case, as it will\ninstall the versions which were recorded in the image's Homebrew\ndatabase when the image was created.\n\nUpdate this comment accordingly.\n\nSigned-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n---\n ci/lib.sh | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/ci/lib.sh b/ci/lib.sh\nindex 288a5b3884..0c7171a173 100755\n--- a/ci/lib.sh\n+++ b/ci/lib.sh\n@@ -163,8 +163,10 @@ linux-clang|linux-gcc)\n \texport GIT_TEST_HTTPD=YesPlease\n \n \t# The Linux build installs the defined dependency versions below.\n-\t# The OS X build installs the latest available versions. Keep that\n-\t# in mind when you encounter a broken OS X build!\n+\t# The OS X build installs much more recent versions, whichever\n+\t# were recorded in the Homebrew database upon creating the OS X\n+\t# image.\n+\t# Keep that in mind when you encounter a broken OS X build!\n \texport LINUX_P4_VERSION=\"16.2\"\n \texport LINUX_GIT_LFS_VERSION=\"1.5.2\"\n \n-- \n2.22.0.667.g5c3548c1fe\n\n"},{"id":"378659","messageId":"20190706162114.21169-1-szeder.dev@gmail.com","threadId":"51201","inReplyTo":"20190706161648.20836-1-szeder.dev@gmail.com","subject":"[PATCH v1.1] ci/lib.sh: update a comment about installed P4 and Git-LFS versions","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-07-06T16:21:14Z","receivedAt":"2019-07-06T16:21:20Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"A comment in 'ci/lib.sh' claims that the \"OS X build installs the\nlatest available versions\" of P4 and Git-LFS, but since 02373e56bd\n(ci: don't update Homebrew, 2019-07-03) that's no longer the case, as\nit will install the versions which were recorded in the image's\nHomebrew database when the image was created.\n\nUpdate this comment accordingly.\n\nSigned-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n---\n\nSigh...  Same patch as before, but corrected a grammar error in the\ncommit message.\n\n ci/lib.sh | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/ci/lib.sh b/ci/lib.sh\nindex 288a5b3884..0c7171a173 100755\n--- a/ci/lib.sh\n+++ b/ci/lib.sh\n@@ -163,8 +163,10 @@ linux-clang|linux-gcc)\n \texport GIT_TEST_HTTPD=YesPlease\n \n \t# The Linux build installs the defined dependency versions below.\n-\t# The OS X build installs the latest available versions. Keep that\n-\t# in mind when you encounter a broken OS X build!\n+\t# The OS X build installs much more recent versions, whichever\n+\t# were recorded in the Homebrew database upon creating the OS X\n+\t# image.\n+\t# Keep that in mind when you encounter a broken OS X build!\n \texport LINUX_P4_VERSION=\"16.2\"\n \texport LINUX_GIT_LFS_VERSION=\"1.5.2\"\n \n-- \n2.22.0.667.g5c3548c1fe\n\n"},{"id":"378674","messageId":"nycvar.QRO.7.76.6.1907081159520.44@tvgsbejvaqbjf.bet","threadId":"51201","inReplyTo":"20190706162114.21169-1-szeder.dev@gmail.com","subject":"Re: [PATCH v1.1] ci/lib.sh: update a comment about installed P4 and Git-LFS versions","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-07-08T10:00:08Z","receivedAt":"2019-07-08T09:59:48Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Gábor,\n\nOn Sat, 6 Jul 2019, SZEDER Gábor wrote:\n\n> A comment in 'ci/lib.sh' claims that the \"OS X build installs the\n> latest available versions\" of P4 and Git-LFS, but since 02373e56bd\n> (ci: don't update Homebrew, 2019-07-03) that's no longer the case, as\n> it will install the versions which were recorded in the image's\n> Homebrew database when the image was created.\n>\n> Update this comment accordingly.\n>\n> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n\nACK,\nDscho\n\n> ---\n>\n> Sigh...  Same patch as before, but corrected a grammar error in the\n> commit message.\n>\n>  ci/lib.sh | 6 ++++--\n>  1 file changed, 4 insertions(+), 2 deletions(-)\n>\n> diff --git a/ci/lib.sh b/ci/lib.sh\n> index 288a5b3884..0c7171a173 100755\n> --- a/ci/lib.sh\n> +++ b/ci/lib.sh\n> @@ -163,8 +163,10 @@ linux-clang|linux-gcc)\n>  \texport GIT_TEST_HTTPD=YesPlease\n>\n>  \t# The Linux build installs the defined dependency versions below.\n> -\t# The OS X build installs the latest available versions. Keep that\n> -\t# in mind when you encounter a broken OS X build!\n> +\t# The OS X build installs much more recent versions, whichever\n> +\t# were recorded in the Homebrew database upon creating the OS X\n> +\t# image.\n> +\t# Keep that in mind when you encounter a broken OS X build!\n>  \texport LINUX_P4_VERSION=\"16.2\"\n>  \texport LINUX_GIT_LFS_VERSION=\"1.5.2\"\n>\n> --\n> 2.22.0.667.g5c3548c1fe\n>\n>\n"},{"id":"378726","messageId":"20190709163237.GA62761@TaylorsMBP6986.attlocal.net","threadId":"51201","inReplyTo":"20190703104748.32533-1-szeder.dev@gmail.com","subject":"Re: [PATCH 1/2] ci: don't update Homebrew","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2019-07-09T16:32:37Z","receivedAt":"2019-07-09T16:32:41Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"Hi Gábor,\n\nOn Wed, Jul 03, 2019 at 12:47:47PM +0200, SZEDER Gábor wrote:\n> Lately our GCC macOS build job on Travis CI has been erroring out\n> while installing dependencies with:\n>\n>   +brew link gcc@8\n>   Error: No such keg: /usr/local/Cellar/gcc@8\n>   The command \"ci/install-dependencies.sh\" failed and exited with 1 during .\n\nThanks for working on this. I think that the patch below is ultimately a\nbetter approach than what we had discussed in a previous thread [1].\n\n> Now, while gcc@8 is still pre-installed (but not linked) and would be\n> perfectly usable in the Travis CI macOS image we use [1], it's at\n> version 8.2.  However, when installing dependencies we first\n> explicitly run 'brew update', which spends over two minutes to update\n> itself and information about the available packages, and it learns\n> about GCC 8.3.  After that point gcc@8 exclusively refers to v8.3,\n> and, unfortunately, 'brew' is just too dumb to be able to do anything\n> with the still installed 8.2 package, and the subsequent 'brew link\n> gcc@8' fails.  (Even 'brew uninstall gcc@8' fails with the same\n> error!)\n>\n> Don't run 'brew update' to keep the already installed GCC 8.2 'brew\n> link'-able.  Note that in addition we have to 'export\n> HOMEBREW_NO_AUTO_UPDATE=1' first, because 'brew' is so very helpful\n> that it would implicitly run update for us on the next 'brew install\n> <pkg>' otherwise.\n>\n> Disabling 'brew update' has additional benefits:\n>\n>   - It shaves off 2-3mins from the ~4mins currently spent on\n>     installing dependencies, and the macOS build jobs have always been\n>     prone to exceeding the time limit on Travis CI.\n>\n>   - Our builds won't suddenly break because of the occasional Homebrew\n>     breakages [2].\n\nThis is sensible. We'll rely on the most-recent version of the Homebrew\npackages that are known by the macOS image _from Travis_, ignoring any\nchanges that have happened in Homebrew core since the image snapshot.\n\nThanks also for paying attention to setting 'HOMEBREW_NO_AUTO_UPDATE' in\nthe environment. This will harden any other existing or future uses of\n'brew' against accidentally spending a bunch of time trying to update\nitself (and perhaps breaking a subsequent 'brew link', if it should\nhappen before that).\n\n> The drawback is that we'll be stuck with slightly older versions of\n> the packages that we install via Homebrew (Git-LFS 2.5.2 and Perforce\n> 2018.1; they are currently at 2.7.2 and 2019.1, respectively).  We\n> might want to reconsider this decision as time goes on and/or switch\n> to a more recent macOS image as they become available.\n\nI think that this may in fact be better than what we have now. If we\nfind ourselves wanting a newer version of, say, Git LFS, then I think\nwe'd be benefited by upgrading the image itself. Perhaps we should look\ninto that shortly, although I'm not aware of any urgency to do so (at\nleast as it pertains to Git LFS).\n\n> [1] 2000ac9fbf (travis-ci: switch to Xcode 10.1 macOS image,\n>     2019-01-17)\n>\n> [2] See e.g. a1ccaedd62 (travis-ci: make the OSX build jobs' 'brew\n>     update' more quiet, 2019-02-02) or\n>\n>     https://public-inbox.org/git/20180907032002.23366-1-szeder.dev@gmail.com/T/#+u\n>\n> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n> ---\n>  ci/install-dependencies.sh | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> index 7f6acdd803..7f546c8552 100755\n> --- a/ci/install-dependencies.sh\n> +++ b/ci/install-dependencies.sh\n> @@ -34,7 +34,7 @@ linux-clang|linux-gcc)\n>  \tpopd\n>  \t;;\n>  osx-clang|osx-gcc)\n> -\tbrew update >/dev/null\n> +\texport HOMEBREW_NO_AUTO_UPDATE=1\n>  \t# Uncomment this if you want to run perf tests:\n>  \t# brew install gnu-time\n>  \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n> --\n> 2.22.0.621.ge52941b842.dirty\n\nThanks,\nTaylor\n\n[1]: https://public-inbox.org/git/20190602112239.GO951@szeder.dev\n"},{"id":"378780","messageId":"xmqqmuhlseno.fsf@gitster-ct.c.googlers.com","threadId":"51201","inReplyTo":"20190709163237.GA62761@TaylorsMBP6986.attlocal.net","subject":"Re: [PATCH 1/2] ci: don't update Homebrew","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-07-10T22:33:47Z","receivedAt":"2019-07-10T22:33:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Taylor Blau <me@ttaylorr.com> writes:\n\n> Hi Gábor,\n>\n> On Wed, Jul 03, 2019 at 12:47:47PM +0200, SZEDER Gábor wrote:\n>> Lately our GCC macOS build job on Travis CI has been erroring out\n>> while installing dependencies with:\n>>\n>>   +brew link gcc@8\n>>   Error: No such keg: /usr/local/Cellar/gcc@8\n>>   The command \"ci/install-dependencies.sh\" failed and exited with 1 during .\n>\n> Thanks for working on this. I think that the patch below is ultimately a\n> better approach than what we had discussed in a previous thread [1].\n> ...\n> I think that this may in fact be better than what we have now. If we\n> find ourselves wanting a newer version of, say, Git LFS, then I think\n> we'd be benefited by upgrading the image itself. Perhaps we should look\n> into that shortly, although I'm not aware of any urgency to do so (at\n> least as it pertains to Git LFS).\n\nThanks all.  Let's fast-track this fix down to 'maint'.  We left the\nmacOS build broken for too long.\n\n\n"}]}