Forráskód Böngészése

Build cleanup and Windows ia32 (#103)

Peter Squicciarini 6 éve
szülő
commit
f9f92ce008
5 módosított fájl, 109 hozzáadás és 107 törlés
  1. 1 0
      .travis.yml
  2. 15 61
      azure-pipelines.yml
  3. 13 29
      build.sh
  4. 21 17
      check_tags.ps1
  5. 59 0
      win32-build.yml

+ 1 - 0
.travis.yml

@@ -2,6 +2,7 @@ matrix:
   include:
     - os: linux
       sudo: required
+      env: BUILDARCH=x64
     - os: linux
       sudo: required
       env: BUILDARCH=ia32

+ 15 - 61
azure-pipelines.yml

@@ -1,62 +1,16 @@
-pool:
-  vmImage: 'vs2017-win2016'
+jobs:
+- job: Windows
+  pool:
+    vmImage: VS2017-Win2016
+  variables:
+    BUILDARCH: x64
+  steps:
+  - template: win32-build.yml
 
-steps:
-- task: NodeTool@0 
-  inputs:
-    versionSpec: '8.x'
-- script: |
-    choco install jq 
-  displayName: 'install jq from choco'
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
-  displayName: 'Install Yarn'
-- task: UsePythonVersion@0
-  displayName: 'Use Python 2.x'
-  inputs:
-    versionSpec: 2.x
-- task: ShellScript@2
-  displayName: 'get VSCode sources'
-  inputs: 
-    scriptPath: get_repo.sh
-- powershell: |
-    $LATEST_MS_TAG="$(git -C vscode describe --tags)"
-    Write-Host "##vso[task.setvariable variable=LATEST_MS_TAG]$LATEST_MS_TAG"
-  displayName: 'set env LATEST_MS_TAG'
-- task: PowerShell@2
-  inputs:
-    filePath: 'check_tags.ps1'
-  env:
-    MAPPED_GITHUB_TOKEN: $(GITHUB_TOKEN)
-- script: |
-    git -C vscode status
-  displayName: 'vscode status'
-- powershell: |
-    bash ./build.sh
-  displayName: 'go build it!'
-- bash: |
-    if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\system-setup\\VSCodeSetup.exe VSCodiumSetup-x64-${LATEST_MS_TAG}.exe; fi
-  displayName: 'move the system setup'
-- bash: |
-    if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-x64-${LATEST_MS_TAG}.exe; fi
-  displayName: 'move the user setup'
-- bash: |
-    if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\archive\\VSCode-win32-x64.zip VSCodium-win32-x64-${LATEST_MS_TAG}.zip; fi
-  displayName: 'move the zip folder'
-- task: PublishBuildArtifacts@1
-  displayName: 'Publish artifacts: system-setup'
-  condition: eq(variables['SHOULD_BUILD'], 'yes')
-  inputs:
-    PathtoPublish: 'VSCodiumSetup-x64-$(LATEST_MS_TAG).exe'
-    ArtifactName: 'system_setup'
-- task: PublishBuildArtifacts@1
-  displayName: 'Publish artifacts: user-setup'
-  condition: eq(variables['SHOULD_BUILD'], 'yes')
-  inputs:
-    PathtoPublish: 'VSCodiumUserSetup-x64-$(LATEST_MS_TAG).exe'
-    ArtifactName: 'user_setup'
-- task: PublishBuildArtifacts@1
-  displayName: 'Publish artifacts: archive'
-  condition: eq(variables['SHOULD_BUILD'], 'yes')
-  inputs:
-    PathtoPublish: 'VSCodium-win32-x64-$(LATEST_MS_TAG).zip'
-    ArtifactName: 'archive'
+- job: Windows32
+  pool:
+    vmImage: VS2017-Win2016
+  variables:
+    BUILDARCH: ia32
+  steps:
+  - template: win32-build.yml

+ 13 - 29
build.sh

@@ -3,15 +3,8 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
   cp -rp src/* vscode/
   cd vscode
 
-  if [[ "$BUILDARCH" == "ia32" ]]; then
-    export npm_config_arch=ia32
-    export npm_config_target_arch=ia32
-  fi
-
-  if [[ "$BUILDARCH" == "arm64" ]]; then
-    export npm_config_arch=arm64
-    export npm_config_target_arch=arm64
-  fi
+  export npm_config_arch="$BUILDARCH"
+  export npm_config_target_arch="$BUILDARCH"
   ../update_settings.sh
 
   yarn
@@ -28,30 +21,21 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
     # as we are renaming the application to vscodium
     # we need to edit a line in the post install template
     sed -i "s/code-oss/vscodium/" resources/linux/debian/postinst.template
-    fi
+  fi
 
   if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
-    npm run gulp vscode-darwin-min
-  elif [[ "$BUILDARCH" == "ia32" ]]; then
-      npm run gulp vscode-linux-ia32-min
-      npm run gulp vscode-linux-ia32-build-deb
-      npm run gulp vscode-linux-ia32-build-rpm
-      unset npm_config_arch
-  elif [[ "$BUILDARCH" == "arm64" ]]; then
-    npm run gulp vscode-linux-arm64-min
-    npm run gulp vscode-linux-arm64-build-deb
-    # npm run gulp vscode-linux-arm64-build-rpm
+    npm run gulp -- "vscode-darwin-min"
   elif [[ "$CI_WINDOWS" == "True" ]]; then
     cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
-    npm run gulp vscode-win32-x64-min
-    npm run gulp vscode-win32-x64-inno-updater
-    npm run gulp vscode-win32-x64-system-setup
-    npm run gulp vscode-win32-x64-user-setup
-    npm run gulp vscode-win32-x64-archive
-  else
-    npm run gulp vscode-linux-x64-min
-    npm run gulp vscode-linux-x64-build-deb
-    npm run gulp vscode-linux-x64-build-rpm
+    npm run gulp -- "vscode-win32-${BUILDARCH}-min"
+    npm run gulp -- "vscode-win32-${BUILDARCH}-inno-updater"
+    npm run gulp -- "vscode-win32-${BUILDARCH}-system-setup"
+    npm run gulp -- "vscode-win32-${BUILDARCH}-user-setup"
+    npm run gulp -- "vscode-win32-${BUILDARCH}-archive"
+  else # linux
+    npm run gulp -- "vscode-linux-${BUILDARCH}-min"
+    npm run gulp -- "vscode-linux-${BUILDARCH}-build-deb"
+    npm run gulp -- "vscode-linux-${BUILDARCH}-build-rpm"
   fi  
 
   cd ..

+ 21 - 17
check_tags.ps1

@@ -1,7 +1,10 @@
 echo "tag: $env:LATEST_MS_TAG"
-$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:MAPPED_GITHUB_TOKEN" "https://api.github.com/repos/vscodium/vscodium/releases/tags/$env:LATEST_MS_TAG"
+$REPO_URI = [uri]$env:BUILD_REPOSITORY_URI
+$USER_REPO = $REPO_URI."LocalPath"
+echo $USER_REPO
+$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:MAPPED_GITHUB_TOKEN" "https://api.github.com/repos$USER_REPO/releases/tags/$env:LATEST_MS_TAG"
 echo "Github response: ${GITHUB_RESPONSE}"
-$VSCODIUM_ASSETS= $GITHUB_RESPONSE | jq '.assets'
+$VSCODIUM_ASSETS = $GITHUB_RESPONSE | jq '.assets'
 echo "VSCodium assets: ${VSCODIUM_ASSETS}"
 
 # if we just don't have the github token, get out fast
@@ -11,24 +14,25 @@ if (!$env:MAPPED_GITHUB_TOKEN -or $env:MAPPED_GITHUB_TOKEN -like "*GITHUB_TOKEN*
   return
 }
 
-if (!$VSCODIUM_ASSETS) {
+if ($VSCODIUM_ASSETS -eq "null" -or !$VSCODIUM_ASSETS) {
   echo "Release assets do not exist at all, continuing build"
   $SHOULD_BUILD = 'yes'
+} else {
+  $WindowsAssets = ($VSCODIUM_ASSETS | ConvertFrom-Json) | Where-Object { $_.name.Contains('exe') }
+  $SYSTEM_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('Setup') }
+  $USER_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('User') }
+  if (!$SYSTEM_SETUP) {
+    echo "Building on Windows because we have no system-setup.exe";
+    $SHOULD_BUILD = 'yes'
+  }
+  elseif (!$USER_SETUP) {
+    echo "Building on Windows because we have no user-setup.exe";
+    $SHOULD_BUILD = 'yes'
+  }
+  else {
+    echo "Already have all the Windows builds"
+  } 
 }
 
-$WindowsAssets = ($VSCODIUM_ASSETS | ConvertFrom-Json) | Where-Object { $_.name.Contains('exe') }
-$SYSTEM_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('Setup') }
-$USER_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('User') }
-if (!$SYSTEM_SETUP) {
-  echo "Building on Windows because we have no system-setup.exe";
-  $SHOULD_BUILD = 'yes'
-}
-elseif (!$USER_SETUP) {
-  echo "Building on Windows because we have no user-setup.exe";
-  $SHOULD_BUILD = 'yes'
-}
-else {
-  echo "Already have all the Windows builds"
-}
 
 Write-Host "##vso[task.setvariable variable=SHOULD_BUILD]$SHOULD_BUILD"

+ 59 - 0
win32-build.yml

@@ -0,0 +1,59 @@
+steps:
+- task: NodeTool@0 
+  inputs:
+    versionSpec: '8.x'
+- script: |
+    choco install jq 
+  displayName: 'install jq from choco'
+- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+  displayName: 'Install Yarn'
+- task: UsePythonVersion@0
+  displayName: 'Use Python 2.x'
+  inputs:
+    versionSpec: 2.x
+- task: ShellScript@2
+  displayName: 'get VSCode sources'
+  inputs: 
+    scriptPath: get_repo.sh
+- powershell: |
+    $LATEST_MS_TAG="$(git -C vscode describe --tags)"
+    Write-Host "##vso[task.setvariable variable=LATEST_MS_TAG]$LATEST_MS_TAG"
+  displayName: 'set env LATEST_MS_TAG'
+- task: PowerShell@2
+  inputs:
+    filePath: 'check_tags.ps1'
+  env:
+    MAPPED_GITHUB_TOKEN: $(GITHUB_TOKEN)
+- script: |
+    git -C vscode status
+  displayName: 'vscode status'
+- powershell: |
+    bash ./build.sh
+  displayName: 'go build it!'
+- bash: |
+    if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\system-setup\\VSCodeSetup.exe VSCodiumSetup-$(BUILDARCH)-${LATEST_MS_TAG}.exe; fi
+  displayName: 'move the system setup'
+- bash: |
+    if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-$(BUILDARCH)-${LATEST_MS_TAG}.exe; fi
+  displayName: 'move the user setup'
+- bash: |
+    if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\archive\\VSCode-win32-$(BUILDARCH).zip VSCodium-win32-$(BUILDARCH)-${LATEST_MS_TAG}.zip; fi
+  displayName: 'move the zip folder'
+- task: PublishBuildArtifacts@1
+  displayName: 'Publish artifacts: system-setup'
+  condition: eq(variables['SHOULD_BUILD'], 'yes')
+  inputs:
+    PathtoPublish: 'VSCodiumSetup-$(BUILDARCH)-$(LATEST_MS_TAG).exe'
+    ArtifactName: 'system_setup'
+- task: PublishBuildArtifacts@1
+  displayName: 'Publish artifacts: user-setup'
+  condition: eq(variables['SHOULD_BUILD'], 'yes')
+  inputs:
+    PathtoPublish: 'VSCodiumUserSetup-$(BUILDARCH)-$(LATEST_MS_TAG).exe'
+    ArtifactName: 'user_setup'
+- task: PublishBuildArtifacts@1
+  displayName: 'Publish artifacts: archive'
+  condition: eq(variables['SHOULD_BUILD'], 'yes')
+  inputs:
+    PathtoPublish: 'VSCodium-win32-$(BUILDARCH)-$(LATEST_MS_TAG).zip'
+    ArtifactName: 'archive'