BUG: Added remote download failover if build fails for a tag
This commit is contained in:
@@ -125,14 +125,17 @@ func getParsedTarMemory(fs billy.Filesystem, tw *tar.Writer, baseDir, extra stri
|
||||
return err
|
||||
}
|
||||
|
||||
log.Printf("FILENAME: %s", filename)
|
||||
//log.Printf("FILENAME: %s", filename)
|
||||
readFile, err := ioutil.ReadAll(fileReader)
|
||||
if err != nil {
|
||||
log.Printf("Not file: %s", err)
|
||||
return err
|
||||
}
|
||||
|
||||
// Fixes issues with older versions of Docker for file format
|
||||
// Fixes issues with older versions of Docker and reference formats
|
||||
// Specific to Shuffle rn. Could expand.
|
||||
// FIXME: Seems like the issue was with multi-stage builds
|
||||
/*
|
||||
if filename == "Dockerfile" {
|
||||
log.Printf("Should search and replace in readfile.")
|
||||
|
||||
@@ -143,6 +146,7 @@ func getParsedTarMemory(fs billy.Filesystem, tw *tar.Writer, baseDir, extra stri
|
||||
readFile = []byte(strings.Replace(string(readFile), referenceCheck, newReference, -1))
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
//log.Printf("Filename: %s", filename)
|
||||
// FIXME - might need the folder from EXTRA here
|
||||
@@ -230,12 +234,39 @@ func buildImageMemory(fs billy.Filesystem, tags []string, dockerfileFolder strin
|
||||
dockerFileTarReader,
|
||||
buildOptions,
|
||||
)
|
||||
|
||||
log.Printf("Response: %#v", imageBuildResponse.Body)
|
||||
//log.Printf("IMAGERESPONSE: %#v", imageBuildResponse.Body)
|
||||
|
||||
defer imageBuildResponse.Body.Close()
|
||||
_, newerr := io.Copy(os.Stdout, imageBuildResponse.Body)
|
||||
buildBuf := new(strings.Builder)
|
||||
_, newerr := io.Copy(buildBuf, imageBuildResponse.Body)
|
||||
if newerr != nil {
|
||||
log.Printf("Failed reading Docker build STDOUT: %s", newerr)
|
||||
} else {
|
||||
if strings.Contains(buildBuf.String(), "errorDetail") {
|
||||
log.Printf("[ERROR] Docker build:\n%s\nERROR ABOVE: Trying to pull tags from: %s", buildBuf.String(), strings.Join(tags, "\n"))
|
||||
|
||||
// Handles pulling of the same image if applicable
|
||||
// This fixes some issues with older versions of Docker which can't build
|
||||
// on their own ( <17.05 )
|
||||
pullOptions := types.ImagePullOptions{}
|
||||
canonicalName := fmt.Sprintf("registry.hub.docker.com")
|
||||
for _, image := range tags {
|
||||
newImage := fmt.Sprintf("%s/%s", canonicalName, image)
|
||||
log.Printf("[INFO] Pulling image %s", newImage)
|
||||
reader, err := client.ImagePull(ctx, newImage, pullOptions)
|
||||
if err != nil {
|
||||
log.Printf("[ERROR] Failed getting image %s: %s", newImage, err)
|
||||
continue
|
||||
}
|
||||
|
||||
//newBuf := buildBuf
|
||||
io.Copy(os.Stdout, reader)
|
||||
log.Printf("[INFO] Successfully downloaded and built %s", newImage)
|
||||
}
|
||||
//baseDockerName
|
||||
}
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
|
||||
@@ -5541,7 +5541,7 @@ func iterateAppGithubFolders(fs billy.Filesystem, dir []os.FileInfo, extra strin
|
||||
}
|
||||
}
|
||||
|
||||
log.Printf("HANDLING DOCKER FILEREADER - SEARCH&REPLACE?")
|
||||
//log.Printf("HANDLING DOCKER FILEREADER - SEARCH&REPLACE?")
|
||||
|
||||
appfileData, err := ioutil.ReadAll(fileReader)
|
||||
if err != nil {
|
||||
@@ -5688,10 +5688,10 @@ func iterateAppGithubFolders(fs billy.Filesystem, dir []os.FileInfo, extra strin
|
||||
|
||||
if len(removeApps) > 0 {
|
||||
for _, item := range removeApps {
|
||||
log.Printf("Removing duplicate: %s", item)
|
||||
log.Printf("[WARNING] Removing duplicate: %s", item)
|
||||
err = DeleteKey(ctx, "workflowapp", item)
|
||||
if err != nil {
|
||||
log.Printf("Failed deleting %s", item)
|
||||
log.Printf("[ERROR] Failed deleting duplicate %s: %s", item, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@ version: '3'
|
||||
services:
|
||||
frontend:
|
||||
#build: ./frontend
|
||||
image: ghcr.io/frikky/shuffle-frontend:0.8.3
|
||||
image: ghcr.io/frikky/shuffle-frontend:0.8.4
|
||||
container_name: shuffle-frontend
|
||||
hostname: shuffle-frontend
|
||||
ports:
|
||||
@@ -17,7 +17,7 @@ services:
|
||||
- backend
|
||||
backend:
|
||||
build: ./backend
|
||||
image: ghcr.io/frikky/shuffle-backend:0.8.4
|
||||
image: ghcr.io/frikky/shuffle-backend:0.8.42
|
||||
container_name: shuffle-backend
|
||||
hostname: ${BACKEND_HOSTNAME}
|
||||
# Here for debugging:
|
||||
|
||||
@@ -101,7 +101,12 @@ const parseCurl = (s) => {
|
||||
return ""
|
||||
}
|
||||
|
||||
try {
|
||||
var args = rewrite(words.split(s))
|
||||
} catch (e) {
|
||||
return s
|
||||
}
|
||||
|
||||
var out = { method: 'GET', header: {} }
|
||||
var state = ''
|
||||
|
||||
@@ -1731,7 +1736,7 @@ const AppCreator = (props) => {
|
||||
var parsedurl = event.target.value
|
||||
if (parsedurl.startsWith("curl")) {
|
||||
const request = parseCurl(event.target.value)
|
||||
console.log(request)
|
||||
if (request !== event.target.value) {
|
||||
if (request.method.toUpperCase() !== currentAction.Method) {
|
||||
setCurrentActionMethod(request.method.toUpperCase())
|
||||
setActionField("method", request.method.toUpperCase())
|
||||
@@ -1791,6 +1796,7 @@ const AppCreator = (props) => {
|
||||
setUrlPath(parsedurl)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//console.log("URL: ", request.url)
|
||||
}}
|
||||
|
||||
@@ -130,7 +130,7 @@ const LoginDialog = props => {
|
||||
if (responseJson["success"] === false) {
|
||||
setLoginInfo(responseJson["reason"])
|
||||
} else {
|
||||
setLoginInfo("Successful register :)")
|
||||
setLoginInfo("Successful register!")
|
||||
}
|
||||
}),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user