git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 1/1] ci(osx): use new location of the `perforce` cask

From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
Date
Oct 23, 2019, 00:19 UTC
Message-ID
<9d80e845bf923c4543c49f9947aacb10c59ff6ce.1571789978.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.400.v3.git.1571789978.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>

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.

So let's try to call `brew cask install perforce` first (which is what that error message suggests, in a most round-about way).

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` fails, by specifically pulling the latest `master` of the `homebrew-cask` repository.

This will still fail, of course, when `homebrew-cask` falls behind Perforce's release schedule. But once it is updated, we can now simply re-run the failed jobs and they will pick up that update.

As for updating `homebrew-cask`: the beginnings of automating this in 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@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
---
 ci/install-dependencies.sh | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 85a9d6b15c..ce149ed39c 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -40,6 +40,11 @@ osx-clang|osx-gcc)
 	test -z "$BREW_INSTALL_PACKAGES" ||
 	brew install $BREW_INSTALL_PACKAGES
 	brew link --force gettext
+	brew cask install perforce || {
+		# Update the definitions and try again
+		git -C "$(brew --repository)"/Library/Taps/homebrew/homebrew-cask pull &&
+		brew cask install perforce
+	} ||
 	brew install caskroom/cask/perforce
 	case "$jobname" in
 	osx-gcc)
-- 
gitgitgadget
Previous: Derrick Stolee via GitGitGadgetNext: Junio C Hamano
Message 13 of 24 in “ci: update caskroom/cask/perforce to new location”
  1. 0/1 ci: update caskroom/cask/perforce to new locationDerrick Stolee via GitGitGadget, Oct 15, 2019
  2. 1/1 ci(osx): use new location of the `perforce` caskJohannes Schindelin via GitGitGadget, Oct 15, 2019
  3. Johannes SchindelinOct 17, 2019
  4. 0/1 ci: update caskroom/cask/perforce to new locationDerrick Stolee via GitGitGadget, Oct 17, 2019
  5. 1/1 ci(osx): use new location of the `perforce` caskJohannes Schindelin via GitGitGadget, Oct 17, 2019
  6. SZEDER GáborOct 18, 2019
  7. Junio C HamanoOct 21, 2019
  8. Johannes SchindelinOct 22, 2019
  9. Junio C HamanoOct 22, 2019
  10. Johannes SchindelinOct 22, 2019
  11. SZEDER GáborOct 23, 2019
  12. 0/1 ci: update caskroom/cask/perforce to new locationDerrick Stolee via GitGitGadget, Oct 23, 2019
  13. 1/1 ci(osx): use new location of the `perforce` caskJohannes Schindelin via GitGitGadget, Oct 23, 2019
  14. Junio C HamanoOct 23, 2019
  15. SZEDER GáborOct 23, 2019
  16. ci: fix GCC install in the Travis CI GCC OSX jobSZEDER Gábor, Oct 24, 2019
  17. SZEDER GáborNov 18, 2019
  18. Johannes SchindelinNov 19, 2019
  19. Junio C HamanoNov 20, 2019
  20. Johannes SchindelinNov 20, 2019
  21. Junio C HamanoNov 20, 2019
  22. SZEDER GáborNov 20, 2019
  23. Junio C HamanoNov 21, 2019
  24. Johannes SchindelinNov 21, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.