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:
parent
7041b7845a
commit
b06d706a13
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue