-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
133 lines (108 loc) · 3.92 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
{
description = "Automation for Kubernetes development and testing";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
devenv.url = "github:cachix/devenv";
};
outputs = inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.devenv.flakeModule
];
systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
perSystem = { config, self', inputs', pkgs, system, ... }: rec {
devenv.shells = {
default = {
packages = with pkgs; [
kind
kubectl
kustomize
] ++ [
self'.packages.garden
# self'.packages.garden-src
];
# https://github.com/cachix/devenv/issues/528#issuecomment-1556108767
containers = pkgs.lib.mkForce { };
};
ci = devenv.shells.default;
};
packages = {
garden-src = pkgs.mkYarnPackage rec {
name = "garden";
version = "0.13.13";
src = pkgs.fetchFromGitHub {
owner = "garden-io";
repo = "${name}";
rev = "${version}";
sha256 = "sha256-IDdZ+UpFoycX00TK99JTSTqX9xUzYSYAuhZK5DPDzRg=";
};
patches = [ ./remove_self_update.patch ];
buildPhase = ''
runHook preBuild
export HOME=$(mktemp -d)
yarn --offline build
# yarn build
# pushd deps/${name}
# yarn --verbose build
# popd
runHook postBuild
'';
# installPhase = ''
# runHook preInstall
#
#
# runHook postInstall
# '';
doDist = false;
};
garden = pkgs.stdenv.mkDerivation rec {
pname = "garden";
version = "0.13.13";
src =
let
selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}");
suffix = selectSystem {
x86_64-linux = "linux-amd64";
x86_64-darwin = "macos-amd64";
aarch64-linux = "linux-arm64";
aarch64-darwin = "macos-arm64";
};
sha256 = selectSystem {
x86_64-linux = "sha256-PV1qZI29AsdwpKSjQxgupJzV8T32/FlNFrFgM1gO92A=";
x86_64-darwin = "sha256-Jpywk3BI01YAKDaPJBdatpRrEB5/HMzBBgN1BoTpqmA=";
aarch64-linux = "sha256-n787e9fOpmZs1cGgJHwkodmYQRNclaSnOQo8OGpX1nQ=";
aarch64-darwin = "sha256-XJSL+RafzSZ+0jIepgJL1Sl2hsTumAd9JHVAzDIOKEw=";
};
in
pkgs.fetchzip {
inherit sha256;
url = "https://github.com/garden-io/garden/releases/download/${version}/garden-${version}-${suffix}.tar.gz";
};
# buildInputs = [ pkgs.git ];
nativeBuildInputs = [ pkgs.git pkgs.makeWrapper ];
dontConfigure = true;
dontBuild = true;
dontFixup = true;
dontStrip = true;
dontPatchELF = true;
installPhase = ''
runHook preInstall
mkdir -p $out/opt/garden/
cp -r * $out/opt/garden/
cd $out/opt/garden/static && git init && cd -
runHook postInstall
'';
# https://github.com/kubernetes/test-infra/issues/28721#issuecomment-1429813787
postInstall = ''
mkdir -p $out/bin/
makeWrapper $out/opt/garden/garden $out/bin/garden \
--set GIT_CONFIG_COUNT 1 \
--set GIT_CONFIG_KEY_0 safe.directory \
--set GIT_CONFIG_VALUE_0 $out/opt/garden/static
'';
};
};
};
};
}