Skip to content

Conversation

@jacksonrl
Copy link
Contributor

This fixes the iOS ci which has been broken since https://github.com/google/dawn/actions/runs/19482018618

error

/Users/runner/work/dawn/dawn/src/dawn/native/metal/CommandRecordingContext.h:63:41: warning: 'MTLBlitPassDescriptor' is only available on iOS 14.0 or newer [-Wunguarded-availability-new]
   63 |     id<MTLBlitCommandEncoder> BeginBlit(MTLBlitPassDescriptor* descriptor);
      |                                         ^
/Applications/Xcode_26.1.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.1.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBlitPass.h:65:12: note: 'MTLBlitPassDescriptor' has been marked as being introduced in iOS 14.0 here, but the deployment target is iOS 13.0.0
   65 | @interface MTLBlitPassDescriptor : NSObject <NSCopying>
      |            ^
/Users/runner/work/dawn/dawn/src/dawn/native/metal/CommandRecordingContext.h:63:31: note: annotate 'BeginBlit' with an availability attribute to silence this warning
   63 |     id<MTLBlitCommandEncoder> BeginBlit(MTLBlitPassDescriptor* descriptor);
      |                               ^
/Users/runner/work/dawn/dawn/src/dawn/native/metal/CommandRecordingContext.h:71:47: warning: 'MTLComputePassDescriptor' is only available on iOS 14.0 or newer [-Wunguarded-availability-new]
   71 |     id<MTLComputeCommandEncoder> BeginCompute(MTLComputePassDescriptor* descriptor);
      |                                               ^
/Applications/Xcode_26.1.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.1.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePass.h:67:12: note: 'MTLComputePassDescriptor' has been marked as being introduced in iOS 14.0 here, but the deployment target is iOS 13.0.0
   67 | @interface MTLComputePassDescriptor : NSObject <NSCopying>
      |            ^
/Users/runner/work/dawn/dawn/src/dawn/native/metal/CommandRecordingContext.h:71:34: note: annotate 'BeginCompute' with an availability attribute to silence this warning
   71 |     id<MTLComputeCommandEncoder> BeginCompute(MTLComputePassDescriptor* descriptor);
      |    
	  
	  ...
	  
	  /Users/runner/work/dawn/dawn/src/dawn/native/Buffer.cpp:317:24: error: 'notify_all' is unavailable: introduced in iOS 14.0
  317 |         buffer->mState.notify_all();
      |                        ^
/Applications/Xcode_26.1_Release_Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.1.sdk/usr/include/c++/v1/__atomic/atomic.h:128:56: note: 'notify_all' has been explicitly marked unavailable here
  128 |   _LIBCPP_AVAILABILITY_SYNC _LIBCPP_HIDE_FROM_ABI void notify_all() _NOEXCEPT { std::__atomic_notify_all(*this); }
      |                                                        ^
/Users/runner/work/dawn/dawn/src/dawn/native/Buffer.cpp:853:16: error: 'wait' is unavailable: introduced in iOS 14.0
  853 |         mState.wait(BufferState::PendingMap, std::memory_order_acquire);
      |                ^
/Applications/Xcode_26.1_Release_Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.1.sdk/usr/include/c++/v1/__atomic/atomic.h:118:3: note: 'wait' has been explicitly marked unavailable here
  118 |   wait(_Tp __v, memory_order __m = memory_order_seq_cst) const _NOEXCEPT {
      |   ^

Ubuntu debug and MacOS x86 debug are also failing sometimes, and aren't fixed here:

ubuntu:

System.IO.IOException: No space left on device : '/home/runner/actions-runner/cached/_diag/Worker_20251128-093455-utc.log'

macos x86 debug:

CMake Error at third_party/CMakeLists.txt:131 (add_subdirectory):
The source directory

/Users/runner/work/dawn/dawn/third_party/spirv-headers/src

does not contain a CMakeLists.txt file.

CMake Error at third_party/CMakeLists.txt:156 (add_subdirectory):
The source directory

/Users/runner/work/dawn/dawn/third_party/glslang/src

does not contain a CMakeLists.txt file.

CMake Error at src/tint/CMakeLists.txt:52 (message):
Building IR binary format 'TINT_BUILD_IR_BINARY' is enabled, but protobuf
target is not available, possibly missing
'/Users/runner/work/dawn/dawn/third_party/protobuf'

I have not actually tested this because the GitHub free tier seems to limit iOS runners or I ran too many actions today. The test should run on this PR though so we can see if this fixes it.

@github-actions
Copy link

👋 Thanks for your contribution! Your PR has been imported to Gerrit.
Please visit https://dawn-review.googlesource.com/c/dawn/+/277355 to see it and CC yourself on the change.
After iterating on feedback, please comment on the Gerrit review to notify reviewers.
All reviews are handled within Gerrit, any comments on the GitHub PR may be missed.
You can continue to upload commits to this PR, and they will be automatically imported
into Gerrit.

copybara-service bot pushed a commit that referenced this pull request Dec 1, 2025
This fixes the iOS ci which has been broken since https://github.com/google/dawn/actions/runs/19482018618

<details>

<summary> error </summary>

```

/Users/runner/work/dawn/dawn/src/dawn/native/metal/CommandRecordingContext.h:63:41: warning: 'MTLBlitPassDescriptor' is only available on iOS 14.0 or newer [-Wunguarded-availability-new]
   63 |     id<MTLBlitCommandEncoder> BeginBlit(MTLBlitPassDescriptor* descriptor);
      |                                         ^
/Applications/Xcode_26.1.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.1.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBlitPass.h:65:12: note: 'MTLBlitPassDescriptor' has been marked as being introduced in iOS 14.0 here, but the deployment target is iOS 13.0.0
   65 | @interface MTLBlitPassDescriptor : NSObject <NSCopying>
      |            ^
/Users/runner/work/dawn/dawn/src/dawn/native/metal/CommandRecordingContext.h:63:31: note: annotate 'BeginBlit' with an availability attribute to silence this warning
   63 |     id<MTLBlitCommandEncoder> BeginBlit(MTLBlitPassDescriptor* descriptor);
      |                               ^
/Users/runner/work/dawn/dawn/src/dawn/native/metal/CommandRecordingContext.h:71:47: warning: 'MTLComputePassDescriptor' is only available on iOS 14.0 or newer [-Wunguarded-availability-new]
   71 |     id<MTLComputeCommandEncoder> BeginCompute(MTLComputePassDescriptor* descriptor);
      |                                               ^
/Applications/Xcode_26.1.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.1.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePass.h:67:12: note: 'MTLComputePassDescriptor' has been marked as being introduced in iOS 14.0 here, but the deployment target is iOS 13.0.0
   67 | @interface MTLComputePassDescriptor : NSObject <NSCopying>
      |            ^
/Users/runner/work/dawn/dawn/src/dawn/native/metal/CommandRecordingContext.h:71:34: note: annotate 'BeginCompute' with an availability attribute to silence this warning
   71 |     id<MTLComputeCommandEncoder> BeginCompute(MTLComputePassDescriptor* descriptor);
      |

	  ...

	  /Users/runner/work/dawn/dawn/src/dawn/native/Buffer.cpp:317:24: error: 'notify_all' is unavailable: introduced in iOS 14.0
  317 |         buffer->mState.notify_all();
      |                        ^
/Applications/Xcode_26.1_Release_Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.1.sdk/usr/include/c++/v1/__atomic/atomic.h:128:56: note: 'notify_all' has been explicitly marked unavailable here
  128 |   _LIBCPP_AVAILABILITY_SYNC _LIBCPP_HIDE_FROM_ABI void notify_all() _NOEXCEPT { std::__atomic_notify_all(*this); }
      |                                                        ^
/Users/runner/work/dawn/dawn/src/dawn/native/Buffer.cpp:853:16: error: 'wait' is unavailable: introduced in iOS 14.0
  853 |         mState.wait(BufferState::PendingMap, std::memory_order_acquire);
      |                ^
/Applications/Xcode_26.1_Release_Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.1.sdk/usr/include/c++/v1/__atomic/atomic.h:118:3: note: 'wait' has been explicitly marked unavailable here
  118 |   wait(_Tp __v, memory_order __m = memory_order_seq_cst) const _NOEXCEPT {
      |   ^

```

</details>

Ubuntu debug and MacOS x86 debug are also failing sometimes, and aren't fixed here:

ubuntu:

`System.IO.IOException: No space left on device : '/home/runner/actions-runner/cached/_diag/Worker_20251128-093455-utc.log'`

macos x86 debug:

<details>

CMake Error at third_party/CMakeLists.txt:131 (add_subdirectory):
  The source directory

    /Users/runner/work/dawn/dawn/third_party/spirv-headers/src

  does not contain a CMakeLists.txt file.

CMake Error at third_party/CMakeLists.txt:156 (add_subdirectory):
  The source directory

    /Users/runner/work/dawn/dawn/third_party/glslang/src

  does not contain a CMakeLists.txt file.

CMake Error at src/tint/CMakeLists.txt:52 (message):
  Building IR binary format 'TINT_BUILD_IR_BINARY' is enabled, but protobuf
  target is not available, possibly missing
  '/Users/runner/work/dawn/dawn/third_party/protobuf'

</details>

I have not actually tested this because the GitHub free tier seems to limit iOS runners or I ran too many actions today. The test should run on this PR though so we can see if this fixes it.

This is an imported pull request from
#51

GITHUB_PR_HEAD_SHA=2b02a212c5347cf5ff90f4bee018308811cf6024
ORIGINAL_AUTHOR=jacksonrl <203005141+jacksonrl@users.noreply.github.com>
GitOrigin-RevId: 9531964
Change-Id: Id332521f03ac7258f2bc62398220e4039ab64232
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/277355
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
@github-actions
Copy link

github-actions bot commented Dec 1, 2025

🚀 PR was merged in c3de402!

@github-actions github-actions bot closed this Dec 1, 2025
copybara-service bot pushed a commit that referenced this pull request Dec 2, 2025
…rror

This, together with #51 allows the GitHub actions CI to complete all jobs, which has been failing since about November 14. This removes the preloaded dotnet, android and haskel libraries from the GitHub runner on Linux to reclaim enough space to finish building. I don't think any of these are relied on by dawn on Linux (and the build completes successfully), but someone should confirm that. The build happens is a container so I guess it is impossible it is relying on the host libraries anyway.

This is an imported pull request from
#52

GITHUB_PR_HEAD_SHA=ccf450356b7eeb32c02312e8699e974a2327db9a
ORIGINAL_AUTHOR=jacksonrl <203005141+jacksonrl@users.noreply.github.com>
GitOrigin-RevId: 0f5d96a
Change-Id: I0e71e22f214cf115b78f65c1f76f7b7ebc76dc9e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/277875
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant