Commit Graph

58 Commits

Author SHA1 Message Date
David Neto
9f2ccaef5f
kokoro: use Python 3.12 in Linux builds (#5730)
Bug: crbug.com/350048185
2024-07-05 18:18:59 -04:00
Cassandra Beckley
02c79e9082
kokoro: Update bazel to 7.0.2 for Linux builds (#5609) 2024-03-13 13:21:35 -04:00
David Neto
d15a7aa25d
kokoro: Update bazel to 7.0.2 for Mac builds (#5606) 2024-03-11 09:57:43 -07:00
Nathan Gauër
2813da2681
kokoro: rename glslang (#5339)
* kokoro: rename glslang

glslangValidator was renamed to glslang
(https://github.com/KhronosGroup/glslang/pull/3257).
Fixing build.

* rename glslang to glslang-standalone
2023-07-20 09:05:12 -04:00
Steven Perron
4be7d0e3ca
Use android ndk r25 (#5309)
* Use android ndk r25

We currently use R21 of the Android NDK for our tests. There have been
to LTS release since that one, and we do not expect people to use it
anymore. Also, it contains Python 2.7, not Python3. The python scripts
in SPIR-V Tools expect Python 3, so we have to update.

We chose the latest LTS release.

* Roll external/googletest/ be03d00f5..4a1a299b2 (1 commit)

be03d00f5f...4a1a299b20

$ git log be03d00f5..4a1a299b2 --date=short --no-merges --format='%ad %ae %s'
2023-07-07 absl-team Update docstring of PrintWithFallback(..) to reflect the recently changed ordering.

Created with:
  roll-dep external/googletest

* Roll external/re2/ 1c1ffbe3c..a57a1d646 (2 commits)

1c1ffbe3c6...a57a1d6462

$ git log 1c1ffbe3c..a57a1d646 --date=short --no-merges --format='%ad %ae %s'
2023-07-06 junyer Stop using `std::map<std::string, Prefilter*>`.
2023-07-06 junyer Bump the CMake baseline to 3.13.

Created with:
  roll-dep external/re2

* Roll external/spirv-headers/ 3469b164e..d0006a393 (3 commits)

3469b164e2...d0006a3938

$ git log 3469b164e..d0006a393 --date=short --no-merges --format='%ad %ae %s'
2023-07-05 lynix680 Regenerate headers
2023-06-30 lynix680 Add NZSL as a source language
2023-06-30 lynix680 Add NZSLc as a generator

Created with:
  roll-dep external/spirv-headers
2023-07-10 11:21:45 -04:00
David Neto
ec244c8598
Increase tested Android API level (#5253)
Vulkan was introduced in Android API 24.
Test that.

The Android NDK drops support for very old APIs.
2023-05-31 16:55:43 -04:00
github-actions[bot]
c7e436921a
roll deps (#5243)
* Roll external/effcee/ 66edefd2b..77a53ba53 (1 commit)

66edefd2bb...77a53ba53b

$ git log 66edefd2b..77a53ba53 --date=short --no-merges --format='%ad %ae %s'
2023-05-26 dneto Add Abseil dependency, via RE2

Created with:
  roll-dep external/effcee

* Roll external/re2/ c9cba7606..03da4fc08 (18 commits)

c9cba76063...03da4fc085

$ git log c9cba7606..03da4fc08 --date=short --no-merges --format='%ad %ae %s'
2023-05-26 junyer Use `--enable_platform_specific_config` in `.bazelrc`.
2023-05-24 junyer Call `find_package()` conditionally.
2023-05-19 junyer Install CMake in the `gcc:13` container.
2023-05-19 junyer Sigh. I forgot to omit `sudo` because running under Docker.
2023-05-19 junyer Fix the CMake build on Ubuntu.
2023-05-19 junyer Try building the testing for RE2 with CMake again.
2023-05-18 junyer Uhh. Fix `LDABSL` for sure this time.
2023-05-18 junyer Try one more time to fix the GNU make build with GCC on Ubuntu.
2023-05-18 junyer For now, stop building the testing for RE2 with CMake.
2023-05-18 junyer Revert "Try `x64-windows-static` for CMake on Windows."
2023-05-18 junyer Try `x64-windows-static` for CMake on Windows.
2023-05-18 junyer Try again to fix the CI workflows.
2023-05-17 junyer Try to fix the CMake CI workflow.
2023-05-17 junyer Try to fix the GNU make CI workflow.
2023-05-17 junyer Fix the GNU make and CMake configurations and CI workflows.
2023-05-17 junyer Copy over the `re2/` and `util/` subdirectories.
2023-05-15 junyer Copy over the Bazel configuration and the workflow for Python releases.
2023-05-15 junyer Copy over the `app/` and `python/` subdirectories.

Created with:
  roll-dep external/re2

* Update WORKSPACE to work with the new RE2.

* Do not build tests with VS2017

RE2 no longer supports VS2017, so we cannot build the tests anymore. We
will continue to make sure the everything else still builds with vs2017.

---------

Co-authored-by: GitHub Actions[bot] <>
Co-authored-by: Steven Perron <stevenperron@google.com>
2023-05-31 13:03:53 -04:00
Steven Perron
673d8bfcb6
Checkout abseil in the smoketest (#5248)
Now that shaderc knows about abseil, we want to check it out. Hopefully
this fixes the smoketest.
2023-05-29 14:23:43 -04:00
Steven Perron
dcfea36ab7
Have the macos bazel build us git-sync-deps (#5235) 2023-05-24 10:56:37 -04:00
Nathan Gauër
a2db3fb17b
kokoro: always chown files (#5186)
If the build fails, the artifacts must still be chowned
so the CI can pick them up. If they are not, the CI tooling
will fail and go into 'aborted' state, which blocks the logs.

Signed-off-by: Nathan Gauër <brioche@google.com>
2023-04-03 15:27:45 +02:00
alan-baker
9fbe1738ba
Update SPIRV-Headers deps (#5170)
* Update test expectations to account for simplified enables
* Don't clone spirv-headers twice for the smoketest
2023-03-23 13:00:42 -04:00
Nathan Gauër
987a5f1367
build: change the way we set cxx version for bazel. (#5114)
Before, we did set cxx version to c++17 using COPTS in our bazel files.
This was wrong, and part of the dependencies were then built with the
default standard version. This was not an issue until we moved to c++17.

Then, we decided to use the bazel --cxxopt=-std=c++17, but this was only
valid for nix platforms.
The last option left is to ask the user to specify the standard
when building using bazel.
2023-02-20 11:11:16 +01:00
Steven Perron
1a49b52188
Remove vs2017 no longer being run (#5095) 2023-02-01 18:45:42 +00:00
Nathan Gauër
7f9184a5b2
kokoro: fix dubious ownership (#5082)
Kokoro clones repos with a different user used to run the build steps,
meaning if some git command must be run at build time, they will fail
because of this dubious ownership issue.
Running some git commands makes only sense with history, so changing
checkout depth so we can run them and get the true result.

This is a known Kororo issue.
Fixing this is required to generate the version file using git history.

Signed-off-by: Nathan Gauër <brioche@google.com>

Signed-off-by: Nathan Gauër <brioche@google.com>
2023-01-23 15:32:39 +00:00
Steven Perron
fe087cd5f0
Revert "kokoro: fix dubious ownership (#5078)" (#5081)
This reverts commit 8fbb53dae4.
2023-01-23 14:36:33 +00:00
Nathan Gauër
8fbb53dae4
kokoro: fix dubious ownership (#5078)
Kokoro clones repos with a different user used to run the build steps,
meaning if some git command must be run at build time, they will fail
because of this dubious ownership issue.
Running some git commands makes only sense with history, so changing
checkout depth so we can run them and get the true result.

This is a known Kororo issue.
Fixing this is required to generate the version file using git history.

Signed-off-by: Nathan Gauër <brioche@google.com>
2023-01-23 14:22:40 +00:00
Steven Perron
1e85dca570
Add VS2019 kokoro configs (#5059)
We added new builds that will test spirv-tools with VS2019, but we need to add
the configurations for them.
2023-01-18 20:11:25 +00:00
David Neto
6b5a00eb2b
Kokoro CI bots use git-sync-deps to get sources (#5031)
* Kokoro CI bots use git-sync-deps to get sources

Update git-sync-deps to reduce the amount of data downloaded on a first
checkout, while being able to checkout the specific commit specified in
the DEPS file.

Previously the CI bots would only clone --depth=1.  But that's not
enough to check out a specific commit.  So clone either blobless
or treeless.  For a CI bot, treeless is preferable, because it
downloads the least data.  For interactive use, blobless is better
because it prevents redundant downloads of tree data.
See
https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/

Fixes: #5028

* --treeless decays to blob:none when git is too old

* Pin googletest to an older version, to make bazel build work
2022-12-21 10:49:52 -05:00
David Neto
5bec0884cf
Remove testing support for VS2015 (#5027)
Fixes: #5026
2022-12-19 16:39:58 -05:00
David Neto
1c287b03d3
First attempt to set up CI-windows-msvc-2017-release-bazel build (#5023)
Part 1 of replacing the msvc-2015-release-bazel build.
See issue #5022
2022-12-19 12:42:04 -05:00
alan-baker
aae7d41325
Fix macos kokoro builds (#4985) 2022-11-09 17:37:23 -05:00
Steven Perron
898ba64d24
Use cmake 3.23 on Windows. (#4782) 2022-04-13 13:56:19 -04:00
IcyTv
98dce6ca18
Fixed Bazel Windows build (#4736)
* Fixed Bazel Windows build

Before this commit, the bazel build setup would not work on windows.
This is due to the fact, that genrule tries to use bash, which fails.
One fix would be to use bazel-skylib's run_binary.
This however does not work (easily) since genrules is more complex.

To (temporarily) fix the windows build, I added the `cmd_bat` property to every genrule.
This seems more like a hack, because it basically repeat commands,
 but for now it at least builds on windows.

* Removed BAZEL_SH from bazel presubmit build script

Thanks to @s-perron for pointing out, that the presubmit script uses the msys64 bash shell for the bazel build.
Since adding the `cmd_bat` argument removes the dependency on bash, this is no longer needed.
2022-03-07 12:50:19 -05:00
Steven Perron
f56726a323
Use bazel 5 for bazel builds. (#4738)
* Use bazel 5 for Linux bazel builds.
* Download bazel 5.0.0 for macos and windows bazel builds.
* Modify the readme to mention bazel 5.0.0 as the version to use.
2022-03-03 15:35:25 +00:00
Steven Perron
438096e0c2
Fix kokoro asan run (#4655)
With a change in the VM, the kokoro asan run is failing because it does
not have the correct permissions.  Adding the ptrace capability will
hopefully fix that.
2021-12-08 15:26:29 -05:00
Alastair Donaldson
bf463fe37c
Fix UBSan kokoro config (#4522)
A test has been removed which depends on casting to spv_target_env from a value
outside the range of that enum. This is an undefined behaviour, thus the
test is invalid.
2021-09-13 16:55:51 +01:00
Alastair Donaldson
2a938fcfa3
Add UBSan kokoro configuration (#4512)
Adds a kokoro configuration for UBSan, to allow this sanitizer to be
used during continuous integration.
2021-09-10 12:53:09 +00:00
Alastair Donaldson
3ab6fb9c03
Add CMake rules for libFuzzer targets (#4445)
Adds CMake rules for the libFuzzer targets, with a view to running
them on OSS-Fuzz.

Fixes #4448.
2021-08-05 08:11:21 +00:00
Alastair Donaldson
2299b710de
spirv-fuzz: support building using gn (#4365)
Adds support for building spirv-fuzz using gn. Updates the protobuf
dependency to the version used by Chromium.

Fixes #4372.
2021-07-13 19:45:01 +01:00
Steven Perron
6d5c5677e1
Remove VS2013 kokoro build (#4314)
We are longer supporting VS2013, so we can remove the information for the kokoro build.
2021-06-03 16:16:37 -04:00
Paul Thomson
6210375e13
Fix clang-format-diff.py URL (#4233)
Also add the --fail flag so that kokoro/check-format/build.sh fails when it cannot download the clang-format-diff.py script.
2021-04-09 23:36:36 +01:00
alan-baker
a4f97da409
Add cmake to windows path for kokoro (#4129)
* Add cmake to windows path for kokoro
2021-01-27 18:00:56 -05:00
Ben Clayton
8383bd5d6f
Migrate all Kokoro build scripts over to use the docker VM image (#4114)
* Work around GCC-9 warning treated as error

```
../source/opt/instruction.h:101:23: error: '*((void*)& operand +32)' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  101 |     uint64_t result = uint64_t(words[0]);
```

* Migrate all Kokoro build scripts over to use the docker VM image

Required updating the NDK SDK and build scripts, as well as the check_copyright for handling 2021.
2021-01-18 13:36:26 -05:00
Alastair Donaldson
663d050a98
Temporary fix to make GoogleTest compile. (#3922) 2020-10-16 14:58:35 +01:00
Paul Thomson
a715b1b405
Improve spirv-fuzz CMake code (#3781)
This change improves spirv-fuzz CMake code to be more compatible with other projects that might want to include spirv-fuzz as a sub-project.

* Add a CMake option for building spirv-fuzz. 
* We now check if protobuf targets are already available. 
* We no longer specify `-DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_USE_UNALIGNED=0`; a newer version of protobuf does not require this. Note that we probably should have specified this for protobuf targets as well, but this is no longer needed. 
* Updated protobuf version in Kokoro scripts and README.md.
2020-09-09 09:56:32 +01:00
Vasyl Teliman
91cea06ab4
Fix typo in ASAN CI build (#3623) 2020-07-31 13:53:41 +01:00
Steven Perron
49ca250b44
Delete nullptr in function bb list immedietly (#3326)
When moving blocks around, we ended up with a nullptr for a basic block,
and it was left in the list for a little bit.  However, in that time, it
would end up being dereferenced while traversing the function.

To fix this, we delete it right away.  This was found in an asan build
that runs our current tests.  No new tests are needed, but I did add
extra check asan checks for our asan bot.
2020-04-28 21:54:08 -04:00
Ehsan
bc84daff22 Add Kokoro bots for building with Bazel. (#2914)
Add Kokoro bots for building with Bazel.
2019-09-27 09:13:32 -04:00
Ryan Harrison
65f49dfc39
Remove unneeded future imports (#2739)
Also, adds explicitly setting python executable in the NDK build script, rewrites 
some Python2-isms to 3isms, and formats some code.

Fixes #2738
2019-07-24 15:29:38 -04:00
dan sinclair
42abaa099a Remove MarkV and Stats code. (#2576)
* Remove MarkV and Stats code.

This Cl removes the MarkV and Stats code from SPIRV-Tools. This code was
unused and currently un-maintained.
2019-05-24 15:43:59 -04:00
Alastair Donaldson
b0504239ab Added an external dependency on protobufs, included when SPIRV_BUILD_FUZZER is defined, so that they can be used by the (upcoming) spirv-fuzz tool. Also updated the kokoro build scripts, for relevant targets, to clone an appropriate tag of the protobufs repo, and to pass -DSPIRV_BUILD_FUZZER to the configurations for which we intend to ultimately build spirv-fuzz. (#2616) 2019-05-22 13:24:11 -04:00
Ehsan
5fc5303eec
[spirv] Package and upload builds. (#2544) 2019-05-02 14:25:09 -04:00
David Neto
07ac7dee5c SPIRV-Tools requires python3 (#2510)
Updates:
- CMake configuration
- Kokoro build scripts on Linux and macos (Windows already uses Python 3.6)
2019-04-12 08:23:19 -04:00
Steven Perron
2b46521cd7 Add -fsantize to link flags. (#2506)
The option "SPIRV_USE_SANITIZER=address" does not work as stated in our
documentation because the link step fails for the tools.  We have to add
-fsanitize to the link flags so the correct libraries are added on the
link step.

Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/2482.
2019-04-11 16:33:26 -04:00
Alan Baker
9244e6ff62 Reverting commit da5a780ff9 2019-03-18 15:14:41 -04:00
SarahM0
da5a780ff9 Variable pointers cannot be an operand to OpArrayLength 2019-03-18 14:07:36 -04:00
fjhenigman
a2ef7be242
Add Linux ASAN bot configs. (#2427)
Fix the ASAN part of the bot script.
Add continuous and presubmit Linux ASAN bot configurations.
2019-03-06 17:21:24 -05:00
Steven Perron
07f80c4df1
Fix python scripts to work with python3 (#2426)
Updated script to work with python3 and python2.

Added required tools.

We added a section to the readme to mention the tools that are needed to
build and test spirv-tools. For the compiler, the compilers used by the
bots are mentioned.

The bots have been changed. The windows bots will not use python 3.6 for testing. The other bots will still use python 2.7. Both Python2 and Python3 will be tested.

Fixes #2407.
Fixes #1856.
2019-03-06 14:11:01 -05:00
dan sinclair
10a7def6c0
Smoketest should use KhronosGroup glslang (#2363) 2019-02-07 15:32:41 -05:00
Ehsan
2f004baa99 [kokoro] Fix usage of ERRORLEVEL in Windows script. (#2262) 2019-01-07 10:00:49 -05:00