Nix expr: Invert default for `doCheck` (it just works now?)

...and clean up the disabling of filesystem-related unit tests.
...and, surprise! Setting `ContinuousIntegrationBuild` was enough to fix the remaining r13y problems. I spent hours pre-merge trying random things, so that's irritating.
This commit is contained in:
James Groom 2023-11-25 14:56:06 +00:00 committed by GitHub
parent 7041b7845a
commit b06d706a13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 8 deletions

View File

@ -71,7 +71,7 @@ build_nix_master:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: always
script:
- nix-build --pure -A emuhawk --arg doCheck true
- nix-build --pure -A emuhawk
stage: test
build_nix_prev_release:
@ -81,7 +81,7 @@ build_nix_prev_release:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: always
script:
- nix-build --pure -A emuhawk-latest --arg doCheck true
- nix-build --pure -A emuhawk-latest
stage: test
check_style:

View File

@ -216,6 +216,7 @@ in {
releaseArtifactNeedsLowercaseAsms = !isVersionAtLeast "2.3.3" version;
releaseArtifactNeedsOTKAsmConfig = isVersionAtLeast "2.3.3" version && !isVersionAtLeast "2.5" version; # see a1b501fe5
releaseArtifactNeedsVBDotnetReference = !isVersionAtLeast "2.5.1" version;
testProjectNeedsCIEnvVar = !isVersionAtLeast "2.8" version; # platform-specific tests don't run "in CI" because they assume Arch filesystem conventions (on Linux)--before 908d4519c, `-p:ContinuousIntegrationBuild=true` wasn't respected but `GITLAB_CI` was
versionProjNeedsDoubleBuild = !isVersionAtLeast "2.9.1" version;
#TODO warn about missing/broken features when eval'ing older releases
} // hawkSourceInfo;

View File

@ -103,7 +103,7 @@
buildType = buildConfig; #TODO move debug symbols to `!debug`?
extraDotnetBuildFlags = let
s = lib.optionalString (extraDefines != "") "-p:MachineExtraCompilationFlag=${extraDefines} ";
in "-maxcpucount:$NIX_BUILD_CORES -p:BuildInParallel=true --no-restore ${s}${extraDotnetBuildFlags}";
in "-maxcpucount:$NIX_BUILD_CORES -p:BuildInParallel=true --no-restore -p:ContinuousIntegrationBuild=true ${s}${extraDotnetBuildFlags}";
buildPhase = ''
runHook preBuild
@ -116,14 +116,12 @@
runHook postBuild
'';
checkNativeInputs = finalAttrs.buildInputs;
/** TODO WHY DOESN'T THIS WORK */
checkPhase = ''
runHook preCheck
export GITLAB_CI=1 # pretend to be in GitLab CI -- platform-specific tests don't run in CI because they assume an Arch filesystem (on Linux hosts)
# from 2.7.1, use standard -p:ContinuousIntegrationBuild=true instead
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${lib.makeLibraryPath finalAttrs.checkNativeInputs}"
Dist/BuildTest${finalAttrs.buildType}.sh ${finalAttrs.extraDotnetBuildFlags}
${if hawkSourceInfo.testProjectNeedsCIEnvVar then ''export GITLAB_CI=1
'' else ""}Dist/BuildTest${finalAttrs.buildType}.sh ${finalAttrs.extraDotnetBuildFlags}
# can't build w/ extra Analyzers, it fails to restore :(
# Dist/Build${finalAttrs.buildType}.sh -p:MachineRunAnalyzersDuringBuild=true ${finalAttrs.extraDotnetBuildFlags}

View File

@ -43,7 +43,7 @@ in {
, buildConfig ? "Release" # "Debug"/"Release"
, debugPInvokes ? false # forwarded to Dist/launch-scripts.nix
, debugDotnetHostCrashes ? false # forwarded to Dist/launch-scripts.nix
, doCheck ? false # runs `Dist/BuildTest${buildConfig}.sh`
, doCheck ? true # runs `Dist/BuildTest${buildConfig}.sh`
, emuhawkBuildFlavour ? "NixHawk"
, extraDefines ? "" # added to `<DefineConstants/>`, so ';'-separated
, extraDotnetBuildFlags ? "" # currently passed to EVERY `dotnet build` and `dotnet test` invocation (and does not replace the flags for parallel compilation added by default)