Running CI on Mac OS X in Azure Pipelines is currently broken due to a moved homebrew package. Change since v2: * The commit message was improved (thanks Gábor). Change since v1: -The step is now more robust (by pulling homebrew-cask and trying again if the pull failed). Thanks, -Stolee Johannes Schindelin (1): ci(osx): use new location of the `perforce` cask ci/install-dependencies.sh | 5 +++++ 1 file changed, 5 insertions(+) base-commit: 108b97dc372828f0e72e56bbb40cae8e1e83ece6 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-400%2Fderrickstolee%2Fci-caskroom-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-400/derrickstolee/ci-caskroom-v3 Pull-Request: https://github.com/gitgitgadget/git/pull/400 Range-diff vs v2: 1: 372ab24acf ! 1: 9d80e845bf ci(osx): use new location of the `perforce` cask @@ -2,9 +2,8 @@ ci(osx): use new location of the `perforce` cask - The CI builds are failing for Mac OS X due to a change in the - location of the perforce cask. The command outputs the following - error: + The Azure Pipelines builds are failing for macOS due to a change in the + location of the perforce cask. The command outputs the following error: + brew install caskroom/cask/perforce Error: caskroom/cask was moved. Tap homebrew/cask-cask instead. @@ -12,11 +11,27 @@ So let's try to call `brew cask install perforce` first (which is what that error message suggests, in a most round-about way). - The "caskroom" way was added in 672f51cb (travis-ci: - fix Perforce install on macOS, 2017-01-22) and the justification - is that the call "brew cask install perforce" can fail due to a checksum - mismatch: the recipe simply downloads the official Perforce distro, and - whenever that is updated, the recipe needs to be updated, too. + Prior to 672f51cb we used to install the 'perforce' package with 'brew + install perforce' (note: no 'cask' in there). The justification for + 672f51cb was that the command 'brew install perforce' simply stopped + working, after Homebrew folks decided that it's better to move the + 'perforce' package to a "cask". Their justification for this move was + that 'brew install perforce' "can fail due to a checksum mismatch ...", + and casks can be installed without checksum verification. And indeed, + both 'brew cask install perforce' and 'brew install + caskroom/cask/perforce' printed something along the lines of: + + ==> No checksum defined for Cask perforce, skipping verification + + It is unclear why 672f51cb used 'brew install caskroom/cask/perforce' + instead of 'brew cask install perforce'. It appears (by running both + commands on old Travis CI macOS images) that both commands worked all + the same already back then. + + In any case, as the error message at the top of this commit message + shows, 'brew install caskroom/cask/perforce' has stopped working + recently, but 'brew cask install perforce' still does, so let's use + that. CI servers are typically fresh virtual machines, but not always. To accommodate for that, let's try harder if `brew cask install perforce` @@ -31,6 +46,7 @@ https://dev.azure.com/gitgitgadget/git/_build?definitionId=11&_a=summary will be finished once the next Perforce upgrade comes around. + Helped-by: SZEDER Gábor <szeder.dev@xxxxxxxxx> Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> -- gitgitgadget