product-build-darwin.yml 3.1 KB
Newer Older
J
Joao Moreno 已提交
1 2 3
steps:
- task: NodeTool@0
  inputs:
A
Alex Dima 已提交
4
    versionSpec: "10.15.1"
J
Joao Moreno 已提交
5 6 7

- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
  inputs:
J
Joao Moreno 已提交
8
    versionSpec: "1.10.1"
J
Joao Moreno 已提交
9 10 11

- script: |
    set -e
J
Joao Moreno 已提交
12 13 14 15 16

    cat << EOF > ~/.netrc
    machine monacotools.visualstudio.com
    password $(VSO_PAT)
    machine github.com
J
Joao Moreno 已提交
17
    login vscode
J
Joao Moreno 已提交
18 19 20
    password $(VSCODE_MIXIN_PASSWORD)
    EOF

J
Joao Moreno 已提交
21
    yarn
J
Joao Moreno 已提交
22
    VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" yarn gulp -- mixin
J
Joao Moreno 已提交
23 24
    yarn gulp -- hygiene
    yarn monaco-compile-check
J
Joao Moreno 已提交
25
    node build/azure-pipelines/common/installDistro.js
J
Joao Moreno 已提交
26
    node build/lib/builtInExtensions.js
J
Joao Moreno 已提交
27
  displayName: Prepare build
J
Joao Moreno 已提交
28

J
Joao Moreno 已提交
29 30 31 32 33 34 35 36 37
- script: |
    set -e
    VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" \
    AZURE_STORAGE_ACCESS_KEY="$(AZURE_STORAGE_ACCESS_KEY)" \
    yarn gulp -- vscode-darwin-min
    VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" \
    AZURE_STORAGE_ACCESS_KEY="$(AZURE_STORAGE_ACCESS_KEY)" \
    yarn gulp -- upload-vscode-sourcemaps
  displayName: Build
J
Joao Moreno 已提交
38

J
Joao Moreno 已提交
39 40 41 42 43 44
- script: |
    set -e
    ./scripts/test.sh --build --tfs "Unit Tests"
    # APP_NAME="`ls $(agent.builddirectory)/VSCode-darwin | head -n 1`"
    # yarn smoketest -- --build "$(agent.builddirectory)/VSCode-darwin/$APP_NAME"
  displayName: Run unit tests
J
Joao Moreno 已提交
45

D
Daniel Imms 已提交
46 47 48 49 50
- script: |
    set -e
    ./scripts/test-integration.sh --build --tfs "Integration Tests"
  displayName: Run integration tests

J
Joao Moreno 已提交
51 52 53 54
- script: |
    set -e
    pushd ../VSCode-darwin && zip -r -X -y ../VSCode-darwin.zip * && popd
  displayName: Archive build
J
Joao Moreno 已提交
55

J
Joao Moreno 已提交
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
  inputs:
    ConnectedServiceName: 'ESRP CodeSign'
    FolderPath: '$(agent.builddirectory)'
    Pattern: 'VSCode-darwin.zip'
    signConfigType: inlineSignParams
    inlineOperation: |
      [
        {
          "keyCode": "CP-401337-Apple",
          "operationSetCode": "MacAppDeveloperSign",
          "parameters": [ ],
          "toolName": "sign",
          "toolVersion": "1.0"
        }
      ]
    SessionTimeout: 120
  displayName: Codesign
J
Joao Moreno 已提交
74

J
Joao Moreno 已提交
75 76
- script: |
    set -e
J
Joao Moreno 已提交
77

J
Joao Moreno 已提交
78 79
    # remove pkg from archive
    zip -d ../VSCode-darwin.zip "*.pkg"
J
Joao Moreno 已提交
80

J
Joao Moreno 已提交
81 82 83 84 85 86 87 88 89 90 91 92 93
    # publish the build
    PACKAGEJSON=`ls ../VSCode-darwin/*.app/Contents/Resources/app/package.json`
    VERSION=`node -p "require(\"$PACKAGEJSON\").version"`
    AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
    AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
    node build/azure-pipelines/common/publish.js \
      "$(VSCODE_QUALITY)" \
      darwin \
      archive \
      "VSCode-darwin-$(VSCODE_QUALITY).zip" \
      $VERSION \
      true \
      ../VSCode-darwin.zip
J
Joao Moreno 已提交
94

J
Joao Moreno 已提交
95 96
    # publish hockeyapp symbols
    node build/azure-pipelines/common/symbols.js "$(VSCODE_MIXIN_PASSWORD)" "$(VSCODE_HOCKEYAPP_TOKEN)" "$(VSCODE_ARCH)" "$(VSCODE_HOCKEYAPP_ID_MACOS)"
J
Joao Moreno 已提交
97

J
Joao Moreno 已提交
98 99 100 101
    # upload configuration
    AZURE_STORAGE_ACCESS_KEY="$(AZURE_STORAGE_ACCESS_KEY)" \
    yarn gulp -- upload-vscode-configuration
  displayName: Publish
102

J
Joao Moreno 已提交
103 104 105
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
  displayName: 'Component Detection'
  continueOnError: true