mirror of
https://github.com/cypress-io/cypress.git
synced 2026-04-21 14:40:05 -05:00
@@ -6,7 +6,9 @@ check = require("check-more-types")
|
||||
cp = require("child_process")
|
||||
fs = require("fs")
|
||||
os = require("os")
|
||||
Promise = require("bluebird")
|
||||
{configFromEnvOrJsonFile, filenameToShellVariable} = require('@cypress/env-or-json-file')
|
||||
konfig = require("../../../packages/server/lib/konfig")
|
||||
|
||||
getS3Credentials = () ->
|
||||
key = path.join('scripts', 'binary', 'support', '.aws-credentials.json')
|
||||
@@ -58,6 +60,7 @@ makeCloudflarePurgeCommand = (url) ->
|
||||
else
|
||||
throw new Error("Cannot form Cloudflare purge command without credentials")
|
||||
|
||||
# purges a given url from Cloudflare
|
||||
purgeCache = (url) ->
|
||||
la(check.url(url), "missing url to purge", url)
|
||||
|
||||
@@ -72,6 +75,34 @@ purgeCache = (url) ->
|
||||
console.log("#purgeCache: #{url}")
|
||||
resolve()
|
||||
|
||||
getDestktopUrl = (version, osName, zipName) ->
|
||||
url = [konfig("cdn_url"), "desktop", version, osName, zipName].join("/")
|
||||
url
|
||||
|
||||
# purges desktop application url from Cloudflare cache
|
||||
purgeDesktopAppFromCache = ({version, platform, zipName}) ->
|
||||
la(check.unemptyString(version), "missing desktop version", version)
|
||||
la(check.unemptyString(platform), "missing platform", platform)
|
||||
la(check.unemptyString(zipName), "missing zip filename")
|
||||
la(check.extension("zip", zipName),
|
||||
"zip filename should end with .zip", zipName)
|
||||
|
||||
osName = getUploadNameByOs(platform)
|
||||
la(check.unemptyString(osName), "missing osName", osName)
|
||||
url = getDestktopUrl(version, osName, zipName)
|
||||
purgeCache(url)
|
||||
|
||||
# purges links to desktop app for all platforms
|
||||
# for a given version
|
||||
purgeDesktopAppAllPlatforms = (version, zipName) ->
|
||||
la(check.unemptyString(version), "missing desktop version", version)
|
||||
la(check.unemptyString(zipName), "missing zipName", zipName)
|
||||
|
||||
platforms = ["darwin", "linux", "win32"]
|
||||
console.log("purging all desktop links for version #{version} from Cloudflare")
|
||||
Promise.mapSeries platforms, (platform) ->
|
||||
purgeDesktopAppFromCache({version, platform, zipName})
|
||||
|
||||
getUploadNameByOs = (osName = os.platform()) ->
|
||||
uploadNames = {
|
||||
darwin: "osx64"
|
||||
@@ -91,6 +122,8 @@ module.exports = {
|
||||
getS3Credentials,
|
||||
getPublisher,
|
||||
purgeCache,
|
||||
purgeDesktopAppFromCache,
|
||||
purgeDesktopAppAllPlatforms,
|
||||
getUploadNameByOs,
|
||||
saveUrl
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user