feat(macos): support macOS (#1712)
This commit is contained in:
		
							
								
								
									
										26
									
								
								config/os.go
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								config/os.go
									
									
									
									
									
								
							@@ -401,6 +401,32 @@ func GetEOL(family, release string) (eol EOL, found bool) {
 | 
			
		||||
			eol, found = EOL{StandardSupportUntil: time.Date(2031, 10, 14, 23, 59, 59, 0, time.UTC)}, true
 | 
			
		||||
		default:
 | 
			
		||||
		}
 | 
			
		||||
	case constant.MacOSX, constant.MacOSXServer:
 | 
			
		||||
		eol, found = map[string]EOL{
 | 
			
		||||
			"10.0":  {Ended: true},
 | 
			
		||||
			"10.1":  {Ended: true},
 | 
			
		||||
			"10.2":  {Ended: true},
 | 
			
		||||
			"10.3":  {Ended: true},
 | 
			
		||||
			"10.4":  {Ended: true},
 | 
			
		||||
			"10.5":  {Ended: true},
 | 
			
		||||
			"10.6":  {Ended: true},
 | 
			
		||||
			"10.7":  {Ended: true},
 | 
			
		||||
			"10.8":  {Ended: true},
 | 
			
		||||
			"10.9":  {Ended: true},
 | 
			
		||||
			"10.10": {Ended: true},
 | 
			
		||||
			"10.11": {Ended: true},
 | 
			
		||||
			"10.12": {Ended: true},
 | 
			
		||||
			"10.13": {Ended: true},
 | 
			
		||||
			"10.14": {Ended: true},
 | 
			
		||||
			"10.15": {Ended: true},
 | 
			
		||||
		}[majorDotMinor(release)]
 | 
			
		||||
	case constant.MacOS, constant.MacOSServer:
 | 
			
		||||
		eol, found = map[string]EOL{
 | 
			
		||||
			"11": {},
 | 
			
		||||
			"12": {},
 | 
			
		||||
			"13": {},
 | 
			
		||||
			// "14": {},
 | 
			
		||||
		}[major(release)]
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -663,6 +663,22 @@ func TestEOL_IsStandardSupportEnded(t *testing.T) {
 | 
			
		||||
			extEnded: false,
 | 
			
		||||
			found:    true,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name:     "Mac OS X 10.15 EOL",
 | 
			
		||||
			fields:   fields{family: MacOSX, release: "10.15.7"},
 | 
			
		||||
			now:      time.Date(2023, 7, 25, 23, 59, 59, 0, time.UTC),
 | 
			
		||||
			stdEnded: true,
 | 
			
		||||
			extEnded: true,
 | 
			
		||||
			found:    true,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name:     "macOS 13.4.1 supported",
 | 
			
		||||
			fields:   fields{family: MacOS, release: "13.4.1"},
 | 
			
		||||
			now:      time.Date(2023, 7, 25, 23, 59, 59, 0, time.UTC),
 | 
			
		||||
			stdEnded: false,
 | 
			
		||||
			extEnded: false,
 | 
			
		||||
			found:    true,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	for _, tt := range tests {
 | 
			
		||||
		t.Run(tt.name, func(t *testing.T) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user