git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Cc: "Carlo Marcelo Arenas Belón" <carenas@gmail.com>
Subject: [PATCH v4 2/4] ci: avoid brew for installing perforce
Date: Thu, 12 May 2022 15:39:38 -0700	[thread overview]
Message-ID: <20220512223940.238367-3-gitster@pobox.com> (raw)
In-Reply-To: <20220512223940.238367-1-gitster@pobox.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2833 bytes --]

From: Carlo Marcelo Arenas Belón <carenas@gmail.com>

Perfoce's cask in brew is meant[1] to be used only by humans, so replace
its use from the CI with a scripted binary download which is less likely
to fail, as it is done in Linux.

Kept the logic together so it will be less likely to break when moved
around as on the fly code changes in this area are settled, at which
point it will also feasable to ammend it to avoid some of the hardcoded
values by using similar variables to the ones Linux does.

In that same line, a POSIX sh syntax is used instead of the similar one
used in Linux in preparation for an unrelated future change that might
change the shell currently configured for it.

This change reintroduces the risk that the installed binaries might not
work because of being quarantined that was fixed with 5ed9fc3fc86 (ci:
prevent `perforce` from being quarantined, 2020-02-27) but fixing that
now was also punted for simplicity and since the affected cloud provider
is scheduled to be retired with an on the fly change, but should be
addressed if that other change is not integrated further.

The discussion on the need to keep 2 radically different versions of
the binaries to be tested with Linux vs macOS or how to upgrade to
newer versions now that brew won't do that automatically for us has
been punted for now as well.  On that line the now obsolete comment
about it in lib.sh was originally being updated by this change but
created conflicts as it is moved around by other on the fly changes,
so will be addressed independently as well.

[1] https://github.com/Homebrew/homebrew-cask/pull/122347#discussion_r856026584

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 ci/install-dependencies.sh | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index fa620f8fcd..8e796fa669 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -37,13 +37,14 @@ macos-latest)
 	test -z "$BREW_INSTALL_PACKAGES" ||
 	brew install $BREW_INSTALL_PACKAGES
 	brew link --force gettext
-	brew install --cask --no-quarantine perforce || {
-		# Update the definitions and try again
-		cask_repo="$(brew --repository)"/Library/Taps/homebrew/homebrew-cask &&
-		git -C "$cask_repo" pull --no-stat --ff-only &&
-		brew install --cask --no-quarantine perforce
-	} ||
-	brew install homebrew/cask/perforce
+	mkdir -p $HOME/bin
+	(
+		cd $HOME/bin
+		wget -q "https://cdist2.perforce.com/perforce/r21.2/bin.macosx1015x86_64/helix-core-server.tgz" &&
+		tar -xf helix-core-server.tgz
+	)
+	PATH="$PATH:${HOME}/bin"
+	export PATH
 
 	if test -n "$CC_PACKAGE"
 	then
-- 
2.36.1-338-g1c7f76a54c


  parent reply	other threads:[~2022-05-12 22:40 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-21 22:55 [PATCH] ci: make perforce installation optional in macOS Carlo Marcelo Arenas Belón
2022-04-21 22:58 ` Eric Sunshine
2022-04-21 23:05 ` Eric Sunshine
2022-04-22  1:39 ` [PATCH v2 0/2] ci: avoid perforce/brew issues affecting macOS Carlo Marcelo Arenas Belón
2022-04-22  1:39   ` [PATCH v2 1/2] ci: make failure to find perforce more user friendly Carlo Marcelo Arenas Belón
2022-04-22  5:49     ` Junio C Hamano
2022-04-22 22:23       ` Junio C Hamano
2022-04-22 23:13         ` Carlo Arenas
2022-04-22 23:58           ` Junio C Hamano
2022-04-23  0:37             ` Carlo Arenas
2022-04-22  1:39   ` [PATCH v2 2/2] ci: make perforce installation optional in macOS Carlo Marcelo Arenas Belón
2022-04-23 14:25   ` [PATCH v3 0/4] ci: avoid perforce/brew issues affecting macOS Carlo Marcelo Arenas Belón
2022-04-23 14:25     ` [PATCH v3 1/4] ci: make failure to find perforce more user friendly Carlo Marcelo Arenas Belón
2022-04-26  1:12       ` Junio C Hamano
2022-04-23 14:25     ` [PATCH v3 2/4] ci: avoid brew for installing perforce Carlo Marcelo Arenas Belón
2022-04-24  6:43       ` Eric Sunshine
2022-04-26 15:55       ` Johannes Schindelin
2022-04-26 17:07         ` Carlo Arenas
2022-04-23 14:25     ` [PATCH v3 3/4] ci: reintroduce prevention from perforce being quarantined in macOS Carlo Marcelo Arenas Belón
2022-04-24  6:47       ` Eric Sunshine
2022-04-23 14:25     ` [PATCH v3 4/4] CI: use https, not http to download binaries from perforce.com Carlo Marcelo Arenas Belón
2022-05-12 22:39     ` [PATCH v4 0/4] ci: avoid perforce/brew issues affecting macOS Junio C Hamano
2022-05-12 22:39       ` [PATCH v4 1/4] ci: make failure to find perforce more user friendly Junio C Hamano
2022-05-12 22:39       ` Junio C Hamano [this message]
2022-05-12 22:39       ` [PATCH v4 3/4] ci: reintroduce prevention from perforce being quarantined in macOS Junio C Hamano
2022-05-12 22:39       ` [PATCH v4 4/4] ci: use https, not http to download binaries from perforce.com Junio C Hamano

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=20220512223940.238367-3-gitster@pobox.com \
    --to=gitster@pobox.com \
    --cc=carenas@gmail.com \
    --cc=git@vger.kernel.org \
    /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 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).