Copy test runner binaries before releasing new version (#4082)

* adding S3 sdk

* test binary folder

* linting

* before searching for binary

* linting

* grab folders in the given S3 prefix

* grab folders in the given S3 prefix

* find the last build

* found last builds for commit

* refactoring

* add tests for upload dir name

* create destination zip filename

* copying S3 files

* move s3 helpers into own object, prepare for testing

* add realistic test

* linting

* chore: add documentation to DEPLOY.md file
This commit is contained in:
Gleb Bahmutov
2019-05-01 10:14:25 -04:00
committed by GitHub
parent da23a9760a
commit ebaa7a375c
16 changed files with 756 additions and 23 deletions
+21 -1
View File
@@ -29,12 +29,32 @@ module.exports = {
getAwsObj: ->
uploadUtils.getS3Credentials()
# returns desktop folder for a given folder without platform
# something like desktop/0.20.1
getUploadeVersionFolder: (aws, version) ->
la(check.unemptyString(aws.folder), 'aws object is missing desktop folder', aws.folder)
dirName = [aws.folder, version].join("/")
dirName
getFullUploadName: ({folder, version, platformArch, name}) ->
la(check.unemptyString(folder), 'missing folder', folder)
la(check.semver(version), 'missing or invalid version', version)
la(check.unemptyString(name), 'missing file name', name)
la(uploadUtils.isValidPlatformArch(platformArch),
'invalid platform and arch', platformArch)
fileName = [folder, version, platformArch, name].join("/")
fileName
# store uploaded application in subfolders by platform and version
# something like desktop/0.20.1/darwin-x64/
getUploadDirName: ({version, platform}) ->
aws = @getAwsObj()
platformArch = uploadUtils.getUploadNameByOsAndArch(platform)
dirName = [aws.folder, version, platformArch, null].join("/")
versionFolder = @getUploadeVersionFolder(aws, version)
dirName = [versionFolder, platformArch, null].join("/")
console.log("target directory %s", dirName)
dirName