feat: add docker builder use nix (#911)

* fix(typo): no -> not

* fix: update version

* feat: use nix to build docker image

* feat: ignore nix result

* fix(nix docker builder): failed to verify certificate
This commit is contained in:
Nobody6825 2024-05-19 12:50:50 +08:00 committed by GitHub
parent a29b116f0d
commit 6210ed9496
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 23 additions and 7 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ zerobot
ZeroBot-Plugin* ZeroBot-Plugin*
*.syso *.syso
/.direnv /.direnv
/result

View File

@ -14,12 +14,12 @@
}: }:
buildGoApplication { buildGoApplication {
pname = "ZeroBot-Plugin"; pname = "ZeroBot-Plugin";
version = "1.7.6"; version = "1.8.0";
pwd = ./.; pwd = ./.;
src = ./.; src = ./.;
# spec go version manually bcs # spec go version manually bcs
# https://github.com/nix-community/gomod2nix/blob/30e3c3a9ec4ac8453282ca7f67fca9e1da12c3e6/builder/default.nix#L130 # https://github.com/nix-community/gomod2nix/blob/30e3c3a9ec4ac8453282ca7f67fca9e1da12c3e6/builder/default.nix#L130
# do no work # do not work
go = pkgs.go_1_20; go = pkgs.go_1_20;
modules = ./gomod2nix.toml; modules = ./gomod2nix.toml;
} }

View File

@ -22,11 +22,26 @@
callPackage = pkgs.darwin.apple_sdk_11_0.callPackage or pkgs.callPackage; callPackage = pkgs.darwin.apple_sdk_11_0.callPackage or pkgs.callPackage;
in { in {
# doCheck will fail at write files # doCheck will fail at write files
packages.default = packages = rec {
(callPackage ./. {
inherit (gomod2nix.legacyPackages.${system}) buildGoApplication; ZeroBot-Plugin =
}) (callPackage ./. {
.overrideAttrs (_: {doCheck = false;}); inherit (gomod2nix.legacyPackages.${system}) buildGoApplication;
})
.overrideAttrs (_: {doCheck = false;});
default = ZeroBot-Plugin;
docker_builder = pkgs.dockerTools.buildLayeredImage {
name = "ZeroBot-Plugin";
tag = "latest";
contents = [
self.packages.${system}.ZeroBot-Plugin
pkgs.cacert
];
};
};
devShells.default = callPackage ./shell.nix { devShells.default = callPackage ./shell.nix {
inherit (gomod2nix.legacyPackages.${system}) mkGoEnv gomod2nix; inherit (gomod2nix.legacyPackages.${system}) mkGoEnv gomod2nix;
}; };