Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
72c76ec95d | |||
4d2d865e9d | |||
c331bc057f | |||
b685c63efe |
3
.gitignore
vendored
3
.gitignore
vendored
@ -155,3 +155,6 @@ out/
|
||||
/kalpa.toml
|
||||
/indexes.json
|
||||
/dots.json
|
||||
|
||||
# nix
|
||||
result
|
||||
|
71
flake.nix
71
flake.nix
@ -13,28 +13,66 @@
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
poetry2nix = poetry2nixSrc.lib.mkPoetry2Nix { inherit pkgs; };
|
||||
kalpaaApp = poetry2nix.mkPoetryApplication {
|
||||
projectDir = self;
|
||||
python = pkgs.python39;
|
||||
preferWheels = true;
|
||||
};
|
||||
kalpaaEnv = poetry2nix.mkPoetryEnv {
|
||||
projectDir = self;
|
||||
python = pkgs.python39;
|
||||
preferWheels = true;
|
||||
overrides = poetry2nix.overrides.withDefaults (self: super: {
|
||||
});
|
||||
};
|
||||
kalpaa-docker-image = pkgs.dockerTools.buildLayeredImage {
|
||||
name = "kalpaa";
|
||||
tag = "latest";
|
||||
|
||||
|
||||
contents = [
|
||||
|
||||
# some stuff that dockertools provides?
|
||||
# pkgs.dockerTools.usrBinEnv
|
||||
# pkgs.dockerTools.binSh
|
||||
# pkgs.dockerTools.caCertificates
|
||||
# pkgs.dockerTools.fakeNss
|
||||
|
||||
pkgs.bash
|
||||
pkgs.coreutils
|
||||
# pkgs.cacert
|
||||
# pkgs.gnutar
|
||||
# pkgs.gzip
|
||||
# pkgs.gnused
|
||||
# pkgs.gnugrep
|
||||
pkgs.uv
|
||||
kalpaaApp
|
||||
|
||||
];
|
||||
|
||||
config = {
|
||||
Cmd = [ "/bin/bash" ];
|
||||
Env = [
|
||||
"PATH=/bin"
|
||||
];
|
||||
WorkingDir = "/workspace";
|
||||
};
|
||||
};
|
||||
in {
|
||||
packages = {
|
||||
kalpaApp = poetry2nix.mkPoetryApplication {
|
||||
projectDir = self;
|
||||
python = pkgs.python39;
|
||||
preferWheels = true;
|
||||
};
|
||||
kalpaEnv = poetry2nix.mkPoetryEnv {
|
||||
projectDir = self;
|
||||
python = pkgs.python39;
|
||||
preferWheels = true;
|
||||
overrides = poetry2nix.overrides.withDefaults (self: super: {
|
||||
});
|
||||
};
|
||||
default = self.packages.${system}.kalpaEnv;
|
||||
inherit kalpaaEnv;
|
||||
inherit kalpaaApp;
|
||||
inherit kalpaa-docker-image;
|
||||
default = self.packages.${system}.kalpaaEnv;
|
||||
};
|
||||
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
inputsFrom = [ self.packages.${system}.kalpaEnv ];
|
||||
inputsFrom = [ self.packages.${system}.kalpaaEnv ];
|
||||
buildInputs = [
|
||||
pkgs.poetry
|
||||
self.packages.${system}.kalpaEnv
|
||||
self.packages.${system}.kalpaApp
|
||||
self.packages.${system}.kalpaaEnv
|
||||
self.packages.${system}.kalpaaApp
|
||||
pkgs.just
|
||||
pkgs.nodejs
|
||||
];
|
||||
@ -42,6 +80,7 @@
|
||||
export DO_NIX_CUSTOM=1
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
}
|
||||
|
21
justfile
21
justfile
@ -70,3 +70,24 @@ release version="":
|
||||
|
||||
# htmlcov:
|
||||
# poetry run pytest --cov-report=html
|
||||
|
||||
# build docker image
|
||||
build-container:
|
||||
#!/usr/bin/env bash
|
||||
set -euxo pipefail
|
||||
nix build .#kalpaa-docker-image
|
||||
|
||||
# load the image into docker
|
||||
load-container:
|
||||
#!/usr/bin/env bash
|
||||
set -euxo pipefail
|
||||
docker load < result
|
||||
|
||||
# build and load in one step
|
||||
build-load-container: build-container load-container
|
||||
echo "Image loaded successfully!"
|
||||
|
||||
exec-container:
|
||||
#!/usr/bin/env bash
|
||||
set -euxo pipefail
|
||||
docker run -it -v $(pwd)/kalpaa.toml:/workspace/kalpaa.toml -v $(pwd)/dots.json:/workspace/dots.json -v $(pwd)/indexes.json:/workspace/indexes.json kalpaa /bin/bash
|
||||
|
@ -14,7 +14,7 @@ if [ -z "$(git status --porcelain)" ]; then
|
||||
release_needed=false
|
||||
if \
|
||||
{ git log "$( git describe --tags --abbrev=0 )..HEAD" --format='%s' | cut -d: -f1 | sort -u | sed -e 's/([^)]*)//' | grep -q -i -E '^feat|fix|perf|refactor|revert$' ; } || \
|
||||
{ git log "$( git describe --tags --abbrev=0 )..HEAD" --format='%s' | cut -d: -f1 | sort -u | sed -e 's/([^)]*)//' | grep -q -E '\!$' ; } || \
|
||||
{ git log "$( git describe --tags --abbrev=0 )..HEAD" --format='%s' | cut -d: -f1 | sort -u | sed -e 's/([^)]*)//' | grep -q -E '!$' ; } || \
|
||||
{ git log "$( git describe --tags --abbrev=0 )..HEAD" --format='%b' | grep -q -E '^BREAKING CHANGE:' ; }
|
||||
then
|
||||
release_needed=true
|
||||
|
Loading…
x
Reference in New Issue
Block a user