deno: only expose unit tests in passthru
The deno tests have been found to be flakey in hydra. By exposing the full build with unit tests in the passthru maintainers can run them locally (which seem to be fine).
This commit is contained in:
@@ -14,7 +14,6 @@
|
||||
sqlite,
|
||||
lld,
|
||||
writableTmpDirAsHomeHook,
|
||||
fetchpatch,
|
||||
|
||||
# Test deps
|
||||
curl,
|
||||
@@ -22,6 +21,9 @@
|
||||
git,
|
||||
python3,
|
||||
esbuild,
|
||||
|
||||
# self for passthru
|
||||
deno,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -90,13 +92,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
# To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE
|
||||
env.RUSTY_V8_ARCHIVE = librusty_v8;
|
||||
|
||||
# Many tests depend on prebuilt binaries being present at `./third_party/prebuilt`.
|
||||
# We provide nixpkgs binaries for these for all platforms, but the test runner itself only handles
|
||||
# these four arch+platform combinations.
|
||||
doCheck =
|
||||
stdenv.hostPlatform.isDarwin
|
||||
|| (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isx86_64));
|
||||
|
||||
# Don't run checks on hydra as they've been observed to be flakey for us and
|
||||
# other distros CI: https://gitlab.alpinelinux.org/alpine/aports/-/blob/bec8b026686323b496365b825ad14fdf4473adf2/community/deno/APKBUILD#L79
|
||||
# We haven't reproduced it on local machines, could be related to doing other
|
||||
# builds simultaneously.
|
||||
# A build with tests (+ librusty_v8 tests) is included in `deno.passhtru.tests`
|
||||
doCheck = false;
|
||||
# check related config is left in the main package so if someone uses
|
||||
# `overrideAttrs` to always build with tests, it'll all work.
|
||||
preCheck =
|
||||
# Provide esbuild binary at `./third_party/prebuilt/` just like upstream:
|
||||
# https://github.com/denoland/deno_third_party/tree/master/prebuilt
|
||||
@@ -243,7 +246,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
passthru = {
|
||||
updateScript = ./update.sh;
|
||||
tests = callPackage ./tests { };
|
||||
tests = (callPackage ./tests { }) // {
|
||||
build-with-unit-tests = deno.overrideAttrs (fa: {
|
||||
# The tools test suite requires building the test server
|
||||
dontBuild = false;
|
||||
# Many tests depend on prebuilt binaries being present at `./third_party/prebuilt`.
|
||||
# We provide nixpkgs binaries for these for all platforms, but the test runner itself only handles
|
||||
# these four arch+platform combinations.
|
||||
doCheck =
|
||||
stdenv.hostPlatform.isDarwin
|
||||
|| (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isx86_64));
|
||||
});
|
||||
# Also include librusty_v8 tests
|
||||
librusty_v8-tests = librusty_v8.passthru.tests;
|
||||
};
|
||||
inherit librusty_v8;
|
||||
};
|
||||
|
||||
|
||||
@@ -153,6 +153,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
"fortify3"
|
||||
];
|
||||
|
||||
# Don't run checks on hydra as they've been observed to be flakey for us and
|
||||
# other distros CI: https://gitlab.alpinelinux.org/alpine/aports/-/blob/bec8b026686323b496365b825ad14fdf4473adf2/community/deno/APKBUILD#L79
|
||||
# We haven't reproduced it on local machines, could be related to doing other
|
||||
# builds simultaneously.
|
||||
# A build with tests is included as part of `deno.passhtru.tests` via `librusty_v8.passthru.tests`
|
||||
doCheck = false;
|
||||
# Check related config is left in the main package so if someone uses
|
||||
# `overrideAttrs` to always build with tests, it'll all work.
|
||||
checkFlags = [
|
||||
# These tests probably fail due to a more recent rustc version (upstream: 1.89.0, here: 1.93.0)
|
||||
"--skip=ui"
|
||||
@@ -167,6 +175,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
build-with-unit-tests = deno.passthru.librusty_v8.overrideAttrs (fa: {
|
||||
doCheck = true;
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
meta = {
|
||||
|
||||
Reference in New Issue
Block a user