1 Commits

Author SHA1 Message Date
Tom Alexander
bc115a7ccc Do not rewrite timestamps.
Some checks failed
format Build format has succeeded
clippy Build clippy has failed
build Build build has succeeded
rust-test Build rust-test has failed
foreign-document-test Build foreign-document-test has failed
This is to fix buildkit caching.
2026-07-09 22:42:25 -04:00
8 changed files with 100 additions and 140 deletions

View File

@@ -2,8 +2,6 @@ apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: build
labels:
pdb: protect
spec:
timeouts:
pipeline: "2h0m0s"
@@ -64,7 +62,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: "dda7b690195b43e8b9859d1caf5dcbf48588ade1"
value: "31376f29c6332ea8c378152d5ccda1ba9dbcd7bb"
- name: pathInRepo
value: task/git-clone/0.1/git-clone.yaml
resolver: git
@@ -103,7 +101,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: dda7b690195b43e8b9859d1caf5dcbf48588ade1
value: 31376f29c6332ea8c378152d5ccda1ba9dbcd7bb
- name: pathInRepo
value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params:

View File

@@ -2,8 +2,6 @@ apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: foreign-document-test
labels:
pdb: protect
spec:
timeouts:
pipeline: "2h0m0s"
@@ -64,7 +62,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: "dda7b690195b43e8b9859d1caf5dcbf48588ade1"
value: "31376f29c6332ea8c378152d5ccda1ba9dbcd7bb"
- name: pathInRepo
value: task/git-clone/0.1/git-clone.yaml
resolver: git
@@ -103,7 +101,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: dda7b690195b43e8b9859d1caf5dcbf48588ade1
value: 31376f29c6332ea8c378152d5ccda1ba9dbcd7bb
- name: pathInRepo
value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params:
@@ -121,7 +119,7 @@ spec:
- --import-cache
- "type=registry,ref=$(params.image-name):buildcache"
- --export-cache
- "type=registry,ref=$(params.image-name):buildcache,mode=max,compression=zstd,compression-level=22,rewrite-timestamp=true,image-manifest=true,oci-mediatypes=true"
- "type=registry,ref=$(params.image-name):buildcache,mode=max,compression=zstd,compression-level=22,image-manifest=true,oci-mediatypes=true"
- --opt
- build-arg:SOURCE_DATE_EPOCH=$(tasks.get-git-commit-time.results.unix-time)
- name: BUILDKITD_TOML

View File

@@ -2,8 +2,6 @@ apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: rust-format
labels:
pdb: protect
spec:
timeouts:
pipeline: "2h0m0s"
@@ -64,7 +62,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: "dda7b690195b43e8b9859d1caf5dcbf48588ade1"
value: "31376f29c6332ea8c378152d5ccda1ba9dbcd7bb"
- name: pathInRepo
value: task/git-clone/0.1/git-clone.yaml
resolver: git
@@ -103,7 +101,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: dda7b690195b43e8b9859d1caf5dcbf48588ade1
value: 31376f29c6332ea8c378152d5ccda1ba9dbcd7bb
- name: pathInRepo
value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params:

View File

@@ -2,8 +2,6 @@ apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: rust-clippy
labels:
pdb: protect
spec:
taskRunTemplate:
serviceAccountName: build-bot
@@ -64,7 +62,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: "dda7b690195b43e8b9859d1caf5dcbf48588ade1"
value: "31376f29c6332ea8c378152d5ccda1ba9dbcd7bb"
- name: pathInRepo
value: task/git-clone/0.1/git-clone.yaml
resolver: git
@@ -103,7 +101,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: dda7b690195b43e8b9859d1caf5dcbf48588ade1
value: 31376f29c6332ea8c378152d5ccda1ba9dbcd7bb
- name: pathInRepo
value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params:

View File

@@ -2,8 +2,6 @@ apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: rust-test
labels:
pdb: protect
spec:
timeouts:
pipeline: "2h0m0s"
@@ -64,7 +62,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: "dda7b690195b43e8b9859d1caf5dcbf48588ade1"
value: "31376f29c6332ea8c378152d5ccda1ba9dbcd7bb"
- name: pathInRepo
value: task/git-clone/0.1/git-clone.yaml
resolver: git
@@ -103,7 +101,7 @@ spec:
- name: url
value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision
value: dda7b690195b43e8b9859d1caf5dcbf48588ade1
value: 31376f29c6332ea8c378152d5ccda1ba9dbcd7bb
- name: pathInRepo
value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params:

143
flake.nix
View File

@@ -35,9 +35,9 @@
pkgs = import nixpkgs {
inherit system overlays;
};
rustToolchain = (pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml).override {
targets = [ "wasm32-unknown-unknown" ];
};
rustToolchain =
(pkgs.pkgsBuildHost.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml).override
{ targets = [ "wasm32-unknown-unknown" ]; };
in
{
default = pkgs.mkShell {
@@ -57,10 +57,43 @@
pkgs = import nixpkgs {
inherit system overlays;
};
appliedOverlay = self.overlays.default pkgs pkgs;
build_wasm =
{
bindgenTarget ? null,
}:
(pkgs.callPackage ./nix/package.nix {
targetBins = [
"wasm"
];
features = [ "wasm" ];
cargoBuildTarget = "wasm32-unknown-unknown";
buildType = "wasm";
}).overrideAttrs
(
old:
let
bindgen_command = [
"${pkgs.wasm-bindgen-cli}/bin/wasm-bindgen"
"--target"
bindgenTarget
"--out-dir"
"target/wasm32-unknown-unknown/${bindgenTarget}"
"target/wasm32-unknown-unknown/wasm/wasm.wasm"
];
in
{
postBuild = ''
${pkgs.lib.escapeShellArgs bindgen_command}
'';
installPhase = ''
mkdir -p $out/share/${bindgenTarget}
cp target/wasm32-unknown-unknown/${bindgenTarget}/* $out/share/${bindgenTarget}
'';
}
);
in
rec {
default = all;
all = pkgs.symlinkJoin {
name = "all";
paths = [
@@ -70,93 +103,37 @@
wasm_web
];
};
inherit (appliedOverlay.organic)
library
devTools
wasm_bundler
wasm_web
;
library = (pkgs.callPackage ./nix/package.nix { buildLib = true; }).overrideAttrs (
old:
let
in
{
installPhase = ''
mkdir -p $out/lib
cp target/*/release/liborganic.rlib $out/lib/
'';
}
);
devTools = pkgs.callPackage ./nix/package.nix {
targetBins = [
"parse"
"compare"
];
features = [ "compare" ];
};
wasm_bundler = build_wasm { bindgenTarget = "bundler"; };
wasm_web = build_wasm { bindgenTarget = "web"; };
docker_env = pkgs.buildEnv {
name = "organic";
paths = with pkgs; [
appliedOverlay.organic.devTools
devTools
bash
uutils-coreutils-noprefix
# toybox # Smaller than uutils-coreutils?
];
};
default = all;
}
);
overlays.default = final: prev: {
organic = final.lib.makeScope final.newScope (
organicScope:
let
build_wasm =
{
bindgenTarget ? null,
}:
(organicScope.callPackage ./nix/package.nix {
inherit rust-overlay;
targetBins = [
"wasm"
];
features = [ "wasm" ];
cargoBuildTarget = "wasm32-unknown-unknown";
buildType = "wasm";
}).overrideAttrs
(
old:
let
bindgen_command = [
"${final.wasm-bindgen-cli}/bin/wasm-bindgen"
"--target"
bindgenTarget
"--out-dir"
"target/wasm32-unknown-unknown/${bindgenTarget}"
"target/wasm32-unknown-unknown/wasm/wasm.wasm"
];
in
{
postBuild = ''
${final.lib.escapeShellArgs bindgen_command}
'';
installPhase = ''
mkdir -p $out/share/${bindgenTarget}
cp target/wasm32-unknown-unknown/${bindgenTarget}/* $out/share/${bindgenTarget}
'';
}
);
in
{
library =
(organicScope.callPackage ./nix/package.nix {
inherit rust-overlay;
buildLib = true;
}).overrideAttrs
(
old:
let
in
{
installPhase = ''
mkdir -p $out/lib
cp target/*/release/liborganic.rlib $out/lib/
'';
}
);
devTools = organicScope.callPackage ./nix/package.nix {
inherit rust-overlay;
targetBins = [
"parse"
"compare"
];
features = [ "compare" ];
};
wasm_bundler = build_wasm { bindgenTarget = "bundler"; };
wasm_web = build_wasm { bindgenTarget = "web"; };
}
);
};
};
}

View File

@@ -1,8 +1,8 @@
{
hello,
lib,
pkgs,
rust-overlay,
makeRustPlatform,
pkgsBuildHost,
targetBins ? [ ],
features ? [ ],
@@ -12,41 +12,34 @@
}:
let
cargoToml = (lib.importTOML ../Cargo.toml);
rustPlatformFor =
pkgs:
let
rust-bin = rust-overlay.lib.mkRustBin { } pkgs;
rustToolchain = (rust-bin.fromRustupToolchainFile ../rust-toolchain.toml).override (
if cargoBuildTarget != null then
{
targets = [ cargoBuildTarget ];
}
else
{ }
);
baseRustPlatform = (
pkgs.makeRustPlatform {
cargo = rustToolchain;
rustc = rustToolchain;
rustToolchain = (pkgsBuildHost.rust-bin.fromRustupToolchainFile ../rust-toolchain.toml).override (
if cargoBuildTarget != null then
{
targets = [ cargoBuildTarget ];
}
else
{ }
);
baseRustPlatform = (
makeRustPlatform {
cargo = rustToolchain;
rustc = rustToolchain;
}
);
rustPlatform =
if cargoBuildTarget != null then
baseRustPlatform.overrideScope (
final: prev: {
cargoBuildHook = prev.cargoBuildHook.overrideDerivation (_: {
rustcTargetSpec = cargoBuildTarget;
});
cargoInstallHook = hello;
}
);
rustPlatform =
if cargoBuildTarget != null then
baseRustPlatform.overrideScope (
final: prev: {
cargoBuildHook = prev.cargoBuildHook.overrideDerivation (_: {
rustcTargetSpec = cargoBuildTarget;
});
cargoInstallHook = hello;
}
)
else
baseRustPlatform;
in
rustPlatform;
)
else
baseRustPlatform;
in
(rustPlatformFor pkgs).buildRustPackage (
# rustPlatform.buildRustPackage (
rustPlatform.buildRustPackage (
{
pname = "organic";
version = cargoToml.package.version;

View File

@@ -1,4 +1,4 @@
[toolchain]
channel = "nightly-2026-05-23"
channel = "nightly"
profile = "default"
components = ["clippy", "rustfmt"]