Skip to content

Commit

Permalink
build docker with nix
Browse files Browse the repository at this point in the history
Signed-off-by: Maximilian Huber <[email protected]>
  • Loading branch information
maxhbr committed Mar 13, 2024
1 parent 3f5e8ad commit bfd0d2f
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 43 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/build_container_image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ jobs:

- name: 'Build and push Image'
run: |
./docker-build-and-run.sh "--build-only"
docker save maxhbr/ldbcollector:latest | gzip > ldbcollector_latest.tar.gz
docker tag "maxhbr/ldbcollector" "ghcr.io/maxhbr/ldbcollector:latest"
docker push "ghcr.io/maxhbr/ldbcollector:latest"
nix build -o ldbcollector.tar.gz .#ldbcollector-image
cat ldbcollector.tar.gz | docker load
# docker tag "maxhbr/ldbcollector" "ghcr.io/maxhbr/ldbcollector:latest"
# docker push "ghcr.io/maxhbr/ldbcollector:latest"
- uses: actions/upload-artifact@v2
with:
name: dockerimage
path: ldbcollector_latest.tar.gz
path: ldbcollector.tar.gz
2 changes: 1 addition & 1 deletion app/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ main = withUtf8 $ do
cwd <- getCurrentDirectory
putStrLn $ "cwd: " ++ cwd
args <- getArgs
setupLogger
setupLogger False
(_, licenseGraph) <- runLicenseGraphM $ do
timedLGM "warmup" $ do
timedLGM "applySources" $
Expand Down
18 changes: 1 addition & 17 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 5 additions & 12 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@

inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
src = {
url = "file:.?submodules=1";
type = "git";
flake = false; # not including this results in inifite recursion
};
};

outputs = inputs@{ self, nixpkgs, ... }:let
Expand Down Expand Up @@ -48,22 +43,20 @@

in {
packages.${system} = rec {
# data = "${inputs.src}/data";
ldbcollector = project [];
ldbcollector-untested = hl.dontCheck self.packages.${system}.ldbcollector;
ldbcollector-image = pkgs.dockerTools.buildImage {
name = "maxhbr/ldbcollector";
tag = "0.1.0";

runAsRoot = ''
#!${pkgs.runtimeShell}
mkdir -p "/ldbcollector/data"
cp -r "${inputs.src}/data/." "/ldbcollector/data"
'';

config = {
Cmd = [ "${self.packages.${system}.ldbcollector-untested}/bin/ldbcollector-exe" ];
WorkingDir = "/ldbcollector";
Env = [
"LC_ALL=en_US.UTF-8"
"LANG=en_US.UTF-8"
"LANGUAGE=en_US.UTF-8"
];
Volumes = {
"/ldbcollector/data" = {};
};
Expand Down
1 change: 0 additions & 1 deletion src/Ldbcollector/Source/OSADL.hs
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ instance Source OSADL where
getSource _ = Source "OSADL"
getFacts (OSADL dir) = do
osadls <- glob (dir </> "unreflicenses" </> "*.txt")
mapM_ print osadls
rules <- V.fromList . map wrapFact <$> mapM getOSADL osadls
OSADLMatrix fromMatrix <- getOSADLMatrix (dir </> "matrixseqexpl.json")
return $ rules <> V.map wrapFact fromMatrix
20 changes: 13 additions & 7 deletions src/MyPrelude.hs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import System.Directory as X
import System.FilePath as X
import System.FilePath.Glob as X (glob)
import System.IO as X (hPutStrLn, stderr)
import GHC.IO.Encoding (getLocaleEncoding, utf8)
import System.Log.Formatter
import System.Log.Handler (setFormatter)
import System.Log.Handler.Simple
Expand Down Expand Up @@ -78,16 +79,21 @@ infoLogIO msg = infoM rootLoggerName msg
stderrLogIO :: String -> IO ()
stderrLogIO msg = errorM rootLoggerName (color Yellow msg)

setupLogger :: IO ()
setupLogger = do
setupLogger :: Bool -> IO ()
setupLogger with_logfile = do
updateGlobalLogger rootLoggerName (setLevel DEBUG)
hStderr <-
streamHandler stderr INFO >>= \lh ->
return $
setFormatter lh (simpleLogFormatter "[$time : $loggername : $prio] $msg")
hFile <-
fileHandler "_debug.log" DEBUG >>= \lh ->
return $
setFormatter lh (simpleLogFormatter "[$time : $loggername : $prio] $msg")
if with_logfile
then do
hFile <-
fileHandler "_debug.log" DEBUG >>= \lh ->
return $
setFormatter lh (simpleLogFormatter "[$time : $loggername : $prio] $msg")
updateGlobalLogger rootLoggerName (setHandlers [hStderr, hFile])
else do
infoLogIO "not using utf8 encoding, do not setup log-file"
updateGlobalLogger rootLoggerName (setHandlers [hStderr])
infoLogIO "# start ..."
updateGlobalLogger rootLoggerName (setHandlers [hStderr, hFile])

0 comments on commit bfd0d2f

Please sign in to comment.