Tighten checks, alpine 32bit bindists is 1st class
This commit is contained in:
		
							parent
							
								
									0c7f60fae6
								
							
						
					
					
						commit
						f964382175
					
				@ -67,7 +67,7 @@ validate dls = do
 | 
				
			|||||||
    forM_ (M.toList dls) $ \(t, versions) ->
 | 
					    forM_ (M.toList dls) $ \(t, versions) ->
 | 
				
			||||||
      forM_ (M.toList versions) $ \(v, vi) ->
 | 
					      forM_ (M.toList versions) $ \(v, vi) ->
 | 
				
			||||||
        forM_ (M.toList $ _viArch vi) $ \(arch, pspecs) -> do
 | 
					        forM_ (M.toList $ _viArch vi) $ \(arch, pspecs) -> do
 | 
				
			||||||
          checkHasRequiredPlatforms t v arch (M.keys pspecs)
 | 
					          checkHasRequiredPlatforms t v (_viTags vi) arch (M.keys pspecs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    checkGHCVerIsValid
 | 
					    checkGHCVerIsValid
 | 
				
			||||||
    forM_ (M.toList dls) $ \(t, _) -> checkMandatoryTags t
 | 
					    forM_ (M.toList dls) $ \(t, _) -> checkMandatoryTags t
 | 
				
			||||||
@ -81,17 +81,18 @@ validate dls = do
 | 
				
			|||||||
        lift $ $(logInfo) [i|All good|]
 | 
					        lift $ $(logInfo) [i|All good|]
 | 
				
			||||||
        pure ExitSuccess
 | 
					        pure ExitSuccess
 | 
				
			||||||
 where
 | 
					 where
 | 
				
			||||||
  checkHasRequiredPlatforms t v arch pspecs = do
 | 
					  checkHasRequiredPlatforms t v tags arch pspecs = do
 | 
				
			||||||
    let v' = prettyVer v
 | 
					    let v' = prettyVer v
 | 
				
			||||||
 | 
					        arch' = prettyArch arch
 | 
				
			||||||
    when (not $ any (== Linux UnknownLinux) pspecs) $ do
 | 
					    when (not $ any (== Linux UnknownLinux) pspecs) $ do
 | 
				
			||||||
      lift $ $(logError)
 | 
					      lift $ $(logError)
 | 
				
			||||||
        [i|Linux UnknownLinux missing for for #{t} #{v'} #{arch}|]
 | 
					        [i|Linux UnknownLinux missing for for #{t} #{v'} #{arch'}|]
 | 
				
			||||||
      addError
 | 
					      addError
 | 
				
			||||||
    when ((not $ any (== Darwin) pspecs) && arch == A_64) $ do
 | 
					    when ((not $ any (== Darwin) pspecs) && arch == A_64) $ do
 | 
				
			||||||
      lift $ $(logError) [i|Darwin missing for #{t} #{v'} #{arch}|]
 | 
					      lift $ $(logError) [i|Darwin missing for #{t} #{v'} #{arch'}|]
 | 
				
			||||||
      addError
 | 
					      addError
 | 
				
			||||||
    when ((not $ any (== FreeBSD) pspecs) && arch == A_64) $ lift $ $(logWarn)
 | 
					    when ((not $ any (== FreeBSD) pspecs) && arch == A_64) $ lift $ $(logWarn)
 | 
				
			||||||
      [i|FreeBSD missing for #{t} #{v'} #{arch}|]
 | 
					      [i|FreeBSD missing for #{t} #{v'} #{arch'}|]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    -- alpine needs to be set explicitly, because
 | 
					    -- alpine needs to be set explicitly, because
 | 
				
			||||||
    -- we cannot assume that "Linux UnknownLinux" runs on Alpine
 | 
					    -- we cannot assume that "Linux UnknownLinux" runs on Alpine
 | 
				
			||||||
@ -99,8 +100,9 @@ validate dls = do
 | 
				
			|||||||
    when (not $ any (== Linux Alpine) pspecs) $
 | 
					    when (not $ any (== Linux Alpine) pspecs) $
 | 
				
			||||||
      case t of
 | 
					      case t of
 | 
				
			||||||
        GHCup -> (lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch}|]) >> addError
 | 
					        GHCup -> (lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch}|]) >> addError
 | 
				
			||||||
        Cabal | v > [vver|2.4.1.0|] -> (lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch}|]) >> addError
 | 
					        Cabal | v > [vver|2.4.1.0|] -> (lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch'}|]) >> addError
 | 
				
			||||||
        _     -> lift $ $(logWarn) [i|Linux Alpine missing for #{t} #{v'} #{arch}|]
 | 
					        GHC | Latest `elem` tags || Recommended `elem` tags -> lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch'}|]
 | 
				
			||||||
 | 
					        _ -> lift $ $(logWarn) [i|Linux Alpine missing for #{t} #{v'} #{arch'}|]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  checkUniqueTags tool = do
 | 
					  checkUniqueTags tool = do
 | 
				
			||||||
    let allTags = join $ M.elems $ availableToolVersions dls tool
 | 
					    let allTags = join $ M.elems $ availableToolVersions dls tool
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user