[macos ci] update to 2022-01-03 (#22314)

* [macos ci] update to 2022-01-03

* update the instructions

* forgot to update azure-pipelines-osx.yml

* install parallels in Install-Prerequisites.ps1

* oops

* fix ace, libsoundio, and libpqxx

* tensorflow doesn't yet support macOS 12
This commit is contained in:
nicole mazzuca 2022-01-10 16:08:51 -08:00 committed by GitHub
parent 964e75806b
commit 5edd518dc3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 274 additions and 244 deletions

View File

@ -0,0 +1,31 @@
--- /dev/null
+++ b/include/makeinclude/platform_macosx_monterey.GNU
@@ -0,0 +1,2 @@
+include $(ACE_ROOT)/include/makeinclude/platform_macosx_bigsur.GNU
+
--- a/include/makeinclude/platform_macosx.GNU
+++ b/include/makeinclude/platform_macosx.GNU
@@ -24,6 +24,9 @@
MACOS_CODENAME_VER_11_1 := bigsur
MACOS_CODENAME_VER_11_2 := bigsur
MACOS_CODENAME_VER_11_latest := bigsur
+MACOS_CODENAME_VER_12_0 := monterey
+MACOS_CODENAME_VER_12_1 := monterey
+MACOS_CODENAME_VER_12_latest := monterey
MACOS_CODENAME = $(MACOS_CODENAME_VER_$(MACOS_MAJOR_VERSION)_$(MACOS_MINOR_VERSION))
@@ -42,6 +45,12 @@ else ifeq ($(MACOS_MAJOR_VERSION), 11)
## just use the latest known version
MACOS_CODENAME = $(MACOS_CODENAME_VER_11_latest)
endif
+else ifeq ($(MACOS_MAJOR_VERSION),12)
+ ifeq ($(shell test $(MACOS_MINOR_VERSION) -gt 1; echo $$?),0)
+ ## if the detected version is greater than the latest know version,
+ ## just use the latest known version
+ MACOS_CODENAME = $(MACOS_CODENAME_VER_12_latest)
+ endif
else
## Unsupported major version
$(error Unsupported MacOS version $(MACOS_RELEASE_VERSION))

View File

@ -13,7 +13,6 @@ if("tao" IN_LIST FEATURES)
SHA512 3ea0cc7b35433d7c41f51137caacd394a976cf4d5c2972a35015901b3ba172bacff0216a3146bf632b929a63853b7123019382c22d14c6d64e43a71a61b88023 SHA512 3ea0cc7b35433d7c41f51137caacd394a976cf4d5c2972a35015901b3ba172bacff0216a3146bf632b929a63853b7123019382c22d14c6d64e43a71a61b88023
) )
else() else()
# VCPKG_TARGET_IS_LINUX
vcpkg_download_distfile(ARCHIVE vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE%2BTAO-src-${ACE_VERSION}.tar.gz" URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE%2BTAO-src-${ACE_VERSION}.tar.gz"
FILENAME ACE-TAO-${ACE_VERSION}.tar.gz FILENAME ACE-TAO-${ACE_VERSION}.tar.gz
@ -28,8 +27,7 @@ else()
FILENAME ACE-src-${ACE_VERSION}.zip FILENAME ACE-src-${ACE_VERSION}.zip
SHA512 73707c92a0533ab60f090cfb620d508755b8267e2b83fb52d9903c4d780d2e2b504545433fdbe34801d4895cf938ecc5a5f26c34528851080bcce07f5a501ac1 SHA512 73707c92a0533ab60f090cfb620d508755b8267e2b83fb52d9903c4d780d2e2b504545433fdbe34801d4895cf938ecc5a5f26c34528851080bcce07f5a501ac1
) )
else(VCPKG_TARGET_IS_WINDOWS) else()
# VCPKG_TARGET_IS_LINUX
vcpkg_download_distfile(ARCHIVE vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE-src-${ACE_VERSION}.tar.gz" URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE-src-${ACE_VERSION}.tar.gz"
FILENAME ACE-src-${ACE_VERSION}.tar.gz FILENAME ACE-src-${ACE_VERSION}.tar.gz
@ -41,6 +39,8 @@ endif()
vcpkg_extract_source_archive_ex( vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE} ARCHIVE ${ARCHIVE}
PATCHES
fix-macos-12.patch
) )
set(ACE_ROOT ${SOURCE_PATH}) set(ACE_ROOT ${SOURCE_PATH})

View File

@ -1,7 +1,7 @@
{ {
"name": "ace", "name": "ace",
"version": "7.0.5", "version": "7.0.5",
"port-version": 2, "port-version": 3,
"maintainers": "Johnny Willemsen <jwillemsen@remedy.nl>", "maintainers": "Johnny Willemsen <jwillemsen@remedy.nl>",
"description": "The ADAPTIVE Communication Environment", "description": "The ADAPTIVE Communication Environment",
"homepage": "https://www.dre.vanderbilt.edu/~schmidt/ACE.html", "homepage": "https://www.dre.vanderbilt.edu/~schmidt/ACE.html",

View File

@ -0,0 +1,15 @@
# apple clang 13 has a bug where [[likely]] or [[unlikely]] returns
# don't count for checking that a constexpr function has a return,
# so at least one return must be unmarked
--- a/src/robusttransaction.cxx
+++ b/src/robusttransaction.cxx
@@ -62,9 +62,8 @@ constexpr tx_stat parse_status(std::string_view text) noexcept
case 'i':
if (text == in_progress)
PQXX_LIKELY return tx_in_progress;
break;
}
- PQXX_UNLIKELY
return tx_unknown;
}

View File

@ -6,6 +6,7 @@ vcpkg_from_github(
HEAD_REF master HEAD_REF master
PATCHES PATCHES
fix_build_with_vs2017.patch fix_build_with_vs2017.patch
fix_build_with_apple_clang_13.patch
) )
file(COPY "${CMAKE_CURRENT_LIST_DIR}/config-public-compiler.h.in" DESTINATION "${SOURCE_PATH}") file(COPY "${CMAKE_CURRENT_LIST_DIR}/config-public-compiler.h.in" DESTINATION "${SOURCE_PATH}")

View File

@ -1,7 +1,7 @@
{ {
"name": "libpqxx", "name": "libpqxx",
"version-semver": "7.6.0", "version-semver": "7.6.0",
"port-version": 2, "port-version": 3,
"description": "The official C++ client API for PostgreSQL", "description": "The official C++ client API for PostgreSQL",
"homepage": "https://www.postgresql.org/", "homepage": "https://www.postgresql.org/",
"dependencies": [ "dependencies": [

View File

@ -19,7 +19,16 @@ index 6541f1b..e81bdce 100644
endif() endif()
if(BUILD_STATIC_LIBS) if(BUILD_STATIC_LIBS)
@@ -243,9 +245,26 @@ if(BUILD_STATIC_LIBS) @@ -204,8 +206,7 @@ if(MSVC)
set(EXAMPLE_CFLAGS "/W4")
set(TEST_CFLAGS "${LIB_CFLAGS}")
set(TEST_LDFLAGS " ")
set(LIBM " ")
else()
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror -pedantic")
set(LIB_CFLAGS "-std=c11 -fvisibility=hidden -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L -Wno-missing-braces")
set(EXAMPLE_CFLAGS "-std=c99 -Wall")
@@ -243,9 +244,26 @@ if(BUILD_STATIC_LIBS)
COMPILE_FLAGS ${LIB_CFLAGS} COMPILE_FLAGS ${LIB_CFLAGS}
LINKER_LANGUAGE C LINKER_LANGUAGE C
) )

View File

@ -1,7 +1,7 @@
{ {
"name": "libsoundio", "name": "libsoundio",
"version": "2.0.0", "version": "2.0.0",
"port-version": 4, "port-version": 5,
"description": "libsoundio is C library providing cross-platform audio input and output.", "description": "libsoundio is C library providing cross-platform audio input and output.",
"homepage": "http://libsound.io/", "homepage": "http://libsound.io/",
"supports": "!uwp", "supports": "!uwp",

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
variables: variables:
osx-pool: 'PrOsx-2021-07-27' osx-pool: 'PrOsx-2022-01-03'
jobs: jobs:
- template: osx/azure-pipelines.yml - template: osx/azure-pipelines.yml

View File

@ -4,7 +4,7 @@
variables: variables:
windows-pool: 'PrWin-2021-12-14' windows-pool: 'PrWin-2021-12-14'
linux-pool: 'PrLin-2021-12-13' linux-pool: 'PrLin-2021-12-13'
osx-pool: 'PrOsx-2021-07-27' osx-pool: 'PrOsx-2022-01-03'
jobs: jobs:
- template: windows/azure-pipelines.yml - template: windows/azure-pipelines.yml

View File

@ -1,68 +0,0 @@
#!pwsh
#Requires -Version 6.0
<#
.SYNOPSIS
Installs the base box at the specified version from the share.
.PARAMETER FileshareMachine
The machine which is acting as a fileshare
.PARAMETER BoxVersion
The version of the box to add. Defaults to latest if nothing is passed.
#>
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True)]
[String]$FileshareMachine,
[Parameter()]
[String]$BoxVersion
)
Set-StrictMode -Version 2
if (-not $IsMacOS) {
throw 'This script should only be run on a macOS host'
}
$mountPoint = '/Users/vcpkg/vagrant/share'
if (mount | grep "on $mountPoint (") {
umount $mountPoint
if (-not $?) {
Write-Error "umount $mountPoint failed with return code $LASTEXITCODE."
throw
}
}
sshfs "fileshare@${FileshareMachine}:/Users/fileshare/share" $mountPoint
if ($LASTEXITCODE -eq 1) {
Write-Error 'sshfs returned 1.
This means that the osxfuse kernel extension was not allowed to load.
You may need to force un/reinstall osxfuse and/or sshfs with
brew uninstall osxfuse
brew uninstall sshfs
brew install osxfuse
brew install sshfs
Then, rerun this script.
If you''ve already done that, Please open
System Preferences > Security & Privacy > General,
and allow the kernel extension to load.
Then, rerun this script.
If you''ve already done this, you probably need to add your ssh keys to the fileshare machine.'
throw
} elseif (-not $?) {
Write-Error "sshfs failed with return code $LASTEXITCODE."
throw
}
if (-not [String]::IsNullOrEmpty($BoxVersion)) {
$versionArgs = @("--box-version", $BoxVersion)
} else {
$versionArgs = @()
}
vagrant box add "$mountPoint/vcpkg-boxes/macos-ci.json" @versionArgs

View File

@ -65,8 +65,19 @@ Installing anyways."
Get-RemoteFile -OutFile $pathToDmg -Uri $_.DmgUrl -Sha256 $_.Sha256 Get-RemoteFile -OutFile $pathToDmg -Uri $_.DmgUrl -Sha256 $_.Sha256
hdiutil attach $pathToDmg -mountpoint /Volumes/setup-installer hdiutil attach $pathToDmg -mountpoint /Volumes/setup-installer
sudo installer -pkg "/Volumes/setup-installer/$($_.InstallerPath)" -target /
hdiutil detach /Volumes/setup-installer if ($null -ne (Get-Member -InputObject $_ -Name 'InstallationCommands')) {
$_.InstallationCommands | % {
Write-Host "> $($_ -join ' ')"
& $_[0] $_[1..$_.Length] | Write-Host
}
} elseif ($null -ne (Get-Member -InputObject $_ -Name 'InstallerPath')) {
sudo installer -pkg "/Volumes/setup-installer/$($_.InstallerPath)" -target /
hdiutil detach /Volumes/setup-installer
} else {
Write-Error "$($_.Name) installer object has a DmgUrl, but neither an InstallerPath nor an InstallationCommands"
throw
}
} elseif ($null -ne (Get-Member -InputObject $_ -Name 'PkgUrl')) { } elseif ($null -ne (Get-Member -InputObject $_ -Name 'PkgUrl')) {
$pathToPkg = "~/Downloads/$($_.Name).pkg" $pathToPkg = "~/Downloads/$($_.Name).pkg"
Get-RemoteFile -OutFile $pathToPkg -Uri $_.PkgUrl -Sha256 $_.Sha256 Get-RemoteFile -OutFile $pathToPkg -Uri $_.PkgUrl -Sha256 $_.Sha256
@ -78,21 +89,6 @@ Installing anyways."
} }
} }
$Installables.Brew | ForEach-Object {
$installable = $_
if ($null -eq (Get-Member -InputObject $installable -Name 'Kind')) {
brew install $installable.Name
} else {
switch ($installable.Kind) {
'cask' { brew install --cask $installable.Name }
default {
Write-Error "Invalid kind: $_. Expected either empty, or 'cask'."
}
}
}
}
brew upgrade
$installedVagrantPlugins = @{} $installedVagrantPlugins = @{}
vagrant plugin list --machine-readable | ForEach-Object { vagrant plugin list --machine-readable | ForEach-Object {
$timestamp, $target, $type, $data = $_ -split ',' $timestamp, $target, $type, $data = $_ -split ','

View File

@ -5,102 +5,30 @@
- [`vcpkg-eg-mac` VMs](#vcpkg-eg-mac-vms) - [`vcpkg-eg-mac` VMs](#vcpkg-eg-mac-vms)
- [Table of Contents](#table-of-contents) - [Table of Contents](#table-of-contents)
- [Basic Usage](#basic-usage) - [Basic Usage](#basic-usage)
- [Creating a new Vagrant box](#creating-a-new-vagrant-box)
- [VM Software Versions](#vm-software-versions)
- [Creating a New Azure Agent Pool](#creating-a-new-azure-agent-pool)
- [Running the VM](#running-the-vm)
- [Getting an Azure Pipelines PAT](#getting-an-azure-pipelines-pat)
- [Setting up a new macOS machine](#setting-up-a-new-macos-machine) - [Setting up a new macOS machine](#setting-up-a-new-macos-machine)
- [Troubleshooting](#troubleshooting) - [Troubleshooting](#troubleshooting)
- [Creating a new Vagrant box](#creating-a-new-vagrant-box) - [(Internal) Accessing the macOS fileshare](#internal-accessing-the-macos-fileshare)
- [VM Software Versions](#vm-software-versions)
- [(Internal) Accessing the macOS fileshare](#internal-accessing-the-macos-fileshare)
## Basic Usage ## Basic Usage
The simplest usage, and one which should be used for when spinning up The most common operation here is to set up a new VM for Azure
new VMs, and when restarting old ones, is a simple: pipelines; we try to make that operation as easy as possible.
It should take all of three steps, assuming the machine is
already set up (or read [these instructions] for how to set up a machine):
``` 1. [Create a new vagrant box](#creating-a-new-vagrant-box)
$ cd ~/vagrant/vcpkg-eg-mac 2. [Create a new agent pool](#creating-a-new-azure-agent-pool)
$ vagrant up 3. [Setup and run the vagrant VM](#running-the-vm)
``` 4. Update `azure-pipelines.yml` and `azure-pipelines-osx.yml` to point to the new macOS pool.
Any modifications to the machines should be made in `configuration/Vagrantfile` [these instructions]: #setting-up-a-new-macos-machine
and `Setup-VagrantMachines.ps1`, and make sure to push any changes!
## Setting up a new macOS machine ### Creating a new Vagrant box
Before anything else, one must download `brew` and `powershell`.
```sh
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ brew cask install powershell
```
Then, we need to download the `vcpkg` repository:
```sh
$ git clone https://github.com/microsoft/vcpkg
```
Then, we need to mint an SSH key:
```sh
$ ssh-keygen
$ cat .ssh/id_rsa.pub
```
Add that SSH key to `authorized_keys` on the file share machine with the base box.
Next, install prerequisites and grab the current base box with:
```sh
$ cd vcpkg/scripts/azure-pipelines/osx
$ ./Install-Prerequisites.ps1 -Force
$ ./Get-InternalBaseBox.ps1 -FileshareMachine vcpkgmm-01.guest.corp.microsoft.com -BoxVersion 2020-09-28
```
... where -BoxVersion is the version you want to use.
Getting the base box will fail due to missing kernel modules for osxfuse, sshfs, and/or VirtualBox.
Log in to the machine, open System Preferences > Security & Privacy > General, and allow the kernel
extensions for VirtualBox and sshfs to load. Then, again:
```sh
$ ./Get-InternalBaseBox.ps1 -FileshareMachine vcpkgmm-01.guest.corp.microsoft.com -BoxVersion 2020-09-28
```
Replace `XX` with the number of
the virtual machine. Generally, that should be the same as the number
for the physical machine; i.e., vcpkgmm-04 would use 04.
```sh
# NOTE: you may get an error about CoreCLR; see the following paragraph if you do
$ ./Setup-VagrantMachines.ps1 \
-MachineId XX \
-DevopsPat '<get this from azure devops; it needs agent pool read and manage access>' \
-Date <this is the date of the pool; 2021-04-16 at time of writing>
$ cd ~/vagrant/vcpkg-eg-mac
$ vagrant up
```
If you see the following error:
```
Failed to initialize CoreCLR, HRESULT: 0x8007001F
```
You have to reboot the machine; run
```sh
$ sudo shutdown -r now
```
and wait for the machine to start back up. Then, start again from where the error was emitted.
### Troubleshooting
The following are issues that we've run into:
- (with a Parallels box) `vagrant up` doesn't work, and vagrant gives the error that the VM is `'stopped'`.
- Try logging into the GUI with the KVM, and retrying `vagrant up`.
## Creating a new Vagrant box
Whenever we want to install updated versions of the command line tools, Whenever we want to install updated versions of the command line tools,
or of macOS, we need to create a new vagrant box. or of macOS, we need to create a new vagrant box.
@ -111,15 +39,17 @@ you can set up your own vagrant boxes that are the same as ours by doing the fol
You'll need some prerequisites: You'll need some prerequisites:
- vagrant - found at <https://www.vagrantup.com/>
- The vagrant-parallels plugin - `vagrant plugin install vagrant-parallels`
- Parallels - found at <https://parallels.com>
- An Xcode installer - you can get this from Apple's developer website, - An Xcode installer - you can get this from Apple's developer website,
although you'll need to sign in first: <https://developer.apple.com/downloads> although you'll need to sign in first: <https://developer.apple.com/downloads>
- The software installed by `Install-Prerequisites.ps1`
If you're updating the CI pool, make sure you update macOS.
First, you'll need to create a base VM; First, you'll need to create a base VM;
this is where you determine what version of macOS is installed. this is where you determine what version of macOS is installed.
Just follow the Parallels process for creating a macOS VM. Follow the Parallels process for creating a macOS VM; this involves
updating to whatever version, and then scrolling right until you find
"Install macOS from recovery partition".
Once you've done this, you can run through the installation of macOS onto a new VM. Once you've done this, you can run through the installation of macOS onto a new VM.
You should set the username to `vagrant`. You should set the username to `vagrant`.
@ -191,39 +121,141 @@ Once you've done that, add the software versions under [VM Software Versions](#v
[base-box-instructions]: https://parallels.github.io/vagrant-parallels/docs/boxes/base.html [base-box-instructions]: https://parallels.github.io/vagrant-parallels/docs/boxes/base.html
### VM Software Versions #### VM Software Versions
* 2020-09-28: * 2022-03-01:
* macOS: 10.15.6 * macOS: 12.1
* Xcode CLTs: 12 * Xcode CLTs: 13.2
* 2021-04-16:
* macOS: 11.2.3
* Xcode CLTs: 12.4
* 2021-07-27: * 2021-07-27:
* macOS: 11.5.1 * macOS: 11.5.1
* Xcode CLTs: 12.5.1 * Xcode CLTs: 12.5.1
* 2021-04-16:
* macOS: 11.2.3
* Xcode CLTs: 12.4
* 2020-09-28:
* macOS: 10.15.6
* Xcode CLTs: 12
### (Internal) Accessing the macOS fileshare ### Creating a New Azure Agent Pool
When updating the macOS machines to a new version, you'll need to create
a new agent pool for the machines to join. The standard for this is to
name it `PrOsx-YYYY-MM-DD`, with `YYYY-MM-DD` the day that the process
is started.
In order to create a new agent pool, go to the `vcpkg/public` project;
go to `Project settings`, then go to `Agent pools` under `Pipelines`.
Add a new self-hosted pool, name it as above, and make certain to check
the box for "Grant access permission to all pipelines".
Once you've done this, you are done; you can start adding new machines
to the pool!
### Running the VM
Before anything else, you'll probably want to destroy any old VMs,
and remove any old vagrant boxes:
```ps1
$ cd ~/vagrant/vcpkg-eg-mac
$ vagrant destroy -f
$ cd ~
$ rm -rf ~/vagrant/vcpkg-eg-mac
```
Then, make sure that your software is up to date:
```sh
$ ./Install-Prerequisites.ps1
```
as well as checking to make sure macOS is up to date.
Then, follow the instructions for [accessing the fileshare][access-fileshare].
And finally, [grab a PAT], add the vagrant box, set up the VM, and run it:
```sh
$ vagrant box add ~/vagrant/share/boxes/macos-ci.json
$ ./Setup-VagrantMachines.ps1 -Date <YYYY-MM-DD> -Pat <PAT>
$ cd ~/vagrant/vcpkg-eg-mac
$ vagrant up
```
[grab a PAT]: #getting-an-azure-pipelines-pat
## Getting an Azure Pipelines PAT
Personal Access Tokens are an important part of this process,
and they are fairly easy to generate.
On ADO, under the correct project (in vcpkg's case, "vcpkg"),
click on the "User Settings" icon, then go to "Personal access tokens".
It is the icon to the left of your user icon, in the top right corner.
Then, create a new token, give it a name, make sure it expires quickly,
and give it a custom defined scope that includes the
"Agent pools: Read & manage" permission (you'll need to "Show all scopes"
to access this).
You can now copy this token and use it to allow machines to join.
## Setting up a new macOS machine
Before anything else, one must download `brew` and `powershell`.
```sh
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ brew cask install powershell
```
Then, we need to download the `vcpkg` repository:
```sh
$ git clone https://github.com/microsoft/vcpkg
```
Then, we need to mint an SSH key:
```sh
$ ssh-keygen
$ cat .ssh/id_rsa.pub
```
Add that SSH key to `authorized_keys` on the file share machine with the base box.
Next, install prerequisites:
```sh
$ cd vcpkg/scripts/azure-pipelines/osx
$ ./Install-Prerequisites.ps1 -Force
```
And finally, make sure you can [access the fileshare][access-fileshare].
## Troubleshooting
The following are issues that we've run into:
- (with a Parallels box) `vagrant up` doesn't work, and vagrant gives the error that the VM is `'stopped'`.
- Try logging into the GUI with the KVM, and retrying `vagrant up`.
- (when running a powershell script) The error `Failed to initialize CoreCLR, HRESULT: 0x8007001F` is printed.
- Reboot the machine; run
```sh
$ sudo shutdown -r now
```
and wait for the machine to start back up. Then, start again from where the error was emitted.
## (Internal) Accessing the macOS fileshare
The fileshare is located on `vcpkgmm-01`, under the `fileshare` user, in the `share` directory. The fileshare is located on `vcpkgmm-01`, under the `fileshare` user, in the `share` directory.
In order to get `sshfs` working on the physical machine, In order to get `sshfs` working on the physical machine,
You can run `Install-Prerequisites.ps1` to grab the right software, then either: You can run `Install-Prerequisites.ps1` to grab the right software, then either:
```sh ```sh
$ mkdir vagrant/share $ mkdir -p vagrant/share
$ sshfs fileshare@<vcpkgmm-01 URN>:/Users/fileshare/share vagrant/share $ sshfs fileshare@vcpkgmm-01:share vagrant/share
``` ```
or you can just run
```sh
$ ./Get-InternalBaseBox.ps1
```
which will do the thing automatically.
If you get an error, that means that gatekeeper has prevented the kernel extension from loading, If you get an error, that means that gatekeeper has prevented the kernel extension from loading,
so you'll need to access the GUI of the machine, go to System Preferences, so you'll need to access the GUI of the machine, go to System Preferences,
Security & Privacy, General, unlock the settings, Security & Privacy, General, unlock the settings,
and allow system extensions from the osxfuse developer to run. and allow system extensions from the osxfuse developer to run.
Then, you'll be able to add the fileshare as an sshfs. Then, you'll be able to add the fileshare as an sshfs.
[access-fileshare]: #internal-accessing-the-macos-fileshare

View File

@ -92,14 +92,16 @@ if ([String]::IsNullOrEmpty($MachineId)) {
} }
if (Test-Path '~/vagrant/vcpkg-eg-mac') { if (Test-Path '~/vagrant/vcpkg-eg-mac') {
Write-Host 'Deleting existing directories'
Push-Location '~/vagrant/vcpkg-eg-mac' Push-Location '~/vagrant/vcpkg-eg-mac'
try { vagrant destroy -f
Write-Host 'Deleting existing directories' if (-not $?) {
vagrant destroy -f throw "Failed to destroy vagrant VM."
Remove-Item -Recurse -Force -LiteralPath '~/vagrant/vcpkg-eg-mac' | Out-Null
} finally {
Pop-Location
} }
Pop-Location
Remove-Item -Recurse -Force -LiteralPath '~/vagrant/vcpkg-eg-mac' | Out-Null
} }
Write-Host 'Creating new directories' Write-Host 'Creating new directories'

View File

@ -3,14 +3,14 @@ require 'json'
configuration = JSON.parse(File.read("#{__dir__}/vagrant-configuration.json")) configuration = JSON.parse(File.read("#{__dir__}/vagrant-configuration.json"))
server = { server = {
:hostname => configuration['machine_name'], :machine_name => configuration['machine_name'],
:box => configuration['box_name'], :box => configuration['box_name'],
:box_version => configuration['box_version'], :box_version => configuration['box_version'],
:ram => 12000, :ram => 12000,
:cpu => 11 :cpu => 11
} }
azure_agent_url = 'https://vstsagentpackage.azureedge.net/agent/2.185.1/vsts-agent-osx-x64-2.185.1.tar.gz' azure_agent_url = 'https://vstsagentpackage.azureedge.net/agent/2.195.2/vsts-agent-osx-x64-2.195.2.tar.gz'
devops_url = configuration['devops_url'] devops_url = configuration['devops_url']
agent_pool = configuration['agent_pool'] agent_pool = configuration['agent_pool']
pat = configuration['pat'] pat = configuration['pat']
@ -18,7 +18,6 @@ pat = configuration['pat']
Vagrant.configure('2') do |config| Vagrant.configure('2') do |config|
config.vm.box = server[:box] config.vm.box = server[:box]
config.vm.box_version = server[:box_version] config.vm.box_version = server[:box_version]
config.vm.hostname = server[:hostname]
config.vm.synced_folder '.', '/vagrant', disabled: true config.vm.synced_folder '.', '/vagrant', disabled: true
config.vm.provider 'parallels' do |prl| config.vm.provider 'parallels' do |prl|
@ -53,7 +52,7 @@ Vagrant.configure('2') do |config|
--work ~/Data/work \ --work ~/Data/work \
--auth pat --token #{pat} \ --auth pat --token #{pat} \
--pool #{agent_pool} \ --pool #{agent_pool} \
--agent `hostname` \ --agent #{server[:machine_name]} \
--replace \ --replace \
--acceptTeeEula", --acceptTeeEula",
privileged: false privileged: false

View File

@ -6,18 +6,33 @@
"Name": "vagrant", "Name": "vagrant",
"VersionCommand": [ "vagrant", "-v" ], "VersionCommand": [ "vagrant", "-v" ],
"VersionRegex": "Vagrant (.*)", "VersionRegex": "Vagrant (.*)",
"Version": "2.2.18", "Version": "2.2.19",
"DmgUrl": "https://releases.hashicorp.com/vagrant/2.2.18/vagrant_2.2.18_x86_64.dmg", "DmgUrl": "https://releases.hashicorp.com/vagrant/2.2.19/vagrant_2.2.19_x86_64.dmg",
"Sha256": "B4E8103AABDF29F18F592CD6DE4FA03BF182FBC192A0757B5E18156CB18FA672", "Sha256": "6307BE217813A11C9E106448BF232803031E434A08C8B2DF8C62FDC9E8543845",
"InstallerPath": "vagrant.pkg" "InstallerPath": "vagrant.pkg"
}, },
{
"Name": "Parallels",
"VersionCommand": [ "cat", "/Applications/Parallels Desktop.app/Contents/Info.plist" ],
"VersionRegex": "<key>CFBundleShortVersionString</key>[\\n\\t ]*<string>([0-9.]+)</string>",
"Version": "17.1.1",
"DmgUrl": "https://download.parallels.com/desktop/v17/17.1.1-51537/ParallelsDesktop-17.1.1-51537.dmg",
"Sha256": "BD7BE2DF4D1B3508C127CF1D9C1EF93CDDA63384BCF3893A77FBC9F1169765A9",
"InstallationCommands": [
[ "bash", "-c", "ps x | grep 'Parallels Desktop' | grep -v 'grep' | sed -E 's/^ *([0-9]+).*(\\/Applications.*)$/\\1: \\2/'" ],
[ "bash", "-c", "ps x | grep 'Parallels Desktop' | grep -v 'grep' | sed -E 's/^ *([0-9]+).*$/\\1/' | xargs -p kill" ],
[ "sudo", "rm", "-rf", "/Applications/Parallels Desktop.app" ],
[ "sudo", "cp", "-r", "/Volumes/setup-installer/Parallels Desktop.app", "/Applications" ],
[ "sudo", "/Applications/Parallels Desktop.app/Contents/MacOS/inittool2", "init", "-b", "/Applications/Parallels Desktop.app" ]
]
},
{ {
"Name": "osxfuse", "Name": "osxfuse",
"VersionCommand": [ "cat", "/Library/Filesystems/macfuse.fs/Contents/version.plist" ], "VersionCommand": [ "cat", "/Library/Filesystems/macfuse.fs/Contents/version.plist" ],
"VersionRegex": "<key>CFBundleVersion</key>[\\n\\t ]*<string>([0-9.]+)</string>", "VersionRegex": "<key>CFBundleVersion</key>[\\n\\t ]*<string>([0-9.]+)</string>",
"Version": "4.1.2", "Version": "4.2.4",
"DmgUrl": "https://github.com/osxfuse/osxfuse/releases/download/macfuse-4.1.2/macfuse-4.1.2.dmg", "DmgUrl": "https://github.com/osxfuse/osxfuse/releases/download/macfuse-4.2.4/macfuse-4.2.4.dmg",
"Sha256": "9FF344DE38BAD5AC5ECA5194DA00A2BA35DD6AFDB9039133B5446168F8EDAFDB", "Sha256": "82A2C30B3A7BF56AA2755C0C192FB50D9EECC3FE42505AB4E8679B50306188BD",
"InstallerPath": "Install macFUSE.pkg" "InstallerPath": "Install macFUSE.pkg"
}, },
{ {
@ -29,12 +44,10 @@
"Sha256": "F8F4F71814273EA42DBE6CD92199F7CFF418571FFD1B10C0608878D3472D2162" "Sha256": "F8F4F71814273EA42DBE6CD92199F7CFF418571FFD1B10C0608878D3472D2162"
} }
], ],
"Brew": [
],
"VagrantPlugins": [ "VagrantPlugins": [
{ {
"Name": "vagrant-parallels", "Name": "vagrant-parallels",
"Version": "2.2.3" "Version": "2.2.4"
} }
] ]
} }

View File

@ -9,7 +9,6 @@
}, },
"required": [ "required": [
"Applications", "Applications",
"Brew",
"VagrantPlugins" "VagrantPlugins"
], ],
"properties": { "properties": {
@ -48,22 +47,6 @@
} }
} }
}, },
"Brew": {
"type": "array",
"items": {
"type": "object",
"required": [ "Name" ],
"properties": {
"Name": {
"type": "string"
},
"Kind": {
"type": "string",
"enum": [ "cask" ]
}
}
}
},
"VagrantPlugins": { "VagrantPlugins": {
"type": "array", "type": "array",
"items": { "items": {

View File

@ -1436,6 +1436,8 @@ tcl:arm64-windows=fail
tcl:x64-uwp=fail tcl:x64-uwp=fail
telnetpp:arm-uwp=fail telnetpp:arm-uwp=fail
telnetpp:x64-uwp=fail telnetpp:x64-uwp=fail
tensorflow:x64-osx=fail
tensorflow-cc:x64-osx=fail
theia:arm64-windows = skip theia:arm64-windows = skip
theia:arm-uwp = skip theia:arm-uwp = skip
theia:x64-uwp = skip theia:x64-uwp = skip

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "2fdbe23020728d91dbae5249ed04b42b4b882a87",
"version": "7.0.5",
"port-version": 3
},
{ {
"git-tree": "1801922b3e4808edcd0b55b6a800bbb1c01687a6", "git-tree": "1801922b3e4808edcd0b55b6a800bbb1c01687a6",
"version": "7.0.5", "version": "7.0.5",

View File

@ -18,7 +18,7 @@
}, },
"ace": { "ace": {
"baseline": "7.0.5", "baseline": "7.0.5",
"port-version": 2 "port-version": 3
}, },
"activemq-cpp": { "activemq-cpp": {
"baseline": "3.9.5", "baseline": "3.9.5",
@ -3810,7 +3810,7 @@
}, },
"libpqxx": { "libpqxx": {
"baseline": "7.6.0", "baseline": "7.6.0",
"port-version": 2 "port-version": 3
}, },
"libprotobuf-mutator": { "libprotobuf-mutator": {
"baseline": "1.0", "baseline": "1.0",
@ -3918,7 +3918,7 @@
}, },
"libsoundio": { "libsoundio": {
"baseline": "2.0.0", "baseline": "2.0.0",
"port-version": 4 "port-version": 5
}, },
"libspatialindex": { "libspatialindex": {
"baseline": "1.9.3", "baseline": "1.9.3",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "6dd0107ca668c589cf18a57a884dd3ef276730cf",
"version-semver": "7.6.0",
"port-version": 3
},
{ {
"git-tree": "5c4df2807e229629d04aecc0a66f11219d4dcbcd", "git-tree": "5c4df2807e229629d04aecc0a66f11219d4dcbcd",
"version-semver": "7.6.0", "version-semver": "7.6.0",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "ea8a154b722a142045906b20d2df00a38d330d6b",
"version": "2.0.0",
"port-version": 5
},
{ {
"git-tree": "96de946826ca6aafdc9409f9d75f02a6d082cffb", "git-tree": "96de946826ca6aafdc9409f9d75f02a6d082cffb",
"version": "2.0.0", "version": "2.0.0",