diff options
| author | nicole mazzuca <mazzucan@outlook.com> | 2021-04-29 07:39:04 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-29 07:39:04 -0700 |
| commit | e6cabdece52f3ffc21cf1101b2c72275cac9dbba (patch) | |
| tree | 757887f241188668314ec51f62bfb2de6b2419a2 /scripts/azure-pipelines/osx/configuration/Vagrantfile | |
| parent | 326eabc1917c45d24ee71044cf98b9d1b051cbc6 (diff) | |
| download | vcpkg-e6cabdece52f3ffc21cf1101b2c72275cac9dbba.tar.gz vcpkg-e6cabdece52f3ffc21cf1101b2c72275cac9dbba.zip | |
[ci] Update macOS to 11 (#17376)
* start 2021-04-16 process
Major new things:
* update to macOS Big Sur (11.*)
* switch from VirtualBox to Parallels due to ^ (and also ARM)
Minor new things:
* update from xcode CLT 12 to 12.4
This PR includes new stuff for creating the base box for parallels.
Still to do: using the new box type.
* update the vagrantfile stuff
* link the CI to the new version
* modify how macOS boxes are made
the Vagrantfile for the final VM will only download the azure pipeline stuff
this allows us to keep the versions of brew applications stable
* fix cpus and memory
* add vagrant plugins to installables
* Skip cppgraphqlgen ICE.
* [sdformat6] Remove unneeded include(FindBoost) which causes problems when the system cmake version doesn't match the one deployed by vcpkg.
* switch to dmg for installing osxfuse/sshfs
* Set cores to 11 (leaving 1 thread for host)
Co-authored-by: Billy Robert ONeal III <bion@microsoft.com>
Diffstat (limited to 'scripts/azure-pipelines/osx/configuration/Vagrantfile')
| -rw-r--r-- | scripts/azure-pipelines/osx/configuration/Vagrantfile | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/scripts/azure-pipelines/osx/configuration/Vagrantfile b/scripts/azure-pipelines/osx/configuration/Vagrantfile deleted file mode 100644 index 08c472fe6..000000000 --- a/scripts/azure-pipelines/osx/configuration/Vagrantfile +++ /dev/null @@ -1,118 +0,0 @@ -require 'json' - -require "erb" -include ERB::Util - -configuration = JSON.parse(File.read("#{__dir__}/vagrant-configuration.json")) - -server = { - :hostname => configuration['machine_name'], - :box => configuration['box_name'], - :box_version => configuration['box_version'], - :disk_size => configuration['disk_size'], - :ram => 12000, - :cpu => 5 -} - -brew_formulas = [ - 'autoconf', - 'automake', - 'bison', - 'gfortran', - 'gperf', - 'libtool', - 'meson', - 'mono', - 'nasm', - 'pkg-config', - 'yasm' ] - -brew_cask_formulas = [ - 'powershell' ] - -azure_agent_url = 'https://vstsagentpackage.azureedge.net/agent/2.179.0/vsts-agent-osx-x64-2.179.0.tar.gz' -devops_url = configuration['devops_url'] -agent_pool = configuration['agent_pool'] -pat = configuration['pat'] - -Vagrant.configure('2') do |config| - # give them extra time to boot up - config.vm.boot_timeout = 600 - - config.vm.box = server[:box] - config.vm.box_version = server[:box_version] - config.vm.hostname = server[:hostname] - config.vm.synced_folder '.', '/vagrant', disabled: true - - diskname = "#{server[: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 * server[:disk_size]} --variant Fixed" - end - - config.vm.provider 'virtualbox' do |vb| - vb.memory = server[:ram] - vb.cpus = server[:cpu] - vb.customize ['modifyvm', :id, '--ioapic', 'on'] - vb.customize ['storageattach', :id, - '--storagectl', 'SATA Controller', - '--port', '1', '--device', '0', '--type', 'hdd', - '--medium', "#{diskname}" - ] - end - - config.vm.provision 'shell', - run: 'once', - name: 'Format and mount the data filesystem', - inline: 'diskutil partitionDisk /dev/disk0 1 GPT jhfs+ data 0', - privileged: true - - config.vm.provision 'shell', - run: 'once', - name: 'Link the data filesystem to the home directory', - inline: "ln -s /Volumes/data ~/Data", - privileged: false - - config.vm.provision 'shell', - run: 'once', - name: 'Download azure agent', - inline: "curl -s -o ~/Downloads/azure-agent.tar.gz #{azure_agent_url}", - privileged: false - - config.vm.provision 'shell', - run: 'once', - name: 'Unpack azure agent', - inline: 'mkdir myagent; cd myagent; tar xf ~/Downloads/azure-agent.tar.gz', - privileged: false - - config.vm.provision 'shell', - run: 'once', - name: 'Install brew applications', - inline: "brew install #{brew_formulas.join(' ')} && brew install --cask #{brew_cask_formulas.join(' ')}", - privileged: false - - config.vm.provision 'shell', - run: 'once', - name: 'Add VM to azure agent pool', - inline: "cd ~/myagent;\ - ./config.sh --unattended \ - --url #{devops_url} \ - --work ~/Data/work \ - --auth pat --token #{pat} \ - --pool #{agent_pool} \ - --agent `hostname` \ - --replace \ - --acceptTeeEula", - privileged: false - - # Start listening for jobs - config.vm.provision 'shell', - run: 'always', - name: 'Start running azure pipelines', - inline: 'cd /Users/vagrant/myagent;\ - nohup ./run.sh&', - privileged: false -end |
