Commit d6eb331
authored
[SYCL] Add ABI symbols tests against release branch (#19860)
Before this PR our approach was to have
`sycl_symbols_[linux|windows]-sycl.dump` files in trunk that always
capture the current state of symbols exported from
`libsycl.so`/`sycl.dll` We highlighted added/removed symbols separately
and considered "added" symbols as being OK while "removed" meant an ABI
break. That works fine by is a bit too verbose. Also, not all "removed"
are bad. If we've just added a symbol in a previous commit and are
reverting it now, the backward ABI compatibility against the last
release isn't being broken.
I don't think we promise any backward compatibility between arbitrary
builds in the trunk (`origin/sycl`), only the compatibility against
previous official minor releases with the same major version.
This PR adds two more tests that track what we promise better. I've
modified our `sycl/tools/abi_check.py` to allow ignoring "added" symbols
and only check against symbols that are being removed. I've also copied
`sycl_symbols*.dump` from the `sycl-rel-6_3` branch into the trunk under
`sycl_symbols*-sycl-rel-6_3.dump` names and started running the testing
for them in that new mode. Those **must** never fail, unless we're
incrementing the major version or the break is intentional and approved
(hence dedicated `CODEOWNERS` who can approve such changes).
I'm also adding a step to the `sycl-nightly.yml` workflow to ensure that
those copies in trunk match the release branch. That would be handy if
we were to cherry-pick some changes that add new symbols to the ongoing
release.1 parent 1e0a5a3 commit d6eb331
File tree
5 files changed
+8693
-3
lines changed- .github
- workflows
- sycl
- test/abi
- tools
5 files changed
+8693
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
| 229 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
11 | 26 | | |
12 | 27 | | |
13 | 28 | | |
| |||
0 commit comments