Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix health workflow #1432

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Fix health workflow #1432

wants to merge 7 commits into from

Conversation

mosuem
Copy link
Member

@mosuem mosuem commented Dec 17, 2024

Use the new version of the PR health workflow. Supersedes #1388.

As packages http and web_socket have path dependencies in their pubspecs, we can't compare the local versions to the last published ones for the breaking check - downloading from pub won't resolve. Therefore, they are excluded from the health workflow for now. As soon as dart-lang/ecosystem#329 has landed, I can reduce the exclusion to the breaking check only.


  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

@github-actions github-actions bot added the type-infra A repository infrastructure change or enhancement label Dec 17, 2024
Copy link

github-actions bot commented Dec 17, 2024

PR Health

Breaking changes ⚠️
Package Change Current Version New Version Needed Version Looking good?
cronet_http Non-Breaking 1.3.2 1.3.3-wip 1.4.0
Got "1.3.3-wip" expected >= "1.4.0" (non-breaking changes)
⚠️
cupertino_http Breaking 2.0.1 2.0.2-wip 3.0.0
Got "2.0.2-wip" expected >= "3.0.0" (breaking changes)
⚠️
http2 None 2.3.1 2.3.1 2.3.1 ✔️
http_multi_server None 3.2.2 3.2.2 3.2.2 ✔️
http_parser None 4.1.1 4.1.1 4.1.1 ✔️
http_profile None 0.1.0 0.1.1-wip 0.1.0 ✔️
ok_http Non-Breaking 0.1.0 0.1.1-wip 0.1.1 ✔️

This check can be disabled by tagging the PR with skip-breaking-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

Coverage ⚠️
File Coverage
pkgs/cronet_http/example/integration_test/client_profile_test.dart 💔 Not covered
pkgs/cronet_http/example/integration_test/client_test.dart 💔 Not covered
pkgs/cronet_http/example/integration_test/cronet_configuration_test.dart 💔 Not covered
pkgs/cronet_http/example/lib/book.dart 💔 Not covered
pkgs/cronet_http/example/lib/main.dart 💔 Not covered
pkgs/cronet_http/lib/cronet_http.dart 💔 Not covered
pkgs/cronet_http/lib/src/cronet_client.dart 💔 Not covered
pkgs/cronet_http/lib/src/jni/jni_bindings.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/client_conformance_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/client_profile_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/client_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/http_url_response_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/main.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/mutable_url_request_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/url_cache_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/url_request_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/url_response_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/url_session_configuration_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/url_session_delegate_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/url_session_task_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/url_session_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/utils_test.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/web_socket_conformance_test.dart 💔 Not covered
pkgs/cupertino_http/example/lib/book.dart 💔 Not covered
pkgs/cupertino_http/example/lib/main.dart 💔 Not covered
pkgs/cupertino_http/lib/cupertino_http.dart 💔 Not covered
pkgs/cupertino_http/lib/src/cupertino_api.dart 💔 Not covered
pkgs/cupertino_http/lib/src/cupertino_client.dart 💔 Not covered
pkgs/cupertino_http/lib/src/cupertino_web_socket.dart 💔 Not covered
pkgs/cupertino_http/lib/src/native_cupertino_bindings.dart 💔 Not covered
pkgs/cupertino_http/lib/src/utils.dart 💔 Not covered
pkgs/http/example/main.dart 💔 Not covered
pkgs/http/example/retry.dart 💔 Not covered
pkgs/http/lib/browser_client.dart 💔 Not covered
pkgs/http/lib/http.dart 💚 100 %
pkgs/http/lib/io_client.dart 💔 Not covered
pkgs/http/lib/retry.dart 💚 91 %
pkgs/http/lib/src/base_client.dart 💚 97 %
pkgs/http/lib/src/base_request.dart 💚 88 %
pkgs/http/lib/src/base_response.dart 💚 87 %
pkgs/http/lib/src/boundary_characters.dart 💔 Not covered
pkgs/http/lib/src/browser_client.dart 💔 Not covered
pkgs/http/lib/src/byte_stream.dart 💚 87 %
pkgs/http/lib/src/client.dart 💚 100 %
pkgs/http/lib/src/client_stub.dart 💔 Not covered
pkgs/http/lib/src/exception.dart 💚 20 %
pkgs/http/lib/src/io_client.dart 💚 86 %
pkgs/http/lib/src/io_streamed_response.dart 💚 100 %
pkgs/http/lib/src/mock_client.dart 💚 100 %
pkgs/http/lib/src/multipart_file.dart 💚 95 %
pkgs/http/lib/src/multipart_file_io.dart 💚 100 %
pkgs/http/lib/src/multipart_file_stub.dart 💔 Not covered
pkgs/http/lib/src/multipart_request.dart 💚 96 %
pkgs/http/lib/src/request.dart 💚 98 %
pkgs/http/lib/src/response.dart 💚 100 %
pkgs/http/lib/src/streamed_request.dart 💚 100 %
pkgs/http/lib/src/streamed_response.dart 💚 100 %
pkgs/http/lib/src/utils.dart 💚 96 %
pkgs/http/lib/testing.dart 💔 Not covered
pkgs/http2/example/display_headers.dart 💔 Not covered
pkgs/http2/lib/http2.dart 💔 Not covered
pkgs/http2/lib/multiprotocol_server.dart 💚 89 %
pkgs/http2/lib/src/artificial_server_socket.dart 💚 50 %
pkgs/http2/lib/src/async_utils/async_utils.dart 💚 100 %
pkgs/http2/lib/src/byte_utils.dart 💚 100 %
pkgs/http2/lib/src/connection.dart 💚 81 %
pkgs/http2/lib/src/connection_preface.dart 💚 100 %
pkgs/http2/lib/src/error_handler.dart 💚 98 %
pkgs/http2/lib/src/flowcontrol/connection_queues.dart 💚 94 %
pkgs/http2/lib/src/flowcontrol/queue_messages.dart 💚 45 %
pkgs/http2/lib/src/flowcontrol/stream_queues.dart 💚 88 %
pkgs/http2/lib/src/flowcontrol/window.dart 💚 100 %
pkgs/http2/lib/src/flowcontrol/window_handler.dart 💚 100 %
pkgs/http2/lib/src/frames/frame_defragmenter.dart 💚 100 %
pkgs/http2/lib/src/frames/frame_reader.dart 💚 90 %
pkgs/http2/lib/src/frames/frame_types.dart 💚 45 %
pkgs/http2/lib/src/frames/frame_utils.dart 💚 100 %
pkgs/http2/lib/src/frames/frame_writer.dart 💚 86 %
pkgs/http2/lib/src/frames/frames.dart 💔 Not covered
pkgs/http2/lib/src/hpack/hpack.dart 💚 96 %
pkgs/http2/lib/src/hpack/huffman.dart 💚 95 %
pkgs/http2/lib/src/hpack/huffman_table.dart 💚 100 %
pkgs/http2/lib/src/ping/ping_handler.dart 💚 100 %
pkgs/http2/lib/src/settings/settings.dart 💚 94 %
pkgs/http2/lib/src/streams/stream_handler.dart 💚 90 %
pkgs/http2/lib/src/sync_errors.dart 💚 81 %
pkgs/http2/lib/transport.dart 💚 82 %
pkgs/http2/manual_test/out_of_stream_ids_test.dart 💔 Not covered
pkgs/http_multi_server/example/main.dart 💔 Not covered
pkgs/http_multi_server/lib/http_multi_server.dart 💚 65 %
pkgs/http_multi_server/lib/src/multi_headers.dart 💚 6 %
pkgs/http_multi_server/lib/src/utils.dart 💚 80 %
pkgs/http_parser/example/example.dart 💔 Not covered
pkgs/http_parser/lib/http_parser.dart 💔 Not covered
pkgs/http_parser/lib/src/authentication_challenge.dart 💚 100 %
pkgs/http_parser/lib/src/case_insensitive_map.dart 💚 100 %
pkgs/http_parser/lib/src/chunked_coding.dart 💚 100 %
pkgs/http_parser/lib/src/chunked_coding/charcodes.dart 💔 Not covered
pkgs/http_parser/lib/src/chunked_coding/decoder.dart 💚 94 %
pkgs/http_parser/lib/src/chunked_coding/encoder.dart 💚 100 %
pkgs/http_parser/lib/src/http_date.dart 💚 100 %
pkgs/http_parser/lib/src/media_type.dart 💚 98 %
pkgs/http_parser/lib/src/scan.dart 💚 100 %
pkgs/http_parser/lib/src/utils.dart 💚 100 %
pkgs/http_profile/lib/http_profile.dart 💔 Not covered
pkgs/http_profile/lib/src/http_client_request_profile.dart 💚 98 %
pkgs/http_profile/lib/src/http_profile.dart 💔 Not covered
pkgs/http_profile/lib/src/http_profile_request_data.dart 💚 100 %
pkgs/http_profile/lib/src/http_profile_response_data.dart 💚 96 %
pkgs/http_profile/lib/src/utils.dart 💚 100 %
pkgs/ok_http/example/integration_test/client_configuration_test.dart 💔 Not covered
pkgs/ok_http/example/integration_test/client_profile_test.dart 💔 Not covered
pkgs/ok_http/example/integration_test/client_test.dart 💔 Not covered
pkgs/ok_http/example/integration_test/web_socket_test.dart 💔 Not covered
pkgs/ok_http/example/lib/book.dart 💔 Not covered
pkgs/ok_http/example/lib/main.dart 💔 Not covered
pkgs/ok_http/lib/ok_http.dart 💔 Not covered
pkgs/ok_http/lib/src/jni/bindings.dart 💔 Not covered
pkgs/ok_http/lib/src/ok_http_client.dart 💔 Not covered
pkgs/ok_http/lib/src/ok_http_web_socket.dart 💔 Not covered
pkgs/web_socket/example/web_socket_example.dart 💔 Not covered
pkgs/web_socket/lib/browser_web_socket.dart 💔 Not covered
pkgs/web_socket/lib/io_web_socket.dart 💔 Not covered
pkgs/web_socket/lib/src/browser_web_socket.dart 💔 Not covered
pkgs/web_socket/lib/src/connect_stub.dart 💔 Not covered
pkgs/web_socket/lib/src/fake_web_socket.dart 💚 100 %
pkgs/web_socket/lib/src/io_web_socket.dart 💚 85 %
pkgs/web_socket/lib/src/utils.dart 💚 100 %
pkgs/web_socket/lib/src/web_socket.dart 💚 60 %
pkgs/web_socket/lib/testing.dart 💔 Not covered
pkgs/web_socket/lib/web_socket.dart 💔 Not covered

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

API leaks ⚠️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbols
cupertino_http ncb.NSURLCache
NSURLRequest
NSURLRequestAttribution
_NSZone
NSCachedURLResponse
ncb.NSURLSessionConfiguration
SSLProtocol
tls_protocol_version_t
NSHTTPCookieStorage
NSURLCredentialStorage
__darwin_mcontext64
_opaque_pthread_attr_t
__darwin_sigaltstack
__darwin_ucontext
__siginfo
sigval
rusage_info_v6
_malloc_zone_t
_opaque_pthread_cond_t
_opaque_pthread_condattr_t
_opaque_pthread_mutex_t
_opaque_pthread_mutexattr_t
_opaque_pthread_once_t
_opaque_pthread_rwlock_t
_opaque_pthread_rwlockattr_t
_opaque_pthread_t
UnsignedWide
ProcessSerialNumber
Point
Rect
wide
TimeBaseRecord
NumVersionVariant
NumVersion
VersRec
Float80
Float96
__CFString
__CFNull
__CFAllocator
__CFArray
__SecCertificate
__SecIdentity
__SecKey
__SecPolicy
__SecAccessControl
__SecKeychain
__SecKeychainItem
__SecKeychainSearch
SecKeychainAttribute
__SecTrustedApplication
__SecAccess
__SecACL
__SecPassword
__sFILE
__CFBag
__CFBinaryHeap
__CFBitVector
__CFDictionary
__CFNotificationCenter
__CFLocale
__CFDate
__CFTimeZone
__CFData
__CFCharacterSet
__CFError
__CFCalendar
__CFDateFormatter
__CFBoolean
__CFNumber
__CFNumberFormatter
__CFURL
mach_port_status
mach_port_limits
mach_port_info_ext
mach_port_guard_info
mach_port_qos
mach_service_port_info
mach_port_options
UnnamedUnion1
__CFRunLoop
__CFRunLoopSource
__CFRunLoopObserver
__CFRunLoopTimer
__CFSocket
fsignatures
fsupplement
fchecklv
fgetsigsinfo
fstore
fpunchhole
ftrimactivefile
fspecread
fattributiontag
_filesec
OS_os_workgroup
os_workgroup_attr_opaque_s
os_workgroup_join_token_opaque_s
os_workgroup_max_parallel_threads_attr_s
os_workgroup_interval_data_opaque_s
time_value
mach_timespec
mach_msg_mac_trailer_t
security_token_t
audit_token_t
msg_labels_t
mach_msg_security_trailer_t
dispatch_source_type_s
__CFReadStream
__CFWriteStream
__CFSet
__CFTree
__CFUUID
__CFBundle
__CFMessagePort
__CFPlugInInstance
__CFMachPort
__CFAttributedString
__CFURLEnumerator
kauth_ace
guid_t
kauth_acl
kauth_filesec
_acl
_acl_entry
_acl_permset
_acl_flagset
__CFFileSecurity
__CFStringTokenizer
__CFFileDescriptor
__CFUserNotification
__CFXMLNode
__CFXMLParser
cssm_data
SecAsn1Template_struct
cssm_guid
cssm_version
cssm_subservice_uid
cssm_net_address
cssm_crypto_data
cssm_list_element
UnnamedUnion2
cssm_list
CSSM_TUPLE
cssm_tuplegroup
cssm_sample
cssm_samplegroup
cssm_memory_funcs
cssm_encoded_cert
cssm_parsed_cert
cssm_cert_pair
cssm_certgroup
UnnamedUnion3
cssm_base_certs
cssm_access_credentials
cssm_authorizationgroup
cssm_acl_validity_period
cssm_acl_entry_prototype
cssm_acl_owner_prototype
cssm_acl_entry_input
cssm_resource_control_context
cssm_acl_entry_info
cssm_acl_edit
cssm_func_name_addr
cssm_date
cssm_range
cssm_query_size_data
cssm_key_size
cssm_keyheader
cssm_key
cssm_dl_db_handle
cssm_context_attribute
cssm_context_attribute_value
cssm_kr_profile
cssm_context
cssm_pkcs1_oaep_params
cssm_csp_operational_statistics
cssm_pkcs5_pbkdf1_params
cssm_pkcs5_pbkdf2_params
cssm_kea_derive_params
cssm_tp_authority_id
cssm_field
cssm_tp_policyinfo
cssm_dl_db_list
cssm_tp_callerauth_context
cssm_encoded_crl
cssm_parsed_crl
cssm_crl_pair
cssm_crlgroup
UnnamedUnion4
cssm_fieldgroup
cssm_evidence
cssm_tp_verify_context
cssm_tp_verify_context_result
cssm_tp_request_set
cssm_tp_result_set
cssm_tp_confirm_response
cssm_tp_certissue_input
cssm_tp_certissue_output
cssm_tp_certchange_input
cssm_tp_certchange_output
cssm_tp_certverify_input
cssm_tp_certverify_output
cssm_tp_certnotarize_input
cssm_tp_certnotarize_output
cssm_tp_certreclaim_input
cssm_tp_certreclaim_output
cssm_tp_crlissue_input
cssm_tp_crlissue_output
cssm_cert_bundle_header
cssm_cert_bundle
cssm_db_attribute_info
cssm_db_attribute_label
cssm_db_attribute_data
cssm_db_record_attribute_info
cssm_db_record_attribute_data
cssm_db_parsing_module_info
cssm_db_index_info
cssm_db_unique_record
cssm_db_record_index_info
cssm_dbinfo
cssm_selection_predicate
cssm_query_limits
cssm_query
cssm_dl_pkcs11_attributes
cssm_name_list
cssm_db_schema_attribute_info
cssm_db_schema_index_info
SecAsn1AlgId
cssm_x509_type_value_pair
cssm_x509_rdn
cssm_x509_name
SecAsn1PubKeyInfo
cssm_x509_time
x509_validity
cssm_x509ext_basicConstraints
cssm_x509_extensionTagAndValue
cssm_x509ext_pair
cssm_x509_extension
cssm_x509ext_value
extension_data_format
cssm_x509_extensions
cssm_x509_tbs_certificate
cssm_x509_signature
cssm_x509_signed_certificate
cssm_x509ext_policyQualifierInfo
cssm_x509ext_policyQualifiers
cssm_x509ext_policyInfo
cssm_x509_revoked_cert_entry
cssm_x509_revoked_cert_list
cssm_x509_tbs_certlist
cssm_x509_signed_crl
__CE_OtherName
__CE_GeneralName
__CE_GeneralNameType
__CE_GeneralNames
__CE_AuthorityKeyID
__CE_ExtendedKeyUsage
__CE_BasicConstraints
__CE_PolicyQualifierInfo
__CE_PolicyInformation
__CE_CertPolicies
__CE_DistributionPointName
UnnamedUnion5
__CE_CrlDistributionPointNameType
__CE_CRLDistributionPoint
__CE_CRLDistPointsSyntax
__CE_AccessDescription
__CE_AuthorityInfoAccess
__CE_SemanticsInformation
__CE_QC_Statement
__CE_QC_Statements
__CE_IssuingDistributionPoint
__CE_GeneralSubtree
__CE_GeneralSubtrees
__CE_NameConstraints
__CE_PolicyMapping
__CE_PolicyMappings
__CE_PolicyConstraints
__CE_DataAndType
CE_Data
__CE_DataType
cssm_acl_process_subject_selector
cssm_acl_keychain_prompt_selector
cssm_appledl_open_parameters
cssm_applecspdl_db_settings_parameters
cssm_applecspdl_db_is_locked_parameters
cssm_applecspdl_db_change_password_parameters
__SecTrust
SSLContext

This check can be disabled by tagging the PR with skip-leaking-check.

License Headers ⚠️
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
pkgs/http/example/main.dart
pkgs/http_client_conformance_tests/example/client_test.dart
pkgs/http_client_conformance_tests/lib/src/dummy_isolate.dart
pkgs/http_parser/test/example_test.dart
pkgs/http_profile/lib/http_profile.dart
pkgs/web_socket/example/web_socket_example.dart
pkgs/web_socket/lib/testing.dart
pkgs/web_socket_conformance_tests/example/client_test.dart

All source files should start with a license header.

This check can be disabled by tagging the PR with skip-license-check.

@dart-lang dart-lang deleted a comment from github-actions bot Dec 17, 2024
@mosuem mosuem requested a review from brianquinlan December 17, 2024 13:13
@mosuem mosuem marked this pull request as ready for review December 17, 2024 13:14
@brianquinlan
Copy link
Collaborator

Even with the typos, the CI passed. Why is that?

@mosuem
Copy link
Member Author

mosuem commented Dec 17, 2024

Even with the typos, the CI passed. Why is that?

That is indeed pretty interesting. At first it runs the non-flutter dart command, but then writes Warning: Unable to find matching Flutter executable. Using system Flutter executable..., extras: {dart executable: /opt/hostedtoolcache/dart/3.7.0-243.0.dev/x64/bin/dart}, and proceeds to launch Flutter (which is installed as some packages are marked as Flutter packages). I don't know what outputs this though...

@brianquinlan
Copy link
Collaborator

Even with the typos, the CI passed. Why is that?

That is indeed pretty interesting. At first it runs the non-flutter dart command, but then writes Warning: Unable to find matching Flutter executable. Using system Flutter executable..., extras: {dart executable: /opt/hostedtoolcache/dart/3.7.0-243.0.dev/x64/bin/dart}, and proceeds to launch Flutter (which is installed as some packages are marked as Flutter packages). I don't know what outputs this though...

So this was working anyway?

sdk: dev
channel: dev
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both sdk and channel are meaningful? What is the difference?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-infra A repository infrastructure change or enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants