{"thread":{"id":"52041","subject":"[PATCH 0/1] ci: update caskroom/cask/perforce to new location","startedAt":"2019-10-15T17:32:06Z","lastAt":"2019-11-21T11:13:01Z","messageCount":24,"participants":["Derrick Stolee via GitGitGadget","Johannes Schindelin via GitGitGadget","Johannes Schindelin","SZEDER Gábor","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":1},"messages":[{"id":"384108","messageId":"pull.400.git.1571160721.gitgitgadget@gmail.com","threadId":"52041","inReplyTo":null,"subject":"[PATCH 0/1] ci: update caskroom/cask/perforce to new location","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-10-15T17:32:00Z","receivedAt":"2019-10-15T17:32:06Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"Running CI on Mac OS X in Azure Pipelines is currently broken due to a moved\nhomebrew package.\n\nThanks, -Stolee\n\nJohannes Schindelin (1):\n  ci(osx): use new location of the `perforce` cask\n\n ci/install-dependencies.sh | 1 +\n 1 file changed, 1 insertion(+)\n\n\nbase-commit: 108b97dc372828f0e72e56bbb40cae8e1e83ece6\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-400%2Fderrickstolee%2Fci-caskroom-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-400/derrickstolee/ci-caskroom-v1\nPull-Request: https://github.com/gitgitgadget/git/pull/400\n-- \ngitgitgadget\n"},{"id":"384109","messageId":"84830d89eb330f256b3802e0c1b63ff32030ff79.1571160721.git.gitgitgadget@gmail.com","threadId":"52041","inReplyTo":"pull.400.git.1571160721.gitgitgadget@gmail.com","subject":"[PATCH 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-10-15T17:32:01Z","receivedAt":"2019-10-15T17:32:06Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nThe CI builds are failing for Mac OS X due to a change in the\nlocation of the perforce cask. The command outputs the following\nerror:\n\n    + brew install caskroom/cask/perforce\n    Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n\nPreface the \"brew install caskroom/cask/perforce\" with the old\nway of installing perforce, and only try this method if the\n\"brew install perforce\" fails.\n\nThe existing way to use caskroom was added in 672f51cb (travis-ci:\nfix Perforce install on macOS, 2017-01-22) and the justification\nis that the \"brew install perforce\" can fail due to a hash\nmis-match. The mismatch is due to the official Perforce distro\nupdating the published binaries without updating the version\nstring. CI servers are typically fresh virtual machines, so that\nissue should not arise in automated builds.\n\nEven if a build server is re-used and hits the hash mis-match,\nit will fall back to the \"new\" mechanism which is currently\nfailing, but may be fixed independently of this change.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\n---\n ci/install-dependencies.sh | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex 85a9d6b15c..489b5dcf17 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -40,6 +40,7 @@ osx-clang|osx-gcc)\n \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n \tbrew install $BREW_INSTALL_PACKAGES\n \tbrew link --force gettext\n+\tbrew cask install perforce ||\n \tbrew install caskroom/cask/perforce\n \tcase \"$jobname\" in\n \tosx-gcc)\n-- \ngitgitgadget\n"},{"id":"384251","messageId":"nycvar.QRO.7.76.6.1910171220300.46@tvgsbejvaqbjf.bet","threadId":"52041","inReplyTo":"pull.400.git.1571160721.gitgitgadget@gmail.com","subject":"Re: [PATCH 0/1] ci: update caskroom/cask/perforce to new location","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-10-17T10:22:50Z","receivedAt":"2019-10-17T10:24:58Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Stolee,\n\nOn Tue, 15 Oct 2019, Derrick Stolee via GitGitGadget wrote:\n\n> Running CI on Mac OS X in Azure Pipelines is currently broken due to a moved\n> homebrew package.\n\nIt seems that the exact problem we tried to avoid by staying on caskroom\nrears its ugly head: all of the macOS jobs are failing in Git for\nWindows' builds (but not in GitGitGadget's, which is probably due to\ndifferences in the \"up to date\"-ness used build agents).\n\nI am investigating here:\nhttps://github.com/git-for-windows/git/pull/2359\n\nCiao,\nDscho\n\n>\n> Thanks, -Stolee\n>\n> Johannes Schindelin (1):\n>   ci(osx): use new location of the `perforce` cask\n>\n>  ci/install-dependencies.sh | 1 +\n>  1 file changed, 1 insertion(+)\n>\n>\n> base-commit: 108b97dc372828f0e72e56bbb40cae8e1e83ece6\n> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-400%2Fderrickstolee%2Fci-caskroom-v1\n> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-400/derrickstolee/ci-caskroom-v1\n> Pull-Request: https://github.com/gitgitgadget/git/pull/400\n> --\n> gitgitgadget\n>\n>\n"},{"id":"384256","messageId":"pull.400.v2.git.1571316454.gitgitgadget@gmail.com","threadId":"52041","inReplyTo":"pull.400.git.1571160721.gitgitgadget@gmail.com","subject":"[PATCH v2 0/1] ci: update caskroom/cask/perforce to new location","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-10-17T12:47:32Z","receivedAt":"2019-10-17T12:47:38Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"Running CI on Mac OS X in Azure Pipelines is currently broken due to a moved\nhomebrew package.\n\nUpdates in V2: Johannes helped to make the step even more robust.\n\nThanks, -Stolee\n\nJohannes Schindelin (1):\n  ci(osx): use new location of the `perforce` cask\n\n ci/install-dependencies.sh | 5 +++++\n 1 file changed, 5 insertions(+)\n\n\nbase-commit: 108b97dc372828f0e72e56bbb40cae8e1e83ece6\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-400%2Fderrickstolee%2Fci-caskroom-v2\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-400/derrickstolee/ci-caskroom-v2\nPull-Request: https://github.com/gitgitgadget/git/pull/400\n\nRange-diff vs v1:\n\n 1:  84830d89eb ! 1:  372ab24acf ci(osx): use new location of the `perforce` cask\n     @@ -9,21 +9,27 @@\n              + brew install caskroom/cask/perforce\n              Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n      \n     -    Preface the \"brew install caskroom/cask/perforce\" with the old\n     -    way of installing perforce, and only try this method if the\n     -    \"brew install perforce\" fails.\n     +    So let's try to call `brew cask install perforce` first (which is what\n     +    that error message suggests, in a most round-about way).\n      \n     -    The existing way to use caskroom was added in 672f51cb (travis-ci:\n     +    The \"caskroom\" way was added in 672f51cb (travis-ci:\n          fix Perforce install on macOS, 2017-01-22) and the justification\n     -    is that the \"brew install perforce\" can fail due to a hash\n     -    mis-match. The mismatch is due to the official Perforce distro\n     -    updating the published binaries without updating the version\n     -    string. CI servers are typically fresh virtual machines, so that\n     -    issue should not arise in automated builds.\n     +    is that the call \"brew cask install perforce\" can fail due to a checksum\n     +    mismatch: the recipe simply downloads the official Perforce distro, and\n     +    whenever that is updated, the recipe needs to be updated, too.\n      \n     -    Even if a build server is re-used and hits the hash mis-match,\n     -    it will fall back to the \"new\" mechanism which is currently\n     -    failing, but may be fixed independently of this change.\n     +    CI servers are typically fresh virtual machines, but not always. To\n     +    accommodate for that, let's try harder if `brew cask install perforce`\n     +    fails, by specifically pulling the latest `master` of the\n     +    `homebrew-cask` repository.\n     +\n     +    This will still fail, of course, when `homebrew-cask` falls behind\n     +    Perforce's release schedule. But once it is updated, we can now simply\n     +    re-run the failed jobs and they will pick up that update.\n     +\n     +    As for updating `homebrew-cask`: the beginnings of automating this in\n     +    https://dev.azure.com/gitgitgadget/git/_build?definitionId=11&_a=summary\n     +    will be finished once the next Perforce upgrade comes around.\n      \n          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n          Signed-off-by: Derrick Stolee <dstolee@microsoft.com>\n     @@ -35,7 +41,11 @@\n       \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n       \tbrew install $BREW_INSTALL_PACKAGES\n       \tbrew link --force gettext\n     -+\tbrew cask install perforce ||\n     ++\tbrew cask install perforce || {\n     ++\t\t# Update the definitions and try again\n     ++\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n     ++\t\tbrew cask install perforce\n     ++\t} ||\n       \tbrew install caskroom/cask/perforce\n       \tcase \"$jobname\" in\n       \tosx-gcc)\n\n-- \ngitgitgadget\n"},{"id":"384257","messageId":"372ab24acffbc956407cd93ed34135f83156e10d.1571316454.git.gitgitgadget@gmail.com","threadId":"52041","inReplyTo":"pull.400.v2.git.1571316454.gitgitgadget@gmail.com","subject":"[PATCH v2 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-10-17T12:47:33Z","receivedAt":"2019-10-17T12:47:38Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nThe CI builds are failing for Mac OS X due to a change in the\nlocation of the perforce cask. The command outputs the following\nerror:\n\n    + brew install caskroom/cask/perforce\n    Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n\nSo let's try to call `brew cask install perforce` first (which is what\nthat error message suggests, in a most round-about way).\n\nThe \"caskroom\" way was added in 672f51cb (travis-ci:\nfix Perforce install on macOS, 2017-01-22) and the justification\nis that the call \"brew cask install perforce\" can fail due to a checksum\nmismatch: the recipe simply downloads the official Perforce distro, and\nwhenever that is updated, the recipe needs to be updated, too.\n\nCI servers are typically fresh virtual machines, but not always. To\naccommodate for that, let's try harder if `brew cask install perforce`\nfails, by specifically pulling the latest `master` of the\n`homebrew-cask` repository.\n\nThis will still fail, of course, when `homebrew-cask` falls behind\nPerforce's release schedule. But once it is updated, we can now simply\nre-run the failed jobs and they will pick up that update.\n\nAs for updating `homebrew-cask`: the beginnings of automating this in\nhttps://dev.azure.com/gitgitgadget/git/_build?definitionId=11&_a=summary\nwill be finished once the next Perforce upgrade comes around.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\n---\n ci/install-dependencies.sh | 5 +++++\n 1 file changed, 5 insertions(+)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex 85a9d6b15c..ce149ed39c 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -40,6 +40,11 @@ osx-clang|osx-gcc)\n \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n \tbrew install $BREW_INSTALL_PACKAGES\n \tbrew link --force gettext\n+\tbrew cask install perforce || {\n+\t\t# Update the definitions and try again\n+\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n+\t\tbrew cask install perforce\n+\t} ||\n \tbrew install caskroom/cask/perforce\n \tcase \"$jobname\" in\n \tosx-gcc)\n-- \ngitgitgadget\n"},{"id":"384372","messageId":"20191018105143.GY29845@szeder.dev","threadId":"52041","inReplyTo":"372ab24acffbc956407cd93ed34135f83156e10d.1571316454.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 1/1] ci(osx): use new location of the `perforce` cask","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-10-18T10:51:43Z","receivedAt":"2019-10-18T10:51:50Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Thu, Oct 17, 2019 at 12:47:33PM +0000, Johannes Schindelin via GitGitGadget wrote:\n> From: Johannes Schindelin <johannes.schindelin@gmx.de>\n> \n> The CI builds are failing for Mac OS X due to a change in the\n\ns/CI/Azure Pipelines/\n\nOur Travis CI builds are fine.\n\n> location of the perforce cask. The command outputs the following\n> error:\n> \n>     + brew install caskroom/cask/perforce\n>     Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n> \n> So let's try to call `brew cask install perforce` first (which is what\n> that error message suggests, in a most round-about way).\n> \n> The \"caskroom\" way was added in 672f51cb (travis-ci:\n> fix Perforce install on macOS, 2017-01-22) and the justification\n> is that the call \"brew cask install perforce\" can fail due to a checksum\n> mismatch: the recipe simply downloads the official Perforce distro, and\n> whenever that is updated, the recipe needs to be updated, too.\n\nThis paragraph is wrong, it mixes up things too much.\n\nPrior to 672f51cb we used to install the 'perforce' _package_ with\n'brew install perforce' (note: no 'cask' in there).  The justification\nfor 672f51cb was that the command 'brew install perforce' simply\nstopped working, after Homebrew folks decided that it's better to move\nthe 'perforce' package to a \"cask\".  It was _their_ justification for\nthis move that 'brew install perforce' \"can fail due to a checksum\nmismatch ...\", and casks can be installed without checksum\nverification.  And indeed, both 'brew cask install perforce' and 'brew\ninstall caskroom/cask/perforce' printed something along the lines of:\n\n  ==> No checksum defined for Cask perforce, skipping verification\n\nIt's unclear to me why 672f51cb used 'brew install\ncaskroom/cask/perforce' instead of 'brew cask install perforce'.  It\nappears (by running both commands on old Travis CI macOS images) that\nboth commands worked all the same already back then.\n\nAnyway, as the error message at the top of the log message shows,\n'brew install caskroom/cask/perforce' has stopped working recently,\nbut 'brew cask install perforce' still does, so let's use that.\n\nNote that on Travis CI we explicitly specify which macOS image to use,\nand nowadays we don't run 'brew update' during the build process [1],\nso both commands work in our builds there.\n\n[1] f2f4715033 (ci: don't update Homebrew, 2019-07-03)\n\n> CI servers are typically fresh virtual machines, but not always. To\n> accommodate for that, let's try harder if `brew cask install perforce`\n> fails, by specifically pulling the latest `master` of the\n> `homebrew-cask` repository.\n\nHomebrew didn't record a checksum for Perforce versions r17.1, r17.2\nand r18.1, so installing those still works fine.  Our Travis CI images\ninstall r18.1.\n\nHowever, when Homebrew updated to Perforce r19.1, they included the\nchecksum again for some reason (intentional or accidental; I didn't\nlook why).  This worked fine for a while, until a couple of days ago\nPerforce updated the r19.1 binaries in place, breaking those\nchecksums.\n\nIf we were to still run 'brew update', then it would shortly fix the\nchecksum mismatch.  But we don't run it, and we do not want to run it\nbecause it takes ages.  Falling back to pull from the 'homebrew-cask'\nrepository could be a reasonable and quick workaround.\n\n> This will still fail, of course, when `homebrew-cask` falls behind\n> Perforce's release schedule. But once it is updated, we can now simply\n> re-run the failed jobs and they will pick up that update.\n\nIn our CI builds we don't at all care what the checksums of the\nPerforce binaries are, so I would really like to tell 'brew' to ignore\nany checksum mismatch when installing 'perforce'.  Alas, it appears\nthat 'brew' has no public options to turn of or to ignore checksum\nverification.\n\nNow, let's take a step back.\n\nAll 'brew cask install perforce' really does is run 'curl' to download\na tar.gz from the Perforce servers, verify its checksum, unpack it,\nand put the executables somewhere on $PATH.  That's not rocket\nscience, we could easily do that ourselves; we don't even have to deal\nwith a tar.gz, the 'p4' and 'p4d' binaries for mac are readily\navailable for download at:\n\n  http://filehost.perforce.com/perforce/r19.1/bin.macosx1010x86_64/\n\nAnd, in fact, that's what we have been doing in some of our Linux jobs\nsince the very beginning, so basically only the download URL has to be\nadjusted.\n\n\n> As for updating `homebrew-cask`: the beginnings of automating this in\n> https://dev.azure.com/gitgitgadget/git/_build?definitionId=11&_a=summary\n> will be finished once the next Perforce upgrade comes around.\n> \n> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n> Signed-off-by: Derrick Stolee <dstolee@microsoft.com>\n> ---\n>  ci/install-dependencies.sh | 5 +++++\n>  1 file changed, 5 insertions(+)\n> \n> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> index 85a9d6b15c..ce149ed39c 100755\n> --- a/ci/install-dependencies.sh\n> +++ b/ci/install-dependencies.sh\n> @@ -40,6 +40,11 @@ osx-clang|osx-gcc)\n>  \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n>  \tbrew install $BREW_INSTALL_PACKAGES\n>  \tbrew link --force gettext\n> +\tbrew cask install perforce || {\n> +\t\t# Update the definitions and try again\n> +\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n> +\t\tbrew cask install perforce\n> +\t} ||\n>  \tbrew install caskroom/cask/perforce\n>  \tcase \"$jobname\" in\n>  \tosx-gcc)\n> -- \n> gitgitgadget\n"},{"id":"384486","messageId":"xmqqeez6n8j7.fsf@gitster-ct.c.googlers.com","threadId":"52041","inReplyTo":"20191018105143.GY29845@szeder.dev","subject":"Re: [PATCH v2 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-10-21T02:21:00Z","receivedAt":"2019-10-21T02:21:07Z","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 Thu, Oct 17, 2019 at 12:47:33PM +0000, Johannes Schindelin via GitGitGadget wrote:\n>> From: Johannes Schindelin <johannes.schindelin@gmx.de>\n>> \n>> The CI builds are failing for Mac OS X due to a change in the\n>\n> s/CI/Azure Pipelines/\n>\n> Our Travis CI builds are fine.\n>\n>> location of the perforce cask. The command outputs the following\n>> error:\n>> \n>>     + brew install caskroom/cask/perforce\n>>     Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n>> \n>> So let's try to call `brew cask install perforce` first (which is what\n>> that error message suggests, in a most round-about way).\n>> \n>> The \"caskroom\" way was added in 672f51cb (travis-ci:\n>> fix Perforce install on macOS, 2017-01-22) and the justification\n>> is that the call \"brew cask install perforce\" can fail due to a checksum\n>> mismatch: the recipe simply downloads the official Perforce distro, and\n>> whenever that is updated, the recipe needs to be updated, too.\n>\n> This paragraph is wrong, it mixes up things too much.\n>\n> Prior to 672f51cb we used to install the 'perforce' _package_ with\n> 'brew install perforce' (note: no 'cask' in there).  The justification\n> for 672f51cb was that the command 'brew install perforce' simply\n> stopped working, after Homebrew folks decided that it's better to move\n> the 'perforce' package to a \"cask\".  It was _their_ justification for\n> this move that 'brew install perforce' \"can fail due to a checksum\n> mismatch ...\", and casks can be installed without checksum\n> verification.  And indeed, both 'brew cask install perforce' and 'brew\n> install caskroom/cask/perforce' printed something along the lines of:\n>\n>   ==> No checksum defined for Cask perforce, skipping verification\n>\n> It's unclear to me why 672f51cb used 'brew install\n> caskroom/cask/perforce' instead of 'brew cask install perforce'.  It\n> appears (by running both commands on old Travis CI macOS images) that\n> both commands worked all the same already back then.\n>\n> Anyway, as the error message at the top of the log message shows,\n> 'brew install caskroom/cask/perforce' has stopped working recently,\n> but 'brew cask install perforce' still does, so let's use that.\n>\n> Note that on Travis CI we explicitly specify which macOS image to use,\n> and nowadays we don't run 'brew update' during the build process [1],\n> so both commands work in our builds there.\n> ...\n> Now, let's take a step back.\n> \n> All 'brew cask install perforce' really does is ...\n> ... in fact, that's what we have been doing in some of our Linux jobs\n> since the very beginning, so basically only the download URL has to be\n> adjusted.\n\nThis is already in 'next' X-<; reverting a merge is cheap but I\nprefer to do so when we already have a replacement.\n\nThanks for taking a closer look.\n"},{"id":"384637","messageId":"nycvar.QRO.7.76.6.1910222120090.46@tvgsbejvaqbjf.bet","threadId":"52041","inReplyTo":"20191018105143.GY29845@szeder.dev","subject":"Re: [PATCH v2 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-10-22T23:23:25Z","receivedAt":"2019-10-22T23:23:50Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Gábor,\n\nOn Fri, 18 Oct 2019, SZEDER Gábor wrote:\n\n> On Thu, Oct 17, 2019 at 12:47:33PM +0000, Johannes Schindelin via GitGitGadget wrote:\n> > From: Johannes Schindelin <johannes.schindelin@gmx.de>\n> >\n> > The CI builds are failing for Mac OS X due to a change in the\n>\n> s/CI/Azure Pipelines/\n>\n> Our Travis CI builds are fine.\n\nFor the moment ;-)\n\n> > location of the perforce cask. The command outputs the following\n> > error:\n> >\n> >     + brew install caskroom/cask/perforce\n> >     Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n> >\n> > So let's try to call `brew cask install perforce` first (which is what\n> > that error message suggests, in a most round-about way).\n> >\n> > The \"caskroom\" way was added in 672f51cb (travis-ci:\n> > fix Perforce install on macOS, 2017-01-22) and the justification\n> > is that the call \"brew cask install perforce\" can fail due to a checksum\n> > mismatch: the recipe simply downloads the official Perforce distro, and\n> > whenever that is updated, the recipe needs to be updated, too.\n>\n> This paragraph is wrong, it mixes up things too much.\n>\n> Prior to 672f51cb we used to install the 'perforce' _package_ with\n> 'brew install perforce' (note: no 'cask' in there).  The justification\n> for 672f51cb was that the command 'brew install perforce' simply\n> stopped working, after Homebrew folks decided that it's better to move\n> the 'perforce' package to a \"cask\".  It was _their_ justification for\n> this move that 'brew install perforce' \"can fail due to a checksum\n> mismatch ...\", and casks can be installed without checksum\n> verification.  And indeed, both 'brew cask install perforce' and 'brew\n> install caskroom/cask/perforce' printed something along the lines of:\n>\n>   ==> No checksum defined for Cask perforce, skipping verification\n>\n> It's unclear to me why 672f51cb used 'brew install\n> caskroom/cask/perforce' instead of 'brew cask install perforce'.  It\n> appears (by running both commands on old Travis CI macOS images) that\n> both commands worked all the same already back then.\n>\n> Anyway, as the error message at the top of the log message shows,\n> 'brew install caskroom/cask/perforce' has stopped working recently,\n> but 'brew cask install perforce' still does, so let's use that.\n\nIf you don't mind, I am going to copy/edit these three paragraphs into\nthe commit message,\n\n> Note that on Travis CI we explicitly specify which macOS image to use,\n> and nowadays we don't run 'brew update' during the build process [1],\n> so both commands work in our builds there.\n>\n> [1] f2f4715033 (ci: don't update Homebrew, 2019-07-03)\n>\n> > CI servers are typically fresh virtual machines, but not always. To\n> > accommodate for that, let's try harder if `brew cask install perforce`\n> > fails, by specifically pulling the latest `master` of the\n> > `homebrew-cask` repository.\n>\n> Homebrew didn't record a checksum for Perforce versions r17.1, r17.2\n> and r18.1, so installing those still works fine.  Our Travis CI images\n> install r18.1.\n>\n> However, when Homebrew updated to Perforce r19.1, they included the\n> checksum again for some reason (intentional or accidental; I didn't\n> look why).  This worked fine for a while, until a couple of days ago\n> Perforce updated the r19.1 binaries in place, breaking those\n> checksums.\n>\n> If we were to still run 'brew update', then it would shortly fix the\n> checksum mismatch.  But we don't run it, and we do not want to run it\n> because it takes ages.  Falling back to pull from the 'homebrew-cask'\n> repository could be a reasonable and quick workaround.\n\nOkay, good.\n\n> > This will still fail, of course, when `homebrew-cask` falls behind\n> > Perforce's release schedule. But once it is updated, we can now simply\n> > re-run the failed jobs and they will pick up that update.\n>\n> In our CI builds we don't at all care what the checksums of the\n> Perforce binaries are, so I would really like to tell 'brew' to ignore\n> any checksum mismatch when installing 'perforce'.  Alas, it appears\n> that 'brew' has no public options to turn of or to ignore checksum\n> verification.\n\nSad, yet true, that we indeed have no command-line option to say \"you\nknow what, your checksum possibly mismatches, but we really don't care\".\n\n> Now, let's take a step back.\n>\n> All 'brew cask install perforce' really does is run 'curl' to download\n> a tar.gz from the Perforce servers, verify its checksum, unpack it,\n> and put the executables somewhere on $PATH.  That's not rocket\n> science, we could easily do that ourselves; we don't even have to deal\n> with a tar.gz, the 'p4' and 'p4d' binaries for mac are readily\n> available for download at:\n>\n>   http://filehost.perforce.com/perforce/r19.1/bin.macosx1010x86_64/\n>\n> And, in fact, that's what we have been doing in some of our Linux jobs\n> since the very beginning, so basically only the download URL has to be\n> adjusted.\n\nI'd rather not.\n\nJust because there is no better way on Linux, and just because the\ncurrent `perforce` cask recipe happens to just download and unpack that\nfile does not mean that this won't change.\n\nAnd if it changes, we will be a lot better off by using the provided\npackage.\n\nAs I wrote here:\n\n> > As for updating `homebrew-cask`: the beginnings of automating this in\n> > https://dev.azure.com/gitgitgadget/git/_build?definitionId=11&_a=summary\n> > will be finished once the next Perforce upgrade comes around.\n\nI am quite willing to do my share to keep the Homebrew recipe for\n`perforce` up to date. We'll all be better off that way.\n\nCiao,\nDscho\n\n> >\n> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n> > Signed-off-by: Derrick Stolee <dstolee@microsoft.com>\n> > ---\n> >  ci/install-dependencies.sh | 5 +++++\n> >  1 file changed, 5 insertions(+)\n> >\n> > diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> > index 85a9d6b15c..ce149ed39c 100755\n> > --- a/ci/install-dependencies.sh\n> > +++ b/ci/install-dependencies.sh\n> > @@ -40,6 +40,11 @@ osx-clang|osx-gcc)\n> >  \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n> >  \tbrew install $BREW_INSTALL_PACKAGES\n> >  \tbrew link --force gettext\n> > +\tbrew cask install perforce || {\n> > +\t\t# Update the definitions and try again\n> > +\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n> > +\t\tbrew cask install perforce\n> > +\t} ||\n> >  \tbrew install caskroom/cask/perforce\n> >  \tcase \"$jobname\" in\n> >  \tosx-gcc)\n> > --\n> > gitgitgadget\n>\n"},{"id":"384638","messageId":"nycvar.QRO.7.76.6.1910230123540.46@tvgsbejvaqbjf.bet","threadId":"52041","inReplyTo":"xmqqeez6n8j7.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH v2 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-10-22T23:28:03Z","receivedAt":"2019-10-22T23:28:26Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Mon, 21 Oct 2019, Junio C Hamano wrote:\n\n> SZEDER Gábor <szeder.dev@gmail.com> writes:\n>\n> > On Thu, Oct 17, 2019 at 12:47:33PM +0000, Johannes Schindelin via GitGitGadget wrote:\n> >> From: Johannes Schindelin <johannes.schindelin@gmx.de>\n> >>\n> >> The CI builds are failing for Mac OS X due to a change in the\n> >\n> > s/CI/Azure Pipelines/\n> >\n> > Our Travis CI builds are fine.\n> >\n> >> location of the perforce cask. The command outputs the following\n> >> error:\n> >>\n> >>     + brew install caskroom/cask/perforce\n> >>     Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n> >>\n> >> So let's try to call `brew cask install perforce` first (which is what\n> >> that error message suggests, in a most round-about way).\n> >>\n> >> The \"caskroom\" way was added in 672f51cb (travis-ci:\n> >> fix Perforce install on macOS, 2017-01-22) and the justification\n> >> is that the call \"brew cask install perforce\" can fail due to a checksum\n> >> mismatch: the recipe simply downloads the official Perforce distro, and\n> >> whenever that is updated, the recipe needs to be updated, too.\n> >\n> > This paragraph is wrong, it mixes up things too much.\n> >\n> > Prior to 672f51cb we used to install the 'perforce' _package_ with\n> > 'brew install perforce' (note: no 'cask' in there).  The justification\n> > for 672f51cb was that the command 'brew install perforce' simply\n> > stopped working, after Homebrew folks decided that it's better to move\n> > the 'perforce' package to a \"cask\".  It was _their_ justification for\n> > this move that 'brew install perforce' \"can fail due to a checksum\n> > mismatch ...\", and casks can be installed without checksum\n> > verification.  And indeed, both 'brew cask install perforce' and 'brew\n> > install caskroom/cask/perforce' printed something along the lines of:\n> >\n> >   ==> No checksum defined for Cask perforce, skipping verification\n> >\n> > It's unclear to me why 672f51cb used 'brew install\n> > caskroom/cask/perforce' instead of 'brew cask install perforce'.  It\n> > appears (by running both commands on old Travis CI macOS images) that\n> > both commands worked all the same already back then.\n> >\n> > Anyway, as the error message at the top of the log message shows,\n> > 'brew install caskroom/cask/perforce' has stopped working recently,\n> > but 'brew cask install perforce' still does, so let's use that.\n> >\n> > Note that on Travis CI we explicitly specify which macOS image to use,\n> > and nowadays we don't run 'brew update' during the build process [1],\n> > so both commands work in our builds there.\n> > ...\n> > Now, let's take a step back.\n> >\n> > All 'brew cask install perforce' really does is ...\n> > ... in fact, that's what we have been doing in some of our Linux jobs\n> > since the very beginning, so basically only the download URL has to be\n> > adjusted.\n>\n> This is already in 'next' X-<; reverting a merge is cheap but I\n> prefer to do so when we already have a replacement.\n\nI force-pushed (see https://github.com/gitgitgadget/git/pull/400), and\nonce Stolee approves, he will submit v3. This will only change the\ncommit message, though, as I disagree that hard-coding the URL would be\nan improvement: the nice thing about a package management system is that\nthe user does not need to know the details (or need to know if the\ndetails change, like, ever).\n\nCiao,\nDscho\n\n>\n> Thanks for taking a closer look.\n>\n"},{"id":"384646","messageId":"xmqq36fkl5bd.fsf@gitster-ct.c.googlers.com","threadId":"52041","inReplyTo":"nycvar.QRO.7.76.6.1910230123540.46@tvgsbejvaqbjf.bet","subject":"Re: [PATCH v2 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-10-22T23:37:58Z","receivedAt":"2019-10-22T23:38:03Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n>> This is already in 'next' X-<; reverting a merge is cheap but I\n>> prefer to do so when we already have a replacement.\n>\n> I force-pushed (see https://github.com/gitgitgadget/git/pull/400), and\n> once Stolee approves, he will submit v3. This will only change the\n> commit message, though, as I disagree that hard-coding the URL would be\n> an improvement: the nice thing about a package management system is that\n> the user does not need to know the details (or need to know if the\n> details change, like, ever).\n\nIf this were meant for the upcoming release, I would rather see us\ncopy a butt-ugly-but-known-working procedure if we have one this\nclose to -rc1.  If the hard-coded URL ever changes, the procedure\nwe would be copying from would be broken anyway.\n\nBut I agree 100% that we should take a conceptually cleaner approach\nfor the longer term.  Let's replace the original one with this and\ncook in 'next'---it would be ideal if the ugly-but-know-working one\nbe updated to match in the meantime, but if it is bypassing package\nmanagement for a reason (the upstream just publishes the URL to\ndownload from without packaging it properly, for example?), that\nwould not be possible, and it is OK if that is the case.\n\nThanks.\n\n\n\n"},{"id":"384650","messageId":"9d80e845bf923c4543c49f9947aacb10c59ff6ce.1571789978.git.gitgitgadget@gmail.com","threadId":"52041","inReplyTo":"pull.400.v3.git.1571789978.gitgitgadget@gmail.com","subject":"[PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-10-23T00:19:38Z","receivedAt":"2019-10-23T00:19:43Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nThe Azure Pipelines builds are failing for macOS due to a change in the\nlocation of the perforce cask. The command outputs the following error:\n\n    + brew install caskroom/cask/perforce\n    Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n\nSo let's try to call `brew cask install perforce` first (which is what\nthat error message suggests, in a most round-about way).\n\nPrior to 672f51cb we used to install the 'perforce' package with 'brew\ninstall perforce' (note: no 'cask' in there). The justification for\n672f51cb was that the command 'brew install perforce' simply stopped\nworking, after Homebrew folks decided that it's better to move the\n'perforce' package to a \"cask\". Their justification for this move was\nthat 'brew install perforce' \"can fail due to a checksum mismatch ...\",\nand casks can be installed without checksum verification. And indeed,\nboth 'brew cask install perforce' and 'brew install\ncaskroom/cask/perforce' printed something along the lines of:\n\n  ==> No checksum defined for Cask perforce, skipping verification\n\nIt is unclear why 672f51cb used 'brew install caskroom/cask/perforce'\ninstead of 'brew cask install perforce'. It appears (by running both\ncommands on old Travis CI macOS images) that both commands worked all\nthe same already back then.\n\nIn any case, as the error message at the top of this commit message\nshows, 'brew install caskroom/cask/perforce' has stopped working\nrecently, but 'brew cask install perforce' still does, so let's use\nthat.\n\nCI servers are typically fresh virtual machines, but not always. To\naccommodate for that, let's try harder if `brew cask install perforce`\nfails, by specifically pulling the latest `master` of the\n`homebrew-cask` repository.\n\nThis will still fail, of course, when `homebrew-cask` falls behind\nPerforce's release schedule. But once it is updated, we can now simply\nre-run the failed jobs and they will pick up that update.\n\nAs for updating `homebrew-cask`: the beginnings of automating this in\nhttps://dev.azure.com/gitgitgadget/git/_build?definitionId=11&_a=summary\nwill be finished once the next Perforce upgrade comes around.\n\nHelped-by: SZEDER Gábor <szeder.dev@gmail.com>\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\n---\n ci/install-dependencies.sh | 5 +++++\n 1 file changed, 5 insertions(+)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex 85a9d6b15c..ce149ed39c 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -40,6 +40,11 @@ osx-clang|osx-gcc)\n \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n \tbrew install $BREW_INSTALL_PACKAGES\n \tbrew link --force gettext\n+\tbrew cask install perforce || {\n+\t\t# Update the definitions and try again\n+\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n+\t\tbrew cask install perforce\n+\t} ||\n \tbrew install caskroom/cask/perforce\n \tcase \"$jobname\" in\n \tosx-gcc)\n-- \ngitgitgadget\n"},{"id":"384651","messageId":"pull.400.v3.git.1571789978.gitgitgadget@gmail.com","threadId":"52041","inReplyTo":"pull.400.v2.git.1571316454.gitgitgadget@gmail.com","subject":"[PATCH v3 0/1] ci: update caskroom/cask/perforce to new location","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-10-23T00:19:37Z","receivedAt":"2019-10-23T00:19:43Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"Running CI on Mac OS X in Azure Pipelines is currently broken due to a moved\nhomebrew package.\n\nChange since v2:\n\n * The commit message was improved (thanks Gábor).\n\nChange since v1: -The step is now more robust (by pulling homebrew-cask and\ntrying again if the pull failed).\n\nThanks, -Stolee\n\nJohannes Schindelin (1):\n  ci(osx): use new location of the `perforce` cask\n\n ci/install-dependencies.sh | 5 +++++\n 1 file changed, 5 insertions(+)\n\n\nbase-commit: 108b97dc372828f0e72e56bbb40cae8e1e83ece6\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-400%2Fderrickstolee%2Fci-caskroom-v3\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-400/derrickstolee/ci-caskroom-v3\nPull-Request: https://github.com/gitgitgadget/git/pull/400\n\nRange-diff vs v2:\n\n 1:  372ab24acf ! 1:  9d80e845bf ci(osx): use new location of the `perforce` cask\n     @@ -2,9 +2,8 @@\n      \n          ci(osx): use new location of the `perforce` cask\n      \n     -    The CI builds are failing for Mac OS X due to a change in the\n     -    location of the perforce cask. The command outputs the following\n     -    error:\n     +    The Azure Pipelines builds are failing for macOS due to a change in the\n     +    location of the perforce cask. The command outputs the following error:\n      \n              + brew install caskroom/cask/perforce\n              Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n     @@ -12,11 +11,27 @@\n          So let's try to call `brew cask install perforce` first (which is what\n          that error message suggests, in a most round-about way).\n      \n     -    The \"caskroom\" way was added in 672f51cb (travis-ci:\n     -    fix Perforce install on macOS, 2017-01-22) and the justification\n     -    is that the call \"brew cask install perforce\" can fail due to a checksum\n     -    mismatch: the recipe simply downloads the official Perforce distro, and\n     -    whenever that is updated, the recipe needs to be updated, too.\n     +    Prior to 672f51cb we used to install the 'perforce' package with 'brew\n     +    install perforce' (note: no 'cask' in there). The justification for\n     +    672f51cb was that the command 'brew install perforce' simply stopped\n     +    working, after Homebrew folks decided that it's better to move the\n     +    'perforce' package to a \"cask\". Their justification for this move was\n     +    that 'brew install perforce' \"can fail due to a checksum mismatch ...\",\n     +    and casks can be installed without checksum verification. And indeed,\n     +    both 'brew cask install perforce' and 'brew install\n     +    caskroom/cask/perforce' printed something along the lines of:\n     +\n     +      ==> No checksum defined for Cask perforce, skipping verification\n     +\n     +    It is unclear why 672f51cb used 'brew install caskroom/cask/perforce'\n     +    instead of 'brew cask install perforce'. It appears (by running both\n     +    commands on old Travis CI macOS images) that both commands worked all\n     +    the same already back then.\n     +\n     +    In any case, as the error message at the top of this commit message\n     +    shows, 'brew install caskroom/cask/perforce' has stopped working\n     +    recently, but 'brew cask install perforce' still does, so let's use\n     +    that.\n      \n          CI servers are typically fresh virtual machines, but not always. To\n          accommodate for that, let's try harder if `brew cask install perforce`\n     @@ -31,6 +46,7 @@\n          https://dev.azure.com/gitgitgadget/git/_build?definitionId=11&_a=summary\n          will be finished once the next Perforce upgrade comes around.\n      \n     +    Helped-by: SZEDER Gábor <szeder.dev@gmail.com>\n          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n          Signed-off-by: Derrick Stolee <dstolee@microsoft.com>\n      \n\n-- \ngitgitgadget\n"},{"id":"384652","messageId":"20191023002624.GG4348@szeder.dev","threadId":"52041","inReplyTo":"nycvar.QRO.7.76.6.1910222120090.46@tvgsbejvaqbjf.bet","subject":"Re: [PATCH v2 1/1] ci(osx): use new location of the `perforce` cask","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-10-23T00:26:24Z","receivedAt":"2019-10-23T00:26:30Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Wed, Oct 23, 2019 at 01:23:25AM +0200, Johannes Schindelin wrote:\n> On Fri, 18 Oct 2019, SZEDER Gábor wrote:\n> \n> > On Thu, Oct 17, 2019 at 12:47:33PM +0000, Johannes Schindelin via GitGitGadget wrote:\n> > > From: Johannes Schindelin <johannes.schindelin@gmx.de>\n> > >\n> > > The CI builds are failing for Mac OS X due to a change in the\n> >\n> > s/CI/Azure Pipelines/\n> >\n> > Our Travis CI builds are fine.\n> \n> For the moment ;-)\n\nTouché.\nBelieve it or not, I did wrote \"at least for now\" at the end of that\nsentence, but then deleted it.  Serves me right, now there is some new\nbreakage with gcc@8... :)\n\n> If you don't mind, I am going to copy/edit these three paragraphs into\n> the commit message,\n\nSure, go ahead.\n\n> > In our CI builds we don't at all care what the checksums of the\n> > Perforce binaries are, so I would really like to tell 'brew' to ignore\n> > any checksum mismatch when installing 'perforce'.  Alas, it appears\n> > that 'brew' has no public options to turn of or to ignore checksum\n> > verification.\n> \n> Sad, yet true, that we indeed have no command-line option to say \"you\n> know what, your checksum possibly mismatches, but we really don't care\".\n\nActually, 'brew' does have some undocumented options, but I didn't\neven bothered to check, because it's not really sensible to rely on an\nundocumented option (especially when even the documented options break\nevery once in a while...).\n\n> > Now, let's take a step back.\n> >\n> > All 'brew cask install perforce' really does is run 'curl' to download\n> > a tar.gz from the Perforce servers, verify its checksum, unpack it,\n> > and put the executables somewhere on $PATH.  That's not rocket\n> > science, we could easily do that ourselves; we don't even have to deal\n> > with a tar.gz, the 'p4' and 'p4d' binaries for mac are readily\n> > available for download at:\n> >\n> >   http://filehost.perforce.com/perforce/r19.1/bin.macosx1010x86_64/\n> >\n> > And, in fact, that's what we have been doing in some of our Linux jobs\n> > since the very beginning, so basically only the download URL has to be\n> > adjusted.\n> \n> I'd rather not.\n> \n> Just because there is no better way on Linux, and just because the\n> current `perforce` cask recipe happens to just download and unpack that\n> file does not mean that this won't change.\n\nYeah, I'm fairly sure that the way Homebrew installs Perforce will\nchange, but if we download Perforce ourselves, then it won't matter at\nall.\n\nDownloading the Perforce binaries with 'wget' worked fairly well for\nalmost four years, except from that server glitch a couple of weeks\nago; I think downloading the macOS binaries from the same server would\nwork just as well.  OTOH, this is the fourth time that we have to\ntweak how we install Perforce via Homebrew.\n\nFWIW, it looks like this:\n\nhttps://github.com/szeder/git/blob/ci-osx-wget-perforce/ci/install-dependencies.sh#L11\n"},{"id":"384687","messageId":"xmqqsgnjhj5b.fsf@gitster-ct.c.googlers.com","threadId":"52041","inReplyTo":"9d80e845bf923c4543c49f9947aacb10c59ff6ce.1571789978.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-10-23T10:05:04Z","receivedAt":"2019-10-23T10:05:10Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Johannes Schindelin via GitGitGadget\" <gitgitgadget@gmail.com>\nwrites:\n\n> From: Johannes Schindelin <johannes.schindelin@gmx.de>\n>\n> The Azure Pipelines builds are failing for macOS due to a change in the\n> location of the perforce cask. The command outputs the following error:\n>\n>     + brew install caskroom/cask/perforce\n>     Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n> ...\n> In any case, as the error message at the top of this commit message\n> shows, 'brew install caskroom/cask/perforce' has stopped working\n> recently, but 'brew cask install perforce' still does, so let's use\n> that.\n\nIt appears that OSX jobs at Travis are getting hit by this issue.\nHere is what our failed build ends with, for example:\n\n    +brew install caskroom/cask/perforce\n    Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n\n    cf. https://travis-ci.org/git/git/jobs/601697815\n\nToday's 'pu' has this topic queued, and it seems to help even the\nbuilds at Travis ('pu' seems to fail the test for totally different\nreason, though):\n\n    +brew link gcc@8\n    Error: No such keg: /usr/local/Cellar/gcc@8\n\n    cf. https://travis-ci.org/git/git/jobs/601697903\n\nThanks.\n"},{"id":"384712","messageId":"20191023163506.GJ4348@szeder.dev","threadId":"52041","inReplyTo":"xmqqsgnjhj5b.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-10-23T16:35:06Z","receivedAt":"2019-10-23T16:35:13Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Wed, Oct 23, 2019 at 07:05:04PM +0900, Junio C Hamano wrote:\n> \"Johannes Schindelin via GitGitGadget\" <gitgitgadget@gmail.com>\n> writes:\n> \n> > From: Johannes Schindelin <johannes.schindelin@gmx.de>\n> >\n> > The Azure Pipelines builds are failing for macOS due to a change in the\n> > location of the perforce cask. The command outputs the following error:\n> >\n> >     + brew install caskroom/cask/perforce\n> >     Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n> > ...\n> > In any case, as the error message at the top of this commit message\n> > shows, 'brew install caskroom/cask/perforce' has stopped working\n> > recently, but 'brew cask install perforce' still does, so let's use\n> > that.\n> \n> It appears that OSX jobs at Travis are getting hit by this issue.\n> Here is what our failed build ends with, for example:\n> \n>     +brew install caskroom/cask/perforce\n>     Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.\n> \n>     cf. https://travis-ci.org/git/git/jobs/601697815\n> \n> Today's 'pu' has this topic queued, and it seems to help even the\n> builds at Travis ('pu' seems to fail the test for totally different\n> reason, though):\n> \n>     +brew link gcc@8\n>     Error: No such keg: /usr/local/Cellar/gcc@8\n> \n>     cf. https://travis-ci.org/git/git/jobs/601697903\n\nYeah, that's a new one, so we don't get too bored.  We'll need the\npatch below as well:\n\n --- >8 ---\n\nSubject: [PATCH] ci: fix GCC install in the GCC OSX job\n\nA few days ago Travis CI updated their existing OSX images, including\nthe Homebrew database in the xcode10.1 OSX image that we use.  Since\nthen installing dependencies in the 'osx-gcc' job fails when it tries\nto link gcc@8:\n\n  + brew link gcc@8\n  Error: No such keg: /usr/local/Cellar/gcc@8\n\nApparently 'brew link gcc' works, so let's do that then, and fall back\nto linking gcc@8 if it doesn't.\n\nSigned-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n---\n ci/install-dependencies.sh | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex ce149ed39c..4e64a19112 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -48,6 +48,7 @@ osx-clang|osx-gcc)\n \tbrew install caskroom/cask/perforce\n \tcase \"$jobname\" in\n \tosx-gcc)\n+\t\tbrew link gcc ||\n \t\tbrew link gcc@8\n \t\t;;\n \tesac\n-- \n2.24.0.rc0.502.g7008375535\n\n"},{"id":"384737","messageId":"20191024002040.17196-1-szeder.dev@gmail.com","threadId":"52041","inReplyTo":"20191023163506.GJ4348@szeder.dev","subject":"[PATCH v2] ci: fix GCC install in the Travis CI GCC OSX job","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-10-24T00:20:40Z","receivedAt":"2019-10-24T00:23:11Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"A few days ago Travis CI updated their existing OSX images, including\nthe Homebrew database in the xcode10.1 OSX image that we use.  Since\nthen installing dependencies in the 'osx-gcc' job fails when it tries\nto link gcc@8:\n\n  + brew link gcc@8\n  Error: No such keg: /usr/local/Cellar/gcc@8\n\nGCC8 is still installed but not linked to '/usr/local' in the updated\nimage, as it was before this update, but now we have to link it by\nrunning 'brew link gcc'.  So let's do that then, and fall back to\nlinking gcc@8 if it doesn't, just to be sure.\n\nOur builds on Azure Pipelines are unaffected by this issue.  The OSX\nimage over there doesn't contain the gcc@8 package, so we have to\n'brew install' it, which already takes care of linking it to\n'/usr/local'.  After that the 'brew link gcc' command added by this\npatch fails, but the ||-chained fallback 'brew link gcc@8' command\nsucceeds with an \"already linked\" warning.\n\nSigned-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n---\n\nSame patch, updated commit message.\n\n ci/install-dependencies.sh | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex ce149ed39c..4e64a19112 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -48,6 +48,7 @@ osx-clang|osx-gcc)\n \tbrew install caskroom/cask/perforce\n \tcase \"$jobname\" in\n \tosx-gcc)\n+\t\tbrew link gcc ||\n \t\tbrew link gcc@8\n \t\t;;\n \tesac\n-- \n2.24.0.rc0.502.g7008375535\n\n"},{"id":"386470","messageId":"20191118221804.GA23183@szeder.dev","threadId":"52041","inReplyTo":"9d80e845bf923c4543c49f9947aacb10c59ff6ce.1571789978.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-11-18T22:18:04Z","receivedAt":"2019-11-18T22:18:15Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Wed, Oct 23, 2019 at 12:19:38AM +0000, Johannes Schindelin via GitGitGadget wrote:\n> CI servers are typically fresh virtual machines, but not always. To\n> accommodate for that, let's try harder if `brew cask install perforce`\n> fails, by specifically pulling the latest `master` of the\n> `homebrew-cask` repository.\n\n> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> index 85a9d6b15c..ce149ed39c 100755\n> --- a/ci/install-dependencies.sh\n> +++ b/ci/install-dependencies.sh\n> @@ -40,6 +40,11 @@ osx-clang|osx-gcc)\n>  \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n>  \tbrew install $BREW_INSTALL_PACKAGES\n>  \tbrew link --force gettext\n> +\tbrew cask install perforce || {\n> +\t\t# Update the definitions and try again\n> +\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n\nIn the build of v2.24.0 this 'git pull' printed just short of 600\nlines worth of diffstat.  Two weeks went by since then, and in today's\n'pu' build that diffstat is already over 1000 lines long.\n\nPerhaps we could use --quiet here, though that would suppress the\ntransfer progress as well.\n\n> +\t\tbrew cask install perforce\n> +\t} ||\n>  \tbrew install caskroom/cask/perforce\n>  \tcase \"$jobname\" in\n>  \tosx-gcc)\n> -- \n> gitgitgadget\n"},{"id":"386553","messageId":"nycvar.QRO.7.76.6.1911192155140.15956@tvgsbejvaqbjf.bet","threadId":"52041","inReplyTo":"20191118221804.GA23183@szeder.dev","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-11-19T20:59:21Z","receivedAt":"2019-11-19T20:59:47Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Gábor,\n\nOn Mon, 18 Nov 2019, SZEDER Gábor wrote:\n\n> On Wed, Oct 23, 2019 at 12:19:38AM +0000, Johannes Schindelin via GitGitGadget wrote:\n> > CI servers are typically fresh virtual machines, but not always. To\n> > accommodate for that, let's try harder if `brew cask install perforce`\n> > fails, by specifically pulling the latest `master` of the\n> > `homebrew-cask` repository.\n>\n> > diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> > index 85a9d6b15c..ce149ed39c 100755\n> > --- a/ci/install-dependencies.sh\n> > +++ b/ci/install-dependencies.sh\n> > @@ -40,6 +40,11 @@ osx-clang|osx-gcc)\n> >  \ttest -z \"$BREW_INSTALL_PACKAGES\" ||\n> >  \tbrew install $BREW_INSTALL_PACKAGES\n> >  \tbrew link --force gettext\n> > +\tbrew cask install perforce || {\n> > +\t\t# Update the definitions and try again\n> > +\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n>\n> In the build of v2.24.0 this 'git pull' printed just short of 600\n> lines worth of diffstat.  Two weeks went by since then, and in today's\n> 'pu' build that diffstat is already over 1000 lines long.\n>\n> Perhaps we could use --quiet here, though that would suppress the\n> transfer progress as well.\n\nIsn't there an option to suppress the diffstat specifically?\n\n*clicketyclick*\n\nAh yes: we can just pass `-c merge.stat=false` to that `pull` command.\n\nFeel free to submit a patch, as I won't really have time to take care of\nthis any time soon.\n\nCiao,\nDscho\n\n> > +\t\tbrew cask install perforce\n> > +\t} ||\n> >  \tbrew install caskroom/cask/perforce\n> >  \tcase \"$jobname\" in\n> >  \tosx-gcc)\n> > --\n> > gitgitgadget\n>\n"},{"id":"386597","messageId":"xmqqk17ve45s.fsf@gitster-ct.c.googlers.com","threadId":"52041","inReplyTo":"nycvar.QRO.7.76.6.1911192155140.15956@tvgsbejvaqbjf.bet","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-11-20T01:18:39Z","receivedAt":"2019-11-20T01:18:45Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n>> > +\tbrew cask install perforce || {\n>> > +\t\t# Update the definitions and try again\n>> > +\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n>>\n>> In the build of v2.24.0 this 'git pull' printed just short of 600\n>> lines worth of diffstat.  Two weeks went by since then, and in today's\n>> 'pu' build that diffstat is already over 1000 lines long.\n>>\n>> Perhaps we could use --quiet here, though that would suppress the\n>> transfer progress as well.\n>\n> Isn't there an option to suppress the diffstat specifically?\n\n-- >8 --\nSubject: ci(osx): update homebrew-cask repository with less noise\n\nThe OSX CI build procedure updates the homebrew-cask repository\nbefore attempting to install perforce again, after seeing an\ninstallation failure.  This involves a \"git pull\" that by default\ncomputes and outputs diffstat, which would only grow as the time\ngoes by and the repository cast in stone in the CI build image\nbecomes more and more stale relative to the upstream repository in\nthe outside world.\n\nSuppress the diffstat to both save cycles to generate it, and strain\non the eyeballs to skip it.\n\nReported-by: SZEDER Gábor <szeder.dev@gmail.com>\nHelped-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n ci/install-dependencies.sh | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex 4e64a19112..b6b4f4707f 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -42,7 +42,8 @@ osx-clang|osx-gcc)\n \tbrew link --force gettext\n \tbrew cask install perforce || {\n \t\t# Update the definitions and try again\n-\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n+\t\tcask_repo=\"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask &&\n+\t\tgit -C \"$cask_repo\" pull --no-stat &&\n \t\tbrew cask install perforce\n \t} ||\n \tbrew install caskroom/cask/perforce\n"},{"id":"386631","messageId":"nycvar.QRO.7.76.6.1911201157500.15956@tvgsbejvaqbjf.bet","threadId":"52041","inReplyTo":"xmqqk17ve45s.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-11-20T10:59:22Z","receivedAt":"2019-11-20T10:59:46Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Wed, 20 Nov 2019, Junio C Hamano wrote:\n\n> -- >8 --\n> Subject: ci(osx): update homebrew-cask repository with less noise\n>\n> The OSX CI build procedure updates the homebrew-cask repository\n> before attempting to install perforce again, after seeing an\n> installation failure.  This involves a \"git pull\" that by default\n> computes and outputs diffstat, which would only grow as the time\n> goes by and the repository cast in stone in the CI build image\n> becomes more and more stale relative to the upstream repository in\n> the outside world.\n>\n> Suppress the diffstat to both save cycles to generate it, and strain\n> on the eyeballs to skip it.\n>\n> Reported-by: SZEDER Gábor <szeder.dev@gmail.com>\n> Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n> ---\n>  ci/install-dependencies.sh | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n>\n> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> index 4e64a19112..b6b4f4707f 100755\n> --- a/ci/install-dependencies.sh\n> +++ b/ci/install-dependencies.sh\n> @@ -42,7 +42,8 @@ osx-clang|osx-gcc)\n>  \tbrew link --force gettext\n>  \tbrew cask install perforce || {\n>  \t\t# Update the definitions and try again\n> -\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n> +\t\tcask_repo=\"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask &&\n> +\t\tgit -C \"$cask_repo\" pull --no-stat &&\n\nEven better! I missed that option because I usually read\n`Documentation/git-<command>.txt` directly, and of course that is in the\nincluded `Documentation/merge-options.txt`...\n\nThank you,\nDscho\n\n>  \t\tbrew cask install perforce\n>  \t} ||\n>  \tbrew install caskroom/cask/perforce\n>\n"},{"id":"386632","messageId":"xmqqo8x6bx0k.fsf@gitster-ct.c.googlers.com","threadId":"52041","inReplyTo":"nycvar.QRO.7.76.6.1911201157500.15956@tvgsbejvaqbjf.bet","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-11-20T11:35:55Z","receivedAt":"2019-11-20T11:35:59Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n>> Subject: ci(osx): update homebrew-cask repository with less noise\n>>\n>> The OSX CI build procedure updates the homebrew-cask repository\n>> before attempting to install perforce again, after seeing an\n>> installation failure.  This involves a \"git pull\" that by default\n>> computes and outputs diffstat, which would only grow as the time\n>> goes by and the repository cast in stone in the CI build image\n>> becomes more and more stale relative to the upstream repository in\n>> the outside world.\n>>\n>> Suppress the diffstat to both save cycles to generate it, and strain\n>> on the eyeballs to skip it.\n>>\n>> Reported-by: SZEDER Gábor <szeder.dev@gmail.com>\n>> Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n>> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n\nLog of tonight's 'pu' https://travis-ci.org/git/git/jobs/614370507\nshows me that this did the job, compared to tonight's 'next' that\ndoes not have it, https://travis-ci.org/git/git/jobs/614370474\n\nSo let me merge it down to 'next' and further soonish.\n\nThanks.\n"},{"id":"386664","messageId":"20191120225439.GA18277@szeder.dev","threadId":"52041","inReplyTo":"xmqqk17ve45s.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-11-20T22:54:39Z","receivedAt":"2019-11-20T22:54:50Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Wed, Nov 20, 2019 at 10:18:39AM +0900, Junio C Hamano wrote:\n> Subject: ci(osx): update homebrew-cask repository with less noise\n> \n> The OSX CI build procedure updates the homebrew-cask repository\n> before attempting to install perforce again, after seeing an\n> installation failure.  This involves a \"git pull\" that by default\n> computes and outputs diffstat, which would only grow as the time\n> goes by and the repository cast in stone in the CI build image\n> becomes more and more stale relative to the upstream repository in\n> the outside world.\n\nMinor clarification: I, too, thought that the CI build images are cast\nin stone, but the Travis CI build images are definitely not (don't\nknow about Azure Pipelines), but receive smaller updates from time to\ntime, including updates to their Homebrew database.  Such a recent\nupdate necessitated commit 7d4733c501 (ci: fix GCC install in the\nTravis CI GCC OSX job, 2019-10-24).  I contacted Travis CI support\nabout it, and they confirmed.\n\n> Suppress the diffstat to both save cycles to generate it, and strain\n> on the eyeballs to skip it.\n> \n> Reported-by: SZEDER Gábor <szeder.dev@gmail.com>\n> Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n> ---\n>  ci/install-dependencies.sh | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n> \n> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> index 4e64a19112..b6b4f4707f 100755\n> --- a/ci/install-dependencies.sh\n> +++ b/ci/install-dependencies.sh\n> @@ -42,7 +42,8 @@ osx-clang|osx-gcc)\n>  \tbrew link --force gettext\n>  \tbrew cask install perforce || {\n>  \t\t# Update the definitions and try again\n> -\t\tgit -C \"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask pull &&\n> +\t\tcask_repo=\"$(brew --repository)\"/Library/Taps/homebrew/homebrew-cask &&\n> +\t\tgit -C \"$cask_repo\" pull --no-stat &&\n\nOh, a '--no-stat' option; I looked at the man page, but stopped\nscrolling after finding '--quiet'...\n\nThe patch looks obviously good, thanks.\n\n>  \t\tbrew cask install perforce\n>  \t} ||\n>  \tbrew install caskroom/cask/perforce\n"},{"id":"386668","messageId":"xmqq5zjeaxc2.fsf@gitster-ct.c.googlers.com","threadId":"52041","inReplyTo":"20191120225439.GA18277@szeder.dev","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-11-21T00:26:37Z","receivedAt":"2019-11-21T00:26:42Z","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, Nov 20, 2019 at 10:18:39AM +0900, Junio C Hamano wrote:\n>> ...\n>> computes and outputs diffstat, which would only grow as the time\n>> goes by and the repository cast in stone in the CI build image\n>> becomes more and more stale relative to the upstream repository in\n>> the outside world.\n>\n> Minor clarification: I, too, thought that the CI build images are cast\n> in stone, but the Travis CI build images are definitely not (don't\n> know about Azure Pipelines), but receive smaller updates from time to\n> time, including updates to their Homebrew database.  Such a recent\n> update necessitated commit 7d4733c501 (ci: fix GCC install in the\n> Travis CI GCC OSX job, 2019-10-24).  I contacted Travis CI support\n> about it, and they confirmed.\n\nI do recall that their images are moving targets and updates to them\ndid disrupt our tasks in the past.  How about\n\n    ..., which would grow as the repository that comes with the CI\n    build image goes stale relative to ...\n\nto tone it down?\n\nThanks.\n"},{"id":"386712","messageId":"nycvar.QRO.7.76.6.1911211209190.31080@tvgsbejvaqbjf.bet","threadId":"52041","inReplyTo":"20191120225439.GA18277@szeder.dev","subject":"Re: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-11-21T11:12:38Z","receivedAt":"2019-11-21T11:13:01Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 20 Nov 2019, SZEDER Gábor wrote:\n\n> On Wed, Nov 20, 2019 at 10:18:39AM +0900, Junio C Hamano wrote:\n> > Subject: ci(osx): update homebrew-cask repository with less noise\n> >\n> > The OSX CI build procedure updates the homebrew-cask repository\n> > before attempting to install perforce again, after seeing an\n> > installation failure.  This involves a \"git pull\" that by default\n> > computes and outputs diffstat, which would only grow as the time\n> > goes by and the repository cast in stone in the CI build image\n> > becomes more and more stale relative to the upstream repository in\n> > the outside world.\n>\n> Minor clarification: I, too, thought that the CI build images are cast\n> in stone, but the Travis CI build images are definitely not (don't\n> know about Azure Pipelines),\n\nJudging from\nhttps://github.com/microsoft/azure-pipelines-image-generation/commits/master/images/macos/macos-10.14-Readme.md\nit looks like they are updated weekly, although I have to admit that I do\nnot know whether the Homebrew packages are updated as regularly (I would\nwager they are). The latest update to Homebrew itself came in 21 days ago:\nhttps://github.com/microsoft/azure-pipelines-image-generation/commit/866b368747a064f22ecfb7061e9034e3e21c63d4#diff-fb7f82d5a779a32aabccaad5bb9ab35c\n\nCiao,\nJohannes\n"}]}