All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Derrick Stolee 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>
Subject: [PATCH v2 0/1] ci: update caskroom/cask/perforce to new location
Date: Thu, 17 Oct 2019 12:47:32 +0000	[thread overview]
Message-ID: <pull.400.v2.git.1571316454.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.400.git.1571160721.gitgitgadget@gmail.com>

Running CI on Mac OS X in Azure Pipelines is currently broken due to a moved
homebrew package.

Updates in V2: Johannes helped to make the step even more robust.

Thanks, -Stolee

Johannes Schindelin (1):
  ci(osx): use new location of the `perforce` cask

 ci/install-dependencies.sh | 5 +++++
 1 file changed, 5 insertions(+)


base-commit: 108b97dc372828f0e72e56bbb40cae8e1e83ece6
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-400%2Fderrickstolee%2Fci-caskroom-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-400/derrickstolee/ci-caskroom-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/400

Range-diff vs v1:

 1:  84830d89eb ! 1:  372ab24acf ci(osx): use new location of the `perforce` cask
     @@ -9,21 +9,27 @@
              + brew install caskroom/cask/perforce
              Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.
      
     -    Preface the "brew install caskroom/cask/perforce" with the old
     -    way of installing perforce, and only try this method if the
     -    "brew install perforce" fails.
     +    So let's try to call `brew cask install perforce` first (which is what
     +    that error message suggests, in a most round-about way).
      
     -    The existing way to use caskroom was added in 672f51cb (travis-ci:
     +    The "caskroom" way was added in 672f51cb (travis-ci:
          fix Perforce install on macOS, 2017-01-22) and the justification
     -    is that the "brew install perforce" can fail due to a hash
     -    mis-match. The mismatch is due to the official Perforce distro
     -    updating the published binaries without updating the version
     -    string. CI servers are typically fresh virtual machines, so that
     -    issue should not arise in automated builds.
     +    is that the call "brew cask install perforce" can fail due to a checksum
     +    mismatch: the recipe simply downloads the official Perforce distro, and
     +    whenever that is updated, the recipe needs to be updated, too.
      
     -    Even if a build server is re-used and hits the hash mis-match,
     -    it will fall back to the "new" mechanism which is currently
     -    failing, but may be fixed independently of this change.
     +    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.
      
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
          Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
     @@ -35,7 +41,11 @@
       	test -z "$BREW_INSTALL_PACKAGES" ||
       	brew install $BREW_INSTALL_PACKAGES
       	brew link --force gettext
     -+	brew cask install perforce ||
     ++	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

  parent reply	other threads:[~2019-10-17 12:47 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 ` Derrick Stolee via GitGitGadget [this message]
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     ` [PATCH v3 1/1] ci(osx): use new location of the `perforce` cask Johannes Schindelin via GitGitGadget
2019-10-23 10:05       ` 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

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

  git send-email \
    --in-reply-to=pull.400.v2.git.1571316454.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.