aboutsummaryrefslogtreecommitdiff
path: root/scripts/azure-pipelines/osx/azure-pipelines.yml
blob: 6e48238a7e2a7b402b03e035247e5874e48bb9a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: MIT
#

jobs:
- job: x64_osx
  pool:
    name: vcpkgAgentPool
    demands: Agent.OS -equals Darwin
  workspace:
    clean: resources
  timeoutInMinutes: 1440 # 1 day
  variables:
  - name: WORKING_ROOT
    value: /Users/vagrant/Data
  - name: VCPKG_DOWNLOADS
    value: /Users/vagrant/Data/downloads

  steps:
  - bash: |
      df -h
    displayName: 'Report on Disk Space'
    condition: always()
  - bash: |
      brew list autoconf || brew install autoconf
      brew list automake || brew install automake
      brew list pkg-config || brew install pkg-config
      brew list libtool || brew install libtool
      brew list bison || brew install bison
      brew list gfortran || brew cask install gfortran
      brew list mono || brew install mono
      brew list yasm || brew install yasm
    displayName: 'Install brew dependencies'
  - bash: |
      sudo mkdir ${{ variables.VCPKG_DOWNLOADS }} || 0
      sudo chmod 777 ${{ variables.VCPKG_DOWNLOADS }} || 0
      exit 0
    displayName: 'Create ${{ variables.VCPKG_DOWNLOADS }}'
  - task: Bash@3
    displayName: 'Build vcpkg'
    inputs:
      filePath: bootstrap-vcpkg.sh
      arguments: '-buildTests'
  - bash: toolsrc/build.rel/vcpkg-test
    displayName: 'Run vcpkg tests'
  - task: PowerShell@2
    displayName: 'Run vcpkg end-to-end tests'
    inputs:
      filePath: 'scripts/azure-pipelines/end-to-end-tests.ps1'
      arguments: '-Triplet x64-osx -WorkingRoot ${{ variables.WORKING_ROOT }}'
  - task: PowerShell@2
    displayName: '*** Test Modified Ports and Prepare Test Logs ***'
    inputs:
      failOnStderr: true
      filePath: 'scripts/azure-pipelines/test-modified-ports.ps1'
      arguments: '-Triplet x64-osx -BuildReason $(Build.Reason) -ArchivesRoot ${{ variables.WORKING_ROOT }}/archives -WorkingRoot ${{ variables.WORKING_ROOT }} -ArtifactsDirectory $(System.ArtifactsDirectory)'
  - bash: |
      df -h
    displayName: 'Report on Disk Space After Build'
    condition: always()
  - task: PublishBuildArtifacts@1
    displayName: 'Publish Artifact: x64-osx port build failure logs'
    inputs:
      PathtoPublish: '$(System.ArtifactsDirectory)/failure-logs'
      ArtifactName: 'x64-osx port build failure logs'
    condition: failed()
  - bash: |
      python3 scripts/file_script.py /Users/vagrant/Data/installed/vcpkg/info/
    displayName: 'Build a file list for all packages'
    condition: always()

  - task: PublishBuildArtifacts@1
    displayName: 'Upload file lists for all packages'
    condition: always()

    inputs:
      PathtoPublish: scripts/list_files
      ArtifactName: "x64-osx package file lists"