-
-
Notifications
You must be signed in to change notification settings - Fork 118
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(analysis): add compatibility rules class-declaration-abstractness-changed #974
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sure the Concerto team would like to see something in the PR description.
@@ -54,11 +54,17 @@ const classDeclarationTypeChanged: ComparerFactory = (context) => ({ | |||
if (aType === bType) { | |||
return; | |||
} | |||
context.report({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The existing type-change report shouldn't be removed. Instead, the if
statement above should be inverted (aType !== bType
or whatever) and the report should be put in there.
const changeSeverity = isAbstract(a) ? 'minor' : 'major'; | ||
context.report({ | ||
key: 'class-declaration-abstractness-changed', | ||
message: `The class "${a.getName()}" changed from ${changeType} (${changeSeverity} change).`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The severity can't simply be expressed in the message but must be defined here:
rules: { |
You'll need to create two different keys: one for abstract to concrete, and one for concrete to abstract.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added the rules, and change the severity to changeKey.
The pull request is ready for review.
please let me know if any changes need.
It looks okay to me, but I'm not part of the Concerto team so they'll have to review it. I expect they would like to see a test, for example. I think you can search for the other result codes (keys) and find where the existing tests are. |
Thanks for the suggestion! I’ll look into searching for the result codes
and check the existing tests.
…On Sun, Dec 22, 2024, 11:31 PM DS-AdamMilazzo ***@***.***> wrote:
It looks okay to me, but I'm not part of the Concerto team so they'll have
to review it. I expect they would like to see a test, for example. I think
you can search for the other result codes (keys) and find where the
existing tests are.
—
Reply to this email directly, view it on GitHub
<#974 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BKJ2ERKOFVNQBUFEJAXYV3D2G35A5AVCNFSM6AAAAABUAZFFHOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJYGUZTSNJSHE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Hi AdamMilazzo,
I hope you're doing well! I’m really interested in contributing to the
Accord project, especially for GSoC 2025. I’ve started exploring the
codebase and would love to begin contributing by fixing bugs or adding
small features. Could you recommend any tasks or open issues that I can
start with?
I’d also appreciate any advice on how to get more involved early on. How
can I connect with you or other mentors to discuss potential project ideas
for next year? Additionally, how can I find the listed projects for the
Accord organization for GSoC 2025?
Also, I was wondering how I can connect with Accord members in the forums
or other community channels. Any tips on how to get in touch with other
contributors or mentors there would be great!
Thank you for your time and support! Looking forward to hearing from you.
Best regards,
B Mamatha
***@***.***
On Mon, Dec 23, 2024, 12:08 AM Mamatha Bandi ***@***.***>
wrote:
… Thanks for the suggestion! I’ll look into searching for the result codes
and check the existing tests.
On Sun, Dec 22, 2024, 11:31 PM DS-AdamMilazzo ***@***.***>
wrote:
> It looks okay to me, but I'm not part of the Concerto team so they'll
> have to review it. I expect they would like to see a test, for example. I
> think you can search for the other result codes (keys) and find where the
> existing tests are.
>
> —
> Reply to this email directly, view it on GitHub
> <#974 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/BKJ2ERKOFVNQBUFEJAXYV3D2G35A5AVCNFSM6AAAAABUAZFFHOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJYGUZTSNJSHE>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
|
Hi @Mamatha1718 I might also want to do a DCO signoff for your commits. |
@@ -53,6 +53,8 @@ export const defaultCompareConfig: CompareConfig = { | |||
'optional-property-added': CompareResult.PATCH, | |||
'required-property-removed': CompareResult.MAJOR, | |||
'optional-property-removed': CompareResult.MAJOR, | |||
'class-declaration-abstract-to-concrete': CompareResult.MINOR, | |||
'class-declaration-concrete-to-abstract': CompareResult.MAJOR, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do we decide if the conversions results in a major/minor bump? Is there some sort of modelling convnetion for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's major if existing data can become invalid (i.e. it's not backward-compatible). Otherwise, it's minor or patch. I don't know how they decide between those two. @mttrbrts ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @DS-AdamMilazzo, this result makes sense to me.
|
This PR is stale because it has been open 15 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
Hi @sanketshevkar, @DS-AdamMilazzo |
Hi @DS-AdamMilazzo ,Thank you for your response. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved.
@accordproject/maintainers I believe that this should considered a bug fix, and so am comfortable with releasing it in the next minor version release of Concerto.
@Mamatha1718 thank you for your first contribution! I'm happy to merge if you can fix the DCO sign-off. |
@Mamatha1718 this might be helpful for amending the commit messages to contain a sign off message: https://github.com/dcoapp/app#how-it-works |
Hi @mttrbrts Thanks for your response. I signed off DCO. |
Hi @jamieshorten , Thanks for your dcoapp files, that are help me to signoff DCO. |
There still appears to be an issue here, unfortunately. You can manually sign-off in the browser here: https://github.com/accordproject/concerto/pull/974/checks?check_run_id=36014157838 |
Thank you for pointing that out earlier! I've reviewed the DCO status and successfully resolved the issue. The DCO check now shows a green checkmark, and all commits have been properly signed off. Please let me know if there's anything else I need to address or if further action is required from my side. |
Hi @Mamatha1718 |
Hi @sanketshevkar , i solve the issue with adding these |
PR build is failing for license check https://github.com/accordproject/concerto/actions/runs/12923154472/job/36041165256?pr=974 |
Hi @sanketshevkar ,Thank you for pointing that out. I've removed the er.email file as requested. will you please let me know any changes required. |
Hi @sanketshevkar , |
Here are steps which will help you signoff your commits https://github.com/accordproject/concerto/pull/974/checks?check_run_id=36240929516. If you follow the instructions given there you should be able to signoff of your old commits. |
Also you might have to fix the linting errors as well. You can always try running the build, test and lint check commands in the package json to check if your changes are compatible with all the guardrails kept in place before making the commit. The PR checks basically does the same thing before we merge the commits. Thanks for having patience! |
Signed-off-by: Mamatha Bandi <[email protected]>
wq Signed-off-by: Mamatha Bandi <[email protected]> Signed-off-by: Mamatha Bandi <[email protected]>
Signed-off-by: Mamatha Bandi <[email protected]> Signed-off-by: Mamatha Bandi <[email protected]>
Signed-off-by: Mamatha Bandi <[email protected]>
Signed-off-by: Mamatha Bandi <[email protected]>
Signed-off-by: Mamatha Bandi <[email protected]>
Signed-off-by: Mamatha Bandi <[email protected]>
4a7a65e
to
bf96d0d
Compare
Title
See our DEVELOPERS guide below:
https://github.com/accordproject/concerto/blob/main/DEVELOPERS.md
Closes #974
Summary
This pull request introduces abstractness checks for class declarations to enhance compatibility and versioning analysis.
Changes
=> Added logic to compare
isAbstract
property in class declarations.=> Retained existing type-change reports for class declarations.
=> Introduced new keys:
=>
class-declaration-abstract-to-concrete
: Classified as a minor change.=>
class-declaration-concrete-to-abstract
: Classified as a major change.=>Updated rules in
compare-config.ts
to reflect the above changes.+Flags
=> Ensure the abstractness change handling aligns with other compatibility rules.
=> Breaking changes introduced by
concrete-to-abstract
modifications must be validated thoroughly.Related Issues
Author Checklist
--signoff
option of git commit.main
fromfork:branchname