dist: run tests
All checks were successful
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m47s
Test / Hakurei (push) Successful in 3m50s
Test / ShareFS (push) Successful in 4m0s
Test / Hpkg (push) Successful in 4m29s
Test / Sandbox (race detector) (push) Successful in 5m3s
Test / Hakurei (race detector) (push) Successful in 5m56s
Test / Flake checks (push) Successful in 1m45s
All checks were successful
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m47s
Test / Hakurei (push) Successful in 3m50s
Test / ShareFS (push) Successful in 4m0s
Test / Hpkg (push) Successful in 4m29s
Test / Sandbox (race detector) (push) Successful in 5m3s
Test / Hakurei (race detector) (push) Successful in 5m56s
Test / Flake checks (push) Successful in 1m45s
This used to be impossible due to nix jank which has been addressed. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
21
dist/release.sh
vendored
21
dist/release.sh
vendored
@@ -2,19 +2,30 @@
|
|||||||
cd "$(dirname -- "$0")/.."
|
cd "$(dirname -- "$0")/.."
|
||||||
VERSION="${HAKUREI_VERSION:-untagged}"
|
VERSION="${HAKUREI_VERSION:-untagged}"
|
||||||
pname="hakurei-${VERSION}"
|
pname="hakurei-${VERSION}"
|
||||||
out="dist/${pname}"
|
out="${DESTDIR:-dist}/${pname}"
|
||||||
|
|
||||||
|
echo '# Preparing distribution files.'
|
||||||
mkdir -p "${out}"
|
mkdir -p "${out}"
|
||||||
cp -v "README.md" "dist/hsurc.default" "dist/install.sh" "${out}"
|
cp -v "README.md" "dist/hsurc.default" "dist/install.sh" "${out}"
|
||||||
cp -rv "dist/comp" "${out}"
|
cp -rv "dist/comp" "${out}"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo '# Building hakurei.'
|
||||||
go generate ./...
|
go generate ./...
|
||||||
go build -trimpath -v -o "${out}/bin/" -ldflags "-s -w -buildid= -extldflags '-static'
|
go build -trimpath -v -o "${out}/bin/" -ldflags "-s -w
|
||||||
|
-buildid= -extldflags '-static'
|
||||||
-X hakurei.app/internal/info.buildVersion=${VERSION}
|
-X hakurei.app/internal/info.buildVersion=${VERSION}
|
||||||
-X hakurei.app/internal/info.hakureiPath=/usr/bin/hakurei
|
-X hakurei.app/internal/info.hakureiPath=/usr/bin/hakurei
|
||||||
-X hakurei.app/internal/info.hsuPath=/usr/bin/hsu
|
-X hakurei.app/internal/info.hsuPath=/usr/bin/hsu
|
||||||
-X main.hakureiPath=/usr/bin/hakurei" ./...
|
-X main.hakureiPath=/usr/bin/hakurei" ./...
|
||||||
|
echo
|
||||||
|
|
||||||
rm -f "./${out}.tar.gz" && tar -C dist -czf "${out}.tar.gz" "${pname}"
|
echo '# Testing hakurei.'
|
||||||
rm -rf "./${out}"
|
go test -ldflags='-buildid= -extldflags=-static' ./...
|
||||||
(cd dist && sha512sum "${pname}.tar.gz" > "${pname}.tar.gz.sha512")
|
echo
|
||||||
|
|
||||||
|
echo '# Creating distribution.'
|
||||||
|
rm -f "${out}.tar.gz" && tar -C "${out}/.." -vczf "${out}.tar.gz" "${pname}"
|
||||||
|
rm -rf "${out}"
|
||||||
|
(cd "${out}/.." && sha512sum "${pname}.tar.gz" > "${pname}.tar.gz.sha512")
|
||||||
|
echo
|
||||||
|
|||||||
32
flake.nix
32
flake.nix
@@ -143,19 +143,27 @@
|
|||||||
"bin/mount.fuse.sharefs" = "${hakurei}/libexec/sharefs";
|
"bin/mount.fuse.sharefs" = "${hakurei}/libexec/sharefs";
|
||||||
};
|
};
|
||||||
|
|
||||||
dist = pkgs.runCommand "${hakurei.name}-dist" { buildInputs = hakurei.targetPkgs ++ [ pkgs.pkgsStatic.musl ]; } ''
|
dist =
|
||||||
# go requires XDG_CACHE_HOME for the build cache
|
pkgs.runCommand "${hakurei.name}-dist"
|
||||||
export XDG_CACHE_HOME="$(mktemp -d)"
|
{
|
||||||
|
buildInputs = hakurei.targetPkgs ++ [
|
||||||
|
pkgs.pkgsStatic.musl
|
||||||
|
];
|
||||||
|
}
|
||||||
|
''
|
||||||
|
cd $(mktemp -d) \
|
||||||
|
&& cp -r ${hakurei.src}/. . \
|
||||||
|
&& chmod +w cmd && cp -r ${hsu.src}/. cmd/hsu/ \
|
||||||
|
&& chmod -R +w .
|
||||||
|
|
||||||
# get a different workdir as go does not like /build
|
CC="musl-clang -O3 -Werror -Qunused-arguments" \
|
||||||
cd $(mktemp -d) \
|
GOCACHE="$(mktemp -d)" \
|
||||||
&& cp -r ${hakurei.src}/. . \
|
HAKUREI_TEST_SKIP_ACL=1 \
|
||||||
&& chmod +w cmd && cp -r ${hsu.src}/. cmd/hsu/ \
|
PATH="${pkgs.pkgsStatic.musl.bin}/bin:$PATH" \
|
||||||
&& chmod -R +w .
|
DESTDIR="$out" \
|
||||||
|
HAKUREI_VERSION="v${hakurei.version}" \
|
||||||
export HAKUREI_VERSION="v${hakurei.version}"
|
./dist/release.sh
|
||||||
CC="clang -O3 -Werror" ./dist/release.sh && mkdir $out && cp -v "dist/hakurei-$HAKUREI_VERSION.tar.gz"* $out
|
'';
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
if os.Getenv("GO_TEST_SKIP_ACL") == "1" {
|
if os.Getenv("HAKUREI_TEST_SKIP_ACL") == "1" {
|
||||||
t.Skip("acl test skipped")
|
t.Skip("acl test skipped")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ buildGoModule rec {
|
|||||||
CC = "clang -O3 -Werror";
|
CC = "clang -O3 -Werror";
|
||||||
|
|
||||||
# nix build environment does not allow acls
|
# nix build environment does not allow acls
|
||||||
GO_TEST_SKIP_ACL = 1;
|
HAKUREI_TEST_SKIP_ACL = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|||||||
Reference in New Issue
Block a user