Prevent CI breakages by running integration tests. By submitting this *before* the CL which introduces integration tests, we can ensure that the integration tests pass in CI before submitting them. Change-Id: Ia6a56c4fbefe2e04c305a6a7b35be5dc6a6a6964 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/23340 Reviewed-by: Takuto Ikuta <tikuta@google.com> Commit-Queue: Matt Stark <msta@google.com>
diff --git a/build/gen.py b/build/gen.py index ba3184c..7f7745f 100755 --- a/build/gen.py +++ b/build/gen.py
@@ -297,6 +297,10 @@ ' generator = 1', ' depfile = build.ninja.d', '', + # TODO: Remove this. A dummy target to ensure that CI is actually running + # this test before the integration tests are submitted. + 'build run_integration_tests: phony build.ninja', + '' ]
diff --git a/infra/recipes/gn.expected/ci_linux.json b/infra/recipes/gn.expected/ci_linux.json index 576d8a4..ecde480 100644 --- a/infra/recipes/gn.expected/ci_linux.json +++ b/infra/recipes/gn.expected/ci_linux.json
@@ -667,6 +667,38 @@ }, { "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++" + }, + "luci_context": { + "realm": { + "name": "gn:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "debug.linux-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { + "cmd": [ "[START_DIR]/gn/tools/run_formatter.sh", "--diff" ], @@ -836,6 +868,38 @@ }, { "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++" + }, + "luci_context": { + "realm": { + "name": "gn:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "release.linux-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { + "cmd": [ "[START_DIR]/gn/tools/run_formatter.sh", "--diff" ],
diff --git a/infra/recipes/gn.expected/ci_mac.json b/infra/recipes/gn.expected/ci_mac.json index 167c8ab..2893a86 100644 --- a/infra/recipes/gn.expected/ci_mac.json +++ b/infra/recipes/gn.expected/ci_mac.json
@@ -400,6 +400,38 @@ ] }, { + "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-apple-darwin --sysroot=/some/xcode/path -nostdinc++ -cxx-isystem [CACHE]/macos_sdk/XCode.app/include/c++/v1", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-apple-darwin --sysroot=/some/xcode/path" + }, + "luci_context": { + "realm": { + "name": "gn:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "debug.mac-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { "cmd": [], "name": "release" }, @@ -560,6 +592,38 @@ ] }, { + "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-apple-darwin --sysroot=/some/xcode/path -nostdinc++ -cxx-isystem [CACHE]/macos_sdk/XCode.app/include/c++/v1", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-apple-darwin --sysroot=/some/xcode/path" + }, + "luci_context": { + "realm": { + "name": "gn:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "release.mac-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { "cmd": [], "name": "release.mac-amd64.upload", "~followup_annotations": [
diff --git a/infra/recipes/gn.expected/ci_win.json b/infra/recipes/gn.expected/ci_win.json index 0f549e4..4797f32 100644 --- a/infra/recipes/gn.expected/ci_win.json +++ b/infra/recipes/gn.expected/ci_win.json
@@ -340,6 +340,39 @@ ] }, { + "cmd": [ + "[START_DIR]\\cipd\\ninja", + "-C", + "[START_DIR]\\gn\\out", + "run_integration_tests" + ], + "cwd": "[START_DIR]\\gn", + "env": { + "VSINSTALLDIR": "[CACHE]\\windows_sdk\\.\\" + }, + "env_prefixes": { + "PATH": [ + "[CACHE]\\windows_sdk\\Windows Kits\\10\\bin\\10.0.19041.0\\x64" + ] + }, + "luci_context": { + "realm": { + "name": "gn:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "debug.windows-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { "cmd": [], "name": "release" }, @@ -449,6 +482,39 @@ ] }, { + "cmd": [ + "[START_DIR]\\cipd\\ninja", + "-C", + "[START_DIR]\\gn\\out", + "run_integration_tests" + ], + "cwd": "[START_DIR]\\gn", + "env": { + "VSINSTALLDIR": "[CACHE]\\windows_sdk\\.\\" + }, + "env_prefixes": { + "PATH": [ + "[CACHE]\\windows_sdk\\Windows Kits\\10\\bin\\10.0.19041.0\\x64" + ] + }, + "luci_context": { + "realm": { + "name": "gn:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "release.windows-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { "cmd": [], "name": "release.windows-amd64.upload", "~followup_annotations": [
diff --git a/infra/recipes/gn.expected/cipd_exists.json b/infra/recipes/gn.expected/cipd_exists.json index e5e784b..100acbc 100644 --- a/infra/recipes/gn.expected/cipd_exists.json +++ b/infra/recipes/gn.expected/cipd_exists.json
@@ -667,6 +667,38 @@ }, { "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++" + }, + "luci_context": { + "realm": { + "name": "infra-internal:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "debug.linux-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { + "cmd": [ "[START_DIR]/gn/tools/run_formatter.sh", "--diff" ], @@ -836,6 +868,38 @@ }, { "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++" + }, + "luci_context": { + "realm": { + "name": "infra-internal:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "release.linux-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { + "cmd": [ "[START_DIR]/gn/tools/run_formatter.sh", "--diff" ],
diff --git a/infra/recipes/gn.expected/cipd_register.json b/infra/recipes/gn.expected/cipd_register.json index 50c5550..9ca936a 100644 --- a/infra/recipes/gn.expected/cipd_register.json +++ b/infra/recipes/gn.expected/cipd_register.json
@@ -667,6 +667,38 @@ }, { "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++" + }, + "luci_context": { + "realm": { + "name": "infra-internal:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "debug.linux-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { + "cmd": [ "[START_DIR]/gn/tools/run_formatter.sh", "--diff" ], @@ -836,6 +868,38 @@ }, { "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++" + }, + "luci_context": { + "realm": { + "name": "infra-internal:ci" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "release.linux-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { + "cmd": [ "[START_DIR]/gn/tools/run_formatter.sh", "--diff" ],
diff --git a/infra/recipes/gn.expected/cq_linux.json b/infra/recipes/gn.expected/cq_linux.json index 82fe4a2..89f9f2b 100644 --- a/infra/recipes/gn.expected/cq_linux.json +++ b/infra/recipes/gn.expected/cq_linux.json
@@ -718,6 +718,38 @@ }, { "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++" + }, + "luci_context": { + "realm": { + "name": "gn:try" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "debug.linux-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { + "cmd": [ "[START_DIR]/gn/tools/run_formatter.sh", "--diff" ], @@ -887,6 +919,38 @@ }, { "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++" + }, + "luci_context": { + "realm": { + "name": "gn:try" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "release.linux-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { + "cmd": [ "[START_DIR]/gn/tools/run_formatter.sh", "--diff" ],
diff --git a/infra/recipes/gn.expected/cq_mac.json b/infra/recipes/gn.expected/cq_mac.json index c6ec79f..b7b5bfd 100644 --- a/infra/recipes/gn.expected/cq_mac.json +++ b/infra/recipes/gn.expected/cq_mac.json
@@ -451,6 +451,38 @@ ] }, { + "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-apple-darwin --sysroot=/some/xcode/path -nostdinc++ -cxx-isystem [CACHE]/macos_sdk/XCode.app/include/c++/v1", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-apple-darwin --sysroot=/some/xcode/path" + }, + "luci_context": { + "realm": { + "name": "gn:try" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "debug.mac-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { "cmd": [], "name": "release" }, @@ -611,6 +643,38 @@ ] }, { + "cmd": [ + "[START_DIR]/cipd/ninja", + "-C", + "[START_DIR]/gn/out", + "run_integration_tests" + ], + "cwd": "[START_DIR]/gn", + "env": { + "AR": "[START_DIR]/cipd/bin/llvm-ar", + "CC": "[START_DIR]/cipd/bin/clang", + "CFLAGS": "--target=x86_64-apple-darwin --sysroot=/some/xcode/path -nostdinc++ -cxx-isystem [CACHE]/macos_sdk/XCode.app/include/c++/v1", + "CXX": "[START_DIR]/cipd/bin/clang++", + "LDFLAGS": "--target=x86_64-apple-darwin --sysroot=/some/xcode/path" + }, + "luci_context": { + "realm": { + "name": "gn:try" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "release.mac-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { "cmd": [], "name": "release.mac-amd64.upload", "~followup_annotations": [
diff --git a/infra/recipes/gn.expected/cq_win.json b/infra/recipes/gn.expected/cq_win.json index 17c6df3..f84cf02 100644 --- a/infra/recipes/gn.expected/cq_win.json +++ b/infra/recipes/gn.expected/cq_win.json
@@ -391,6 +391,39 @@ ] }, { + "cmd": [ + "[START_DIR]\\cipd\\ninja", + "-C", + "[START_DIR]\\gn\\out", + "run_integration_tests" + ], + "cwd": "[START_DIR]\\gn", + "env": { + "VSINSTALLDIR": "[CACHE]\\windows_sdk\\.\\" + }, + "env_prefixes": { + "PATH": [ + "[CACHE]\\windows_sdk\\Windows Kits\\10\\bin\\10.0.19041.0\\x64" + ] + }, + "luci_context": { + "realm": { + "name": "gn:try" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "debug.windows-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { "cmd": [], "name": "release" }, @@ -500,6 +533,39 @@ ] }, { + "cmd": [ + "[START_DIR]\\cipd\\ninja", + "-C", + "[START_DIR]\\gn\\out", + "run_integration_tests" + ], + "cwd": "[START_DIR]\\gn", + "env": { + "VSINSTALLDIR": "[CACHE]\\windows_sdk\\.\\" + }, + "env_prefixes": { + "PATH": [ + "[CACHE]\\windows_sdk\\Windows Kits\\10\\bin\\10.0.19041.0\\x64" + ] + }, + "luci_context": { + "realm": { + "name": "gn:try" + }, + "resultdb": { + "current_invocation": { + "name": "invocations/build:8945511751514863184", + "update_token": "token" + }, + "hostname": "rdbhost" + } + }, + "name": "release.windows-amd64.integration tests", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@2@@@" + ] + }, + { "cmd": [], "name": "release.windows-amd64.upload", "~followup_annotations": [
diff --git a/infra/recipes/gn.py b/infra/recipes/gn.py index 535ca4f..f75507e 100644 --- a/infra/recipes/gn.py +++ b/infra/recipes/gn.py
@@ -272,6 +272,9 @@ if target.is_host: api.step('test', [src_dir.join('out', 'gn_unittests')]) + api.step( + 'integration tests', ninja_cmd + ['run_integration_tests'] + ) if api.platform.is_linux: with api.context(env={'CLANG_FORMAT': cipd_dir.join('bin', 'clang-format')}):