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 flutter health wf #1787

Open
wants to merge 17 commits into
base: main
Choose a base branch
from
Open

Fix flutter health wf #1787

wants to merge 17 commits into from

Conversation

mosuem
Copy link
Member

@mosuem mosuem commented Dec 6, 2024

Update the health workflow to newest version.


  • 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 6, 2024
Copy link

github-actions bot commented Dec 6, 2024

PR Health

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?
ffi None 2.1.3 2.1.3 2.1.3 ✔️
ffigen Breaking 16.0.0 17.0.0-wip 17.0.0 ✔️
jni None 0.13.0 0.13.0-wip 0.13.0 ✔️
objective_c Non-Breaking 4.0.0 4.1.0-wip 4.1.0 ✔️
Changelog Entry ✔️
Package Changed Files

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

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
ffi MallocAllocator
CallocAllocator
ffigen Type
AstNode
Visitation
Visitor
BindingType
NoLookUpBinding
Binding
Writer
SymbolAddressWriter
EnumClass
EnumConstant
UniqueNamer
ObjCBuiltInFunctions
ObjCImport
Parameter
ObjCMsgSendFunc
ObjCMsgSendVariant
ObjCMsgSendVariantFunc
FunctionType
ObjCInternalGlobal
ObjCBlock
ObjCListenerBlockTrampoline
Func
LookUpBinding
LibraryImport
BindingString
BindingStringType
ObjCInterface
ObjCMethod
ObjCProperty
ObjCMethodKind
ObjCMethodOwnership
ObjCMethodFamily
ObjCProtocol
ObjCCategory
Struct
Compound
CompoundMember
CompoundType
Union
MacroConstant
Constant
UnnamedEnumConstant
Global
Typealias
PointerType
ImportedType
ConfigSpec
ConfigValue
jni _opaque_pthread_mutex_t
_opaque_pthread_cond_t
_Dart_FinalizableHandle
_ReferenceType
objective_c ObjCBlockBase
c._ObjCBlockImpl
_ObjCBlockDesc
_ObjCBlockRef
_ObjCObject
_Dart_FinalizableHandle
_ObjCProtocol
_ObjCSelector
_ObjCMethodDesc
_ObjCObjectRef
_NSZone

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/jni/lib/src/third_party/generated_bindings.dart
pkgs/native_assets_builder/test_data/native_dynamic_linking/bin/native_dynamic_linking.dart
pkgs/objective_c/lib/src/ns_input_stream.dart

All source files should start with a license header.

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

@coveralls
Copy link

coveralls commented Dec 9, 2024

Coverage Status

coverage: 87.81% (-0.9%) from 88.732%
when pulling c50b12e on fixFlutterHealth
into 8ea1a9d on main.

@mosuem
Copy link
Member Author

mosuem commented Dec 9, 2024

@liamappelbe I have excluded swiftgen (throws) and swift2objc (unpublished) from the health check for now.

@HosseinYousefi I have excluded jnigen (throws as it has a path dependency in the published version) from the health check for now.

@mosuem mosuem marked this pull request as ready for review December 12, 2024 14:31
@mosuem mosuem requested a review from liamappelbe December 17, 2024 14:50
@@ -1,4 +1,4 @@
## 16.0.1-wip
## 17.0.0-wip
Copy link
Contributor

Choose a reason for hiding this comment

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

What's this change for? Can we make it 16.1 instead?

Copy link
Member Author

Choose a reason for hiding this comment

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

It's because ffigen has breaking changes, see the PR health comment. Happy to disable the breaking change check for ffigen in general, address the upgrade in a later PR, or just ignore this breakage.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the issue is that the breaking change checker is checking for changes on internal classes. This is the only breaking change in the report:

  "breakingChanges": {
    "label": "BREAKING CHANGES",
    "children": [
      {
        "label": "Class ImportedType",
        "children": [
          {
            "label": "Constructor ImportedType",
            "children": [
              {
                "changeDescription": "Kind of parameter \"defaultValue\" changed. not named -> named",
                "changeCode": "CE07",
                "isBreaking": true,
                "type": "major"
              }
            ]
          }
        ]
      }
    ]
  },

ImportedType is not part of the public API (or at least, it shouldn't be public). The fix here is to figure out why that class (and others mentioned in the non-breaking changes) are considered to be part of the public API. It's probably related to the issues in the API leaks check. But if you want to just ignore ffigen for now, that's fine.

Copy link
Member Author

Choose a reason for hiding this comment

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

Right - the leaks could have something to do with that. Those clean ups should be done in follow ups.

@mosuem mosuem requested a review from liamappelbe December 20, 2024 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:ffigen package:jnigen package:objective_c type-infra A repository infrastructure change or enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants