Compare commits
No commits in common. "main" and "ci" have entirely different histories.
12
README.md
12
README.md
@ -41,10 +41,8 @@ By setting `$BASE_DIR` you can persist the database for later runs.
|
||||
|
||||
## TODO
|
||||
|
||||
- [x] CI
|
||||
- [x] Docker container (in flake)
|
||||
- [x] try fourmolu
|
||||
- [x] Test leap second handling in the `time` package
|
||||
- [ ] Fix container shutdown delay
|
||||
- [ ] Fix `responseFile` always returning 200
|
||||
- [ ] use queue to sync logging of indexer and main thread
|
||||
- CI
|
||||
- Docker container (in flake)
|
||||
- try fourmolu
|
||||
- Test leap second handling in the `time` package
|
||||
- use queue to sync logging of indexer and main thread
|
||||
|
||||
@ -65,7 +65,6 @@ import Data.Time.Clock.POSIX (getPOSIXTime)
|
||||
import qualified Envy
|
||||
import qualified Yore.DB as DB
|
||||
import qualified Yore.Log as Log
|
||||
import System.IO (hSetBuffering, BufferMode (..), stdout)
|
||||
|
||||
data ConfigT f = Config
|
||||
{ yorePort :: f =@@ Int ? 3000
|
||||
@ -80,8 +79,6 @@ deriving instance Show Config
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
hSetBuffering stdout NoBuffering
|
||||
|
||||
cfg <-
|
||||
Envy.load @ConfigT >>= \case
|
||||
Left errs -> do
|
||||
|
||||
42
flake.nix
42
flake.nix
@ -58,48 +58,22 @@
|
||||
# Return only the bin folder to curb image size
|
||||
compose.justStaticExecutables
|
||||
];
|
||||
|
||||
image =
|
||||
pkgs.dockerTools.buildImage {
|
||||
name = "git.pbrinkmeier.de/paul/yore";
|
||||
tag = yore.version;
|
||||
copyToRoot = [ pkgs.cacert ];
|
||||
config = {
|
||||
Cmd = [ "${entrypoint}/bin/run" ];
|
||||
StopSignal = "SIGINT";
|
||||
};
|
||||
};
|
||||
|
||||
entrypoint = pkgs.writeShellApplication {
|
||||
name = "run";
|
||||
runtimeInputs = [ pkgs.coreutils pkgs.dbmate yore ];
|
||||
text = ''
|
||||
set -Eeuo pipefail
|
||||
|
||||
mkdir -p "''${YORE_DBMATE_DIR}"
|
||||
TMPDIR=$(mktemp -dp "''${YORE_DBMATE_DIR}")
|
||||
mkdir -p "''${TMPDIR}/db"
|
||||
cp -r ${./db}/* "''${TMPDIR}/db"
|
||||
cd "''${TMPDIR}"
|
||||
dbmate up
|
||||
chmod +w -R "''${TMPDIR}"
|
||||
rm -rf "''${TMPDIR}"
|
||||
|
||||
# Replace bash and inherit PID 1
|
||||
cd /
|
||||
exec yore
|
||||
'';
|
||||
};
|
||||
in {
|
||||
packages = rec {
|
||||
default = yore;
|
||||
inherit yore image;
|
||||
inherit yore;
|
||||
yore-meta = pkgs.runCommand "yore-meta" {} ''
|
||||
mkdir -p $out
|
||||
echo -n ${yore.version} > $out/version
|
||||
echo -n ${image.drvAttrs.imageName}:${image.drvAttrs.imageTag} > $out/image-tag
|
||||
echo -n git.pbrinkmeier.de/paul/yore:${yore.version} > $out/image-tag
|
||||
'';
|
||||
|
||||
image =
|
||||
pkgs.dockerTools.buildImage {
|
||||
name = "git.pbrinkmeier.de/paul/yore";
|
||||
tag = yore.version;
|
||||
config.Cmd = [ "${yore}/bin/yore" ];
|
||||
};
|
||||
|
||||
opium_ = opium.packages.${system}.opium;
|
||||
};
|
||||
|
||||
@ -112,7 +112,7 @@ showpdfRequest (y, m, d) =
|
||||
NoReqBody
|
||||
bsResponse
|
||||
( formToQuery
|
||||
[ ("cmd" :: Text, "showpdfjs")
|
||||
[ ("cmd" :: Text, "showpdf")
|
||||
, ("year", y)
|
||||
, ("month", m)
|
||||
, ("day", d)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
cabal-version: 3.4
|
||||
|
||||
name: yore
|
||||
version: 0.0.9
|
||||
version: 0.0.1
|
||||
author: Paul Brinkmeier
|
||||
maintainer: hallo@pbrinkmeier.de
|
||||
copyright: 2023 Paul Brinkmeier
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user