You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			191 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Go
		
	
			
		
		
	
	
			191 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Go
		
	
package docker
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/Masterminds/semver/v3"
 | 
						|
)
 | 
						|
 | 
						|
type mobyBuildkitVersion struct {
 | 
						|
	MobyVersionConstraint string
 | 
						|
	BuildkitVersion       string
 | 
						|
}
 | 
						|
 | 
						|
// https://gist.github.com/crazy-max/780cb6878c37cb79ec3f7699706cf83f
 | 
						|
// constraint syntax: https://github.com/Masterminds/semver#checking-version-constraints
 | 
						|
var mobyBuildkitVersions = []mobyBuildkitVersion{
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 18.06.0-0, < 18.06.1-0",
 | 
						|
		BuildkitVersion:       "v0.0.0+9acf51e",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 18.06.1-0, < 18.09.0-0",
 | 
						|
		BuildkitVersion:       "v0.0.0+98f1604",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 18.09.0-0, < 18.09.1-0",
 | 
						|
		BuildkitVersion:       "v0.0.0+c7bb575",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "~18.09.1-0",
 | 
						|
		BuildkitVersion:       "v0.3.3",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "> 18.09.1-0, < 18.09.6-0",
 | 
						|
		BuildkitVersion:       "v0.3.3+d9f7592",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 18.09.6-0, < 18.09.7-0",
 | 
						|
		BuildkitVersion:       "v0.4.0+ed4da8b",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 18.09.7-0, < 19.03.0-0",
 | 
						|
		BuildkitVersion:       "v0.4.0+05766c5",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.0-beta2",
 | 
						|
		BuildkitVersion:       "v0.4.0+b302896",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.0-beta3",
 | 
						|
		BuildkitVersion:       "v0.4.0+8818c67",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.0-beta5",
 | 
						|
		BuildkitVersion:       "v0.5.1+f238f1e",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "< 19.03.2-0",
 | 
						|
		BuildkitVersion:       "v0.5.1+1f89ec1",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.2-beta1",
 | 
						|
		BuildkitVersion:       "v0.6.1",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 19.03.2-0, < 19.03.3-0",
 | 
						|
		BuildkitVersion:       "v0.6.1+588c73e",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 19.03.3-0, < 19.03.5-beta2",
 | 
						|
		BuildkitVersion:       "v0.6.2",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.5-rc1",
 | 
						|
		BuildkitVersion:       "v0.6.2+ff93519",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.5",
 | 
						|
		BuildkitVersion:       "v0.6.3+928f3b4",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.6-rc1",
 | 
						|
		BuildkitVersion:       "v0.6.3+926935b",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 19.03.6-rc2, < 19.03.7-0",
 | 
						|
		BuildkitVersion:       "v0.6.3+57e8ad5",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 19.03.7-0, < 19.03.9-0",
 | 
						|
		BuildkitVersion:       "v0.6.4",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 19.03.9-0, < 19.03.13-0",
 | 
						|
		BuildkitVersion:       "v0.6.4+a7d7b7f",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.13-beta2",
 | 
						|
		BuildkitVersion:       "v0.6.4+da1f4bf",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "<= 19.03.14",
 | 
						|
		BuildkitVersion:       "v0.6.4+df89d4d",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "< 20.10.0",
 | 
						|
		BuildkitVersion:       "v0.6.4+396bfe2",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "20.10.0-0 - 20.10.2-0",
 | 
						|
		BuildkitVersion:       "v0.8.1",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 20.10.3-0, < 20.10.4-0",
 | 
						|
		BuildkitVersion:       "v0.8.1+68bb095",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "20.10.4-0 - 20.10.6",
 | 
						|
		BuildkitVersion:       "v0.8.2",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "20.10.7-0 - 20.10.10-0",
 | 
						|
		BuildkitVersion:       "v0.8.2+244e8cde",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "20.10.11-0 - 20.10.18-0",
 | 
						|
		BuildkitVersion:       "v0.8.2+bc07b2b8",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 20.10.19-0, < 20.10.20-0",
 | 
						|
		BuildkitVersion:       "v0.8.2+3a1eeca5",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 20.10.20-0, < 20.10.21-0",
 | 
						|
		BuildkitVersion:       "v0.8.2+c0149372",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 20.10.21-0, <= 20.10.23",
 | 
						|
		BuildkitVersion:       "v0.8.2+eeb7b65",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "~20.10-0",
 | 
						|
		BuildkitVersion:       "v0.8+unknown",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "~22.06-0",
 | 
						|
		BuildkitVersion:       "v0.10.3",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 23.0.0-0, < 23.0.1-0",
 | 
						|
		BuildkitVersion:       "v0.10.6",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "23.0.1",
 | 
						|
		BuildkitVersion:       "v0.10.6+4f0ee09",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 23.0.2-0, < 23.0.4-0",
 | 
						|
		BuildkitVersion:       "v0.10.6+70f2ad5",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: ">= 23.0.4-0, < 23.0.7-0",
 | 
						|
		BuildkitVersion:       "v0.10.6+d52b2d5",
 | 
						|
	},
 | 
						|
	{
 | 
						|
		MobyVersionConstraint: "~23-0",
 | 
						|
		BuildkitVersion:       "v0.10+unknown",
 | 
						|
	},
 | 
						|
}
 | 
						|
 | 
						|
func resolveBuildKitVersion(ver string) (string, error) {
 | 
						|
	mobyVersion, err := semver.NewVersion(ver)
 | 
						|
	if err != nil {
 | 
						|
		return "", err
 | 
						|
	}
 | 
						|
	for _, m := range mobyBuildkitVersions {
 | 
						|
		c, err := semver.NewConstraint(m.MobyVersionConstraint)
 | 
						|
		if err != nil {
 | 
						|
			return "", err
 | 
						|
		}
 | 
						|
		//if _, errs := c.Validate(mobyVersion); len(errs) > 0 {
 | 
						|
		//	for _, err := range errs {
 | 
						|
		//		fmt.Printf("%s: %v\n", m.MobyVersionConstraint, err)
 | 
						|
		//	}
 | 
						|
		//}
 | 
						|
		if !c.Check(mobyVersion) {
 | 
						|
			continue
 | 
						|
		}
 | 
						|
		return m.BuildkitVersion, nil
 | 
						|
	}
 | 
						|
	return "", nil
 | 
						|
}
 |