Skip to content

Commit 115c972

Browse files
committed
fix: Install from the specified release channel
1 parent bb74653 commit 115c972

File tree

4 files changed

+204
-82
lines changed

4 files changed

+204
-82
lines changed

hab/hab.go

+14-8
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,16 @@ type PackagesInfo struct {
1818

1919
// PackageInfo is package info in pkgs response
2020
type PackageInfo struct {
21-
Origin string `json:"origin"`
22-
Name string `json:"name"`
23-
Version string `json:"version"`
24-
Release string `json:"release"`
21+
Origin string `json:"origin"`
22+
Name string `json:"name"`
23+
Version string `json:"version"`
24+
Release string `json:"release"`
25+
Channels []string `json:"channels"`
2526
}
2627

2728
// Depot for hab
2829
type Depot interface {
29-
PackageVersionsFromName(pkgName string) ([]string, error)
30+
PackageVersionsFromName(pkgName string, habChannel string) ([]string, error)
3031
}
3132

3233
type depot struct {
@@ -67,7 +68,7 @@ func (depo *depot) packagesInfo(pkgName string, from int) (PackagesInfo, error)
6768
}
6869

6970
// PackageVersionsFromName fetch all versions from depot
70-
func (depo *depot) PackageVersionsFromName(pkgName string) ([]string, error) {
71+
func (depo *depot) PackageVersionsFromName(pkgName string, habChannel string) ([]string, error) {
7172
var packages []PackageInfo
7273

7374
offset := 0
@@ -93,8 +94,13 @@ func (depo *depot) PackageVersionsFromName(pkgName string) ([]string, error) {
9394
if foundVersions[pkg.Version] {
9495
continue
9596
}
96-
versions = append(versions, pkg.Version)
97-
foundVersions[pkg.Version] = true
97+
for _, channel := range pkg.Channels {
98+
if channel == habChannel {
99+
versions = append(versions, pkg.Version)
100+
foundVersions[pkg.Version] = true
101+
break
102+
}
103+
}
98104
}
99105

100106
return versions, nil

0 commit comments

Comments
 (0)