Skip to content

Commit

Permalink
[vcpkg-ci] fix macos setup scripts (microsoft#12639)
Browse files Browse the repository at this point in the history
* [vcpkg-ci] fix macos setup scripts

* the disk feature is still experimental

* fix Get-InstalledVirtualBoxExtensionPacks

* use new bash install script for brew

instead of old-style ruby
  • Loading branch information
strega-nil authored and hellozee committed Sep 11, 2020
1 parent e8e0bf2 commit d374753
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 9 deletions.
2 changes: 1 addition & 1 deletion scripts/azure-pipelines/osx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ and `Setup-VagrantMachines.ps1`, and make sure to push any changes!
Before anything else, one must download `brew` and `powershell`.

```sh
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ brew cask install powershell
```

Expand Down
4 changes: 2 additions & 2 deletions scripts/azure-pipelines/osx/Setup-VagrantMachines.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The username for the archives share.
.PARAMETER ArchivesAccessKey
The access key for the archives share.
.PARAMETER ArchivesUri
.PARAMETER ArchivesUrn
The URN of the archives share; looks like `foo.windows.core.net`.
.PARAMETER ArchivesShare
Expand Down Expand Up @@ -105,7 +105,7 @@ $configuration = @{
archives = @{
username = $ArchivesUsername;
access_key = $ArchivesAccessKey;
url = $ArchivesUri;
urn = $ArchivesUrn;
share = $ArchivesShare;
};
}
Expand Down
3 changes: 2 additions & 1 deletion scripts/azure-pipelines/osx/Utilities.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function Get-CommandExists
[String]$Name
)

$null -ne (Get-Command -Name $Command -ErrorAction SilentlyContinue)
$null -ne (Get-Command -Name $Name -ErrorAction SilentlyContinue)
}

<#
Expand Down Expand Up @@ -124,6 +124,7 @@ function Get-InstalledVirtualBoxExtensionPacks
$currentString = ""

$lines | ForEach-Object {
$Line = $_
if ($Line[0] -eq ' ') {
$currentString += "`n$($Line.Trim())"
} else {
Expand Down
24 changes: 21 additions & 3 deletions scripts/azure-pipelines/osx/configuration/VagrantFile
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ devops_url = 'https://dev.azure.com/vcpkg'
agent_pool = 'vcpkgAgentPool'
pat = configuration['pat']
archives = configuration['archives']
archives_url = "//#{archives['username']}:#{url_encode(archives['access_key'])}@#{archives['url']}/#{archives['share']}"
archives_url = "//#{archives['username']}:#{url_encode(archives['access_key'])}@#{archives['urn']}/#{archives['share']}"

Vagrant.configure('2') do |config|
# give them extra time to boot up
Expand All @@ -42,7 +42,25 @@ Vagrant.configure('2') do |config|
node.vm.hostname = machine[:hostname]
node.vm.synced_folder '.', '/vagrant', disabled: true

node.vm.disk :disk, name: "#{machine[:hostname]}-data", size: "#{config['disk_size']}GB"
diskname = "#{machine[:hostname]}-data.vmdk"

# I don't like this, but as far as I can tell, it's the only way
# to do this. When vagrant finishes the `disk` feature, switch
# over to that -- Nicole Mazzuca
if (not File.exists? diskname) then
system "VBoxManage createmedium --filename #{diskname} --size #{1024 * 220}"
end

node.vm.provider 'virtualbox' do |vb|
vb.memory = machine[:ram]
vb.cpus = machine[:cpu]
vb.customize ['modifyvm', :id, '--ioapic', 'on']
vb.customize ['storageattach', :id,
'--storagectl', 'SATA Controller',
'--port', '1', '--device', '0', '--type', 'hdd',
'--medium', "#{diskname}"
]
end

node.vm.provision 'shell',
run: 'once',
Expand Down Expand Up @@ -71,7 +89,7 @@ Vagrant.configure('2') do |config|
node.vm.provision 'shell',
run: 'once',
name: 'Install brew and xcode command line tools',
inline: '/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"',
inline: '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"',
privileged: false

node.vm.provision 'shell',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@
"required": [
"username",
"access_key",
"url",
"urn",
"share"
],
"properties": {
"username": { "type": "string" },
"access_key": { "type": "string" },
"url": { "type": "string" },
"urn": { "type": "string" },
"share": { "type": "string" }
}
}
Expand Down

0 comments on commit d374753

Please sign in to comment.