git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: johannes.schindelin@gmx.de,
	Derrick Stolee <dstolee@microsoft.com>,
	Junio C Hamano <gitster@pobox.com>,
	Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask
Date: Wed, 23 Oct 2019 00:19:38 +0000	[thread overview]
Message-ID: <9d80e845bf923c4543c49f9947aacb10c59ff6ce.1571789978.git.gitgitgadget@gmail.com> (raw)
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

  reply	other threads:[~2019-10-23  0:19 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-15 17:32 [PATCH 0/1] ci: update caskroom/cask/perforce to new location Derrick Stolee via GitGitGadget
2019-10-15 17:32 ` [PATCH 1/1] ci(osx): use new location of the `perforce` cask Johannes Schindelin via GitGitGadget
2019-10-17 10:22 ` [PATCH 0/1] ci: update caskroom/cask/perforce to new location Johannes Schindelin
2019-10-17 12:47 ` [PATCH v2 " Derrick Stolee via GitGitGadget
2019-10-17 12:47   ` [PATCH v2 1/1] ci(osx): use new location of the `perforce` cask Johannes Schindelin via GitGitGadget
2019-10-18 10:51     ` SZEDER Gábor
2019-10-21  2:21       ` Junio C Hamano
2019-10-22 23:28         ` Johannes Schindelin
2019-10-22 23:37           ` Junio C Hamano
2019-10-22 23:23       ` Johannes Schindelin
2019-10-23  0:26         ` SZEDER Gábor
2019-10-23  0:19   ` [PATCH v3 0/1] ci: update caskroom/cask/perforce to new location Derrick Stolee via GitGitGadget
2019-10-23  0:19     ` Johannes Schindelin via GitGitGadget [this message]
2019-10-23 10:05       ` [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask Junio C Hamano
2019-10-23 16:35         ` SZEDER Gábor
2019-10-24  0:20           ` [PATCH v2] ci: fix GCC install in the Travis CI GCC OSX job SZEDER Gábor
2019-11-18 22:18       ` [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask SZEDER Gábor
2019-11-19 20:59         ` Johannes Schindelin
2019-11-20  1:18           ` Junio C Hamano
2019-11-20 10:59             ` Johannes Schindelin
2019-11-20 11:35               ` Junio C Hamano
2019-11-20 22:54             ` SZEDER Gábor
2019-11-21  0:26               ` Junio C Hamano
2019-11-21 11:12               ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9d80e845bf923c4543c49f9947aacb10c59ff6ce.1571789978.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=dstolee@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).