소스 검색

Compute and upload sha256 sums for build artifacts

Peter Squicciarini 6 년 전
부모
커밋
33bc3b2f8b
3개의 변경된 파일44개의 추가작업 그리고 13개의 파일을 삭제
  1. 2 0
      .travis.yml
  2. 28 0
      sum.sh
  3. 14 13
      win32-build.yml

+ 2 - 0
.travis.yml

@@ -27,6 +27,7 @@ script:
 
 before_deploy:
   - ./create_zip.sh
+  - ./sum.sh
 
 deploy:
   provider: releases
@@ -36,6 +37,7 @@ deploy:
   api_key: $GITHUB_TOKEN
   file_glob: true
   file:
+    - ./*.sha256
     - ./*.zip
     - ./*.tar.gz
     - vscode/.build/linux/deb/i386/deb/*.deb

+ 28 - 0
sum.sh

@@ -0,0 +1,28 @@
+#!/bin/bash
+
+sum_file () {
+  if [[ -f "$1" ]]; then
+    shasum -a 256 $1 > $1.sha256
+  fi
+}
+
+if [[ "$SHOULD_BUILD" == "yes" ]]; then
+  if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+    sum_file VSCodium-darwin-*.zip
+  elif [[ "$CI_WINDOWS" == "True" ]]; then
+    sum_file VSCodium-win32*.zip
+    sum_file VSCodiumSetup*.exe
+    sum_file VSCodiumUserSetup*.exe
+  else # linux
+    if [[ "$BUILDARCH" == "x64" ]]; then
+      deb_arch=amd64
+      rpm_arch=x86_64
+    elif [[ "$BUILDARCH" == "ia32" ]]; then
+      deb_arch=i386
+      rpm_arch=i386
+    fi
+    sum_file VSCodium-linux*.tar.gz
+    sum_file vscode/.build/linux/deb/$(arch)/deb/*.deb
+    sum_file vscode/.build/linux/rpm/$(arch_alt)/*.rpm
+  fi
+fi

+ 14 - 13
win32-build.yml

@@ -39,21 +39,22 @@ steps:
 - 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')
+- powershell: |
+    bash ./sum.sh
+  displayName: 'compute sums'
+- task: CopyFiles@2
   inputs:
-    PathtoPublish: 'VSCodiumSetup-$(BUILDARCH)-$(LATEST_MS_TAG).exe'
-    ArtifactName: 'system_setup'
-- task: PublishBuildArtifacts@1
-  displayName: 'Publish artifacts: user-setup'
+    contents: |
+      VSCodium*.zip
+      VSCodiumUserSetup*.exe
+      VSCodiumSetup*.exe
+      *.sha256
+    targetFolder: $(Build.ArtifactStagingDirectory)
   condition: eq(variables['SHOULD_BUILD'], 'yes')
-  inputs:
-    PathtoPublish: 'VSCodiumUserSetup-$(BUILDARCH)-$(LATEST_MS_TAG).exe'
-    ArtifactName: 'user_setup'
+  displayName: 'copy artifacts to staging directory'
 - task: PublishBuildArtifacts@1
-  displayName: 'Publish artifacts: archive'
+  displayName: 'Publish artifacts'
   condition: eq(variables['SHOULD_BUILD'], 'yes')
   inputs:
-    PathtoPublish: 'VSCodium-win32-$(BUILDARCH)-$(LATEST_MS_TAG).zip'
-    ArtifactName: 'archive'
+    PathtoPublish: $(Build.ArtifactStagingDirectory)
+    ArtifactName: 'everything'