Compare commits

...

4 Commits

Author SHA1 Message Date
72c76ec95d
chore: fix grep warning
All checks were successful
gitea-physics/kalpa/pipeline/head This commit looks good
2025-03-22 22:40:16 -05:00
4d2d865e9d
chore: adds docker flake output and some utility commands
All checks were successful
gitea-physics/kalpa/pipeline/head This commit looks good
2025-03-22 22:39:39 -05:00
c331bc057f
git: ignore nix flake
All checks were successful
gitea-physics/kalpa/pipeline/head This commit looks good
2025-03-22 22:23:12 -05:00
b685c63efe
nix: move nix stuff up a bit 2025-03-22 22:13:00 -05:00
4 changed files with 80 additions and 17 deletions

3
.gitignore vendored
View File

@ -155,3 +155,6 @@ out/
/kalpa.toml
/indexes.json
/dots.json
# nix
result

View File

@ -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
'';
};
}
);
}

View File

@ -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

View File

@ -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