git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: Carlo Arenas <carenas@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org, gitster@pobox.com, avarab@gmail.com,
	sunshine@sunshineco.com
Subject: Re: [PATCH v3 2/4] ci: avoid brew for installing perforce
Date: Tue, 26 Apr 2022 10:07:18 -0700	[thread overview]
Message-ID: <CAPUEspgBNWPtiriYTVWdnJtdy6jZBBov3zTnwZZGA8gXwMiooA@mail.gmail.com> (raw)
In-Reply-To: <nycvar.QRO.7.76.6.2204261747530.355@tvgsbejvaqbjf.bet>

On Tue, Apr 26, 2022 at 8:55 AM Johannes Schindelin
<Johannes.Schindelin@gmx.de> wrote:
>
> On Sat, 23 Apr 2022, Carlo Marcelo Arenas Belón wrote:
>
> > 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" &&
>
> I vaguely recall that Gábor Szeder attempted something similar, but I
> _think_ that ultimately there were too many moving parts in that URL that
> we did not want to hardcode.

I can see that, and indeed that is also why those series still keep
perforce installation as optional so it wouldn't block CI when it does.

BTW most of the reasons why those values are hardcoded here
is just to avoid conflicts with on the fly changes, and making it smarter
and avoiding the hardcoding would be done as a prerequisite to making
it mandatory again (if that is what is preferred)

> While I don't think that we can solve this fully, I would prefer to keep
> the existing `brew install` calls but fall back to downloading from a
> hard-coded URL.

Considering that the expectation from brew maintainers (as documented[1])
is that those mismatches would happen and should be solved manually
and that perforce releases just do inplace binary pushes I still stand by my
suggestion to avoid brew, but it might be useful as a fallback of the wget
approach if that helps with your concerns above.

> For the record, the recent problems stem from the fact that the package
> was cached on GitHub's build agents (I guess to avoid many identical
> downloads), and the cached package did not match what was recorded in the
> updated package definition. Which means that those `brew` errors are only
> transient, until a new VM image is built that caches the then-current
> perforce package.

FWIW as I updated the brew cask[2], I realized that livecheck pointed to an even
newer release, so if we are adding brew back it might be worth adding
yet another
workaround to delete the cached file and try without a SHA as Ævar suggested.

Carlo

[1] https://docs.brew.sh/Common-Issues#cask---checksum-does-not-match
[2] https://github.com/Homebrew/homebrew-cask/pull/122347

  reply	other threads:[~2022-04-26 17:12 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 [this message]
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       ` [PATCH v4 2/4] ci: avoid brew for installing perforce Junio C Hamano
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=CAPUEspgBNWPtiriYTVWdnJtdy6jZBBov3zTnwZZGA8gXwMiooA@mail.gmail.com \
    --to=carenas@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sunshine@sunshineco.com \
    /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).