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

[PATCH v3 2/4] ci: avoid brew for installing perforce

From
Carlo Marcelo Arenas Belón <carenas@gmail.com>
Date
Apr 23, 2022, 14:25 UTC
Message-ID
<20220423142559.32507-3-carenas@gmail.com>
In-Reply-To
<20220423142559.32507-1-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>
---
 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 41e9290fbdd..9da03350d09 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.0.266.g59f845bde02
Previous: Carlo Marcelo Arenas BelónNext: Eric Sunshine
Message 18 of 26 in “ci: make perforce installation optional in macOS”
  1. ci: make perforce installation optional in macOSCarlo Marcelo Arenas Belón, Apr 21, 2022
  2. Eric SunshineApr 21, 2022
  3. Eric SunshineApr 21, 2022
  4. 0/2 ci: avoid perforce/brew issues affecting macOSCarlo Marcelo Arenas Belón, Apr 22, 2022
  5. 1/2 ci: make failure to find perforce more user friendlyCarlo Marcelo Arenas Belón, Apr 22, 2022
  6. Junio C HamanoApr 22, 2022
  7. Junio C HamanoApr 22, 2022
  8. Carlo ArenasApr 22, 2022
  9. Junio C HamanoApr 22, 2022
  10. Carlo ArenasApr 23, 2022
  11. 2/2 ci: make perforce installation optional in macOSCarlo Marcelo Arenas Belón, Apr 22, 2022
  12. 0/4 ci: avoid perforce/brew issues affecting macOSCarlo Marcelo Arenas Belón, Apr 23, 2022
  13. 1/4 ci: make failure to find perforce more user friendlyCarlo Marcelo Arenas Belón, Apr 23, 2022
  14. Junio C HamanoApr 26, 2022
  15. 3/4 ci: reintroduce prevention from perforce being quarantined in macOSCarlo Marcelo Arenas Belón, Apr 23, 2022
  16. Eric SunshineApr 24, 2022
  17. 4/4 CI: use https, not http to download binaries from perforce.comCarlo Marcelo Arenas Belón, Apr 23, 2022
  18. 2/4 ci: avoid brew for installing perforceCarlo Marcelo Arenas Belón, Apr 23, 2022
  19. Eric SunshineApr 24, 2022
  20. Johannes SchindelinApr 26, 2022
  21. Carlo ArenasApr 26, 2022
  22. 0/4 ci: avoid perforce/brew issues affecting macOSJunio C Hamano, May 12, 2022
  23. 1/4 ci: make failure to find perforce more user friendlyJunio C Hamano, May 12, 2022
  24. 2/4 ci: avoid brew for installing perforceJunio C Hamano, May 12, 2022
  25. 3/4 ci: reintroduce prevention from perforce being quarantined in macOSJunio C Hamano, May 12, 2022
  26. 4/4 ci: use https, not http to download binaries from perforce.comJunio C Hamano, May 12, 2022

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.