Essayer de courir
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi
dans before_install
, Je me retrouve avec
/usr/local/Homebrew/Library/Homebrew/brew.rb:12:in \`<main>': Homebrew must be run under Ruby 2.3! (RuntimeError)
The command "if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi" failed and exited with 1 during .
Your build has been stopped.
/Users/travis/.travis/job_stages: line 166: Shell_session_update: command not found
Je suppose donc que le problème ici est que Ruby
est sur la version 2.0, ce que j'ai confirmé avec Ruby --version
. Le plus drôle, c'est que mes versions ont tout simplement cessé de fonctionner tout à coup, sans aucune modification de .travis.yml.
Alors, comment puis-je réellement changer les versions Ruby?
Pourrait être important de ne pas, qu'avant git clone
est exécuté, j'obtiens ceci:
$ rvm use
Warning! PATH is not properly set up, '/Users/travis/.rvm/gems/Ruby-2.0.0-p648/bin' is not at first place,
usually this is caused by Shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this Shell session run: 'rvm use Ruby-2.0.0-p648'.
Vos choix semblent être soit d'utiliser
brew update
brew install whatever
ou
HOMEBREW_NO_AUTO_UPDATE=1 brew install whatever
Le conseil dans documentation travis pour ne pas faire un brew update
si cela ne semble pas être nécessaire semble vous exposer à un risque de casse aléatoire lorsque l'infusion de Ruby est modifiée ...
Pour les projets .NET Core: vous pouvez éviter d'utiliser brew en n'utilisant pas le .NET Core par défaut de Travis mais en l'installant à l'aide du script sh .NET core de Microsoft. J'avais l'habitude d'avoir des définitions de versions mono
et dotnet
qui, selon moi, n'étaient pas nécessaires après le passage au script sh. J'ai pu réparer le Homebrew must be run under Ruby 2.3!
erreur en supprimant ces deux définitions (bien que j'ai ensuite dû mettre à jour libunwind8
sous Linux avant de faire l'installation du noyau .NET).
Voici le .travis.yaml complet pour exécuter le test de projet de base .NET sur osx et linux.
language: csharp
before_install:
- if [ "$OS" = "linux" ]; then Sudo apt-get install libunwind8; fi
script:
- wget https://dot.net/v1/dotnet-install.sh && chmod +x dotnet-install.sh
- ./dotnet-install.sh --version 1.1.4 --install-dir $HOME/.dotnet
- $HOME/.dotnet/dotnet restore
- $HOME/.dotnet/dotnet test YOUR_CSPROJ_FILE_PATH
matrix:
include:
- os: linux
dist: trusty
env: OS=linux
- os: osx
osx_image: xcode9
env: OS=osx
branches:
only:
- master
J'ai réussi à changer Ruby version pour Homebrew sous macOS, en créant un jeton d'accès personnel sur GitHub et en le définissant sur mon Mac comme:
https://github.com/settings/tokens/new?scopes=Gist,public_repo&description=Homebrew
Et puis définissez le jeton avec:
export HOMEBREW_GITHUB_API_TOKEN="your_new_token"
Si vous avez déjà cet ensemble de jetons, vous pouvez les effacer avec:
printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
fonctionnement brew update
avant brew install package_name