diff --git a/lepton/const.go b/lepton/const.go index 7bda450d..72698a86 100644 --- a/lepton/const.go +++ b/lepton/const.go @@ -133,9 +133,6 @@ func getImageTempDir(c *types.Config) string { return c.BuildDir } -// NightlyReleaseURLm give URL for nightly build. -var NightlyReleaseURLm = NightlyReleaseURL() - var realGOOS = getGOOS() // RealGOARCH is the underlying host architecture. @@ -157,41 +154,6 @@ func getGOOS() string { return goos } -func nightlyFileName() string { - if RealGOARCH == "arm64" || AltGOARCH == "arm64" { - return "nanos-nightly-linux-virt.tar.gz" - } - return "nanos-nightly-linux.tar.gz" -} - -func nightlyTimestamp() string { - if RealGOARCH == "arm64" || AltGOARCH == "arm64" { - return "nanos-nightly-linux-virt.timestamp" - } - return "nanos-nightly-linux.timestamp" -} - -// NightlyReleaseURL points to the latest nightly release url that is -// arch dependent upon flag set. -func NightlyReleaseURL() string { - var sb strings.Builder - sb.WriteString(nightlyReleaseBaseURL) - sb.WriteString(nightlyFileName()) - return sb.String() -} - -// NightlyLocalFolder points to the latest nightly release url that is -// arch dependent upon flag set. -func NightlyLocalFolder() string { - if RealGOARCH == "arm64" || AltGOARCH == "arm64" { - return path.Join(GetOpsHome(), "nightly-arm") - } - return path.Join(GetOpsHome(), "nightly") -} - -// NightlyLocalFolderm is directory path where nightly builds are stored -var NightlyLocalFolderm = NightlyLocalFolder() - // LocalTimeStamp gives local timestamp from download nightly build func LocalTimeStamp() (string, error) { timestamp := nightlyTimestamp() diff --git a/lepton/nightly.go b/lepton/nightly.go new file mode 100644 index 00000000..12c8f4fe --- /dev/null +++ b/lepton/nightly.go @@ -0,0 +1,64 @@ +package lepton + +import ( + "path" + "strings" +) + +// NightlyReleaseURLm give URL for nightly build. +var NightlyReleaseURLm = NightlyReleaseURL() + +func nightlybase() string { + if AltGOARCH != "" { + if AltGOARCH == "arm64" { + return "nanos-nightly-linux-virt" + } + + return "nanos-nightly-linux" + + } + + if RealGOARCH == "arm64" { + return "nanos-nightly-linux-virt" + } + + return "nanos-nightly-linux" +} + +func nightlyFileName() string { + return nightlybase() + ".tar.gz" +} + +func nightlyTimestamp() string { + return nightlybase() + ".timestamp" +} + +// NightlyReleaseURL points to the latest nightly release url that is +// arch dependent upon flag set. +func NightlyReleaseURL() string { + var sb strings.Builder + sb.WriteString(nightlyReleaseBaseURL) + sb.WriteString(nightlyFileName()) + return sb.String() +} + +// NightlyLocalFolder points to the latest nightly release url that is +// arch dependent upon flag set. +func NightlyLocalFolder() string { + if AltGOARCH != "" { + if AltGOARCH == "arm64" { + return path.Join(GetOpsHome(), "nightly-arm") + } + + return path.Join(GetOpsHome(), "nightly") + } + + if RealGOARCH == "arm64" { + return path.Join(GetOpsHome(), "nightly-arm") + } + + return path.Join(GetOpsHome(), "nightly") +} + +// NightlyLocalFolderm is directory path where nightly builds are stored +var NightlyLocalFolderm = NightlyLocalFolder() diff --git a/lepton/nightly_test.go b/lepton/nightly_test.go new file mode 100644 index 00000000..a4bfb7b1 --- /dev/null +++ b/lepton/nightly_test.go @@ -0,0 +1,40 @@ +package lepton + +import "testing" + +func TestNightlyFilename(t *testing.T) { + RealGOARCH = "amd64" + + fname := nightlybase() + + if fname != "nanos-nightly-linux" { + t.Fatalf("invalid nightly filename: %s", fname) + } + + RealGOARCH = "arm64" + + fname = nightlybase() + + if fname != "nanos-nightly-linux-virt" { + t.Fatalf("invalid nightly filename: %s", fname) + } + + RealGOARCH = "arm64" + AltGOARCH = "amd64" + + fname = nightlybase() + + if fname != "nanos-nightly-linux" { + t.Fatalf("invalid nightly filename: %s", fname) + } + + RealGOARCH = "amd64" + AltGOARCH = "arm64" + + fname = nightlybase() + + if fname != "nanos-nightly-linux-virt" { + t.Fatalf("invalid nightly filename: %s", fname) + } + +}