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

Psalm integration #113

Closed
8 tasks done
boesing opened this issue Oct 4, 2020 · 8 comments · Fixed by #147
Closed
8 tasks done

Psalm integration #113

boesing opened this issue Oct 4, 2020 · 8 comments · Fixed by #147
Labels
Enhancement hacktoberfest-accepted Issues/Pull-Requests which can be fixed during Hacktoberfest: https://hacktoberfest.digitalocean.com Help Wanted
Milestone

Comments

@boesing
Copy link
Member

boesing commented Oct 4, 2020

Feature Request

Q A
QA yes

Summary

As decided during the Technical-Steering-Committee Meeting on August 3rd, 2020, Laminas wants to implement vimeo/psalm in all packages.

Implementing psalm is quite easy.

Required

  • Create a .psalm.xml.dist in the project root
  • Copy and paste the contents from this psalm.xml.dist
  • Run $ composer require vimeo/psalm
  • Run $ vendor/bin/psalm --set-baseline=psalm-baseline.xml
  • Add a composer script static-analysis with the command psalm --shepherd --stats
  • Add a new line to script: in .travis.yml: - if [[ $TEST_COVERAGE == 'true' ]]; then composer static-analysis ; fi
  • Remove phpstan from the project (phpstan.neon.dist, .travis.yml entry, composer.json require-dev and scripts)
Optional
  • Fix as many psalm errors as possible.
@gennadiylitvinyuk
Copy link
Contributor

I think composer.lock should be deleted from repository. This is a library at the end...

@boesing
Copy link
Member Author

boesing commented Apr 3, 2021

It is, but we decided to have it available for QA checks like codestandard and psalm as these libraries constantly detecting new stuff in newer versions when these are being updated during CI.

So instead of locking these libraries with specific versions we rather want to add composer.lock instead.

@Slamdunk Slamdunk added this to the 2.14.1 milestone Apr 6, 2021
@Slamdunk
Copy link
Contributor

Slamdunk commented Apr 6, 2021

Ok, thanks to @gennadiylitvinyuk the main goals are achieved.
An initial cleanup is still missing tough.

@boesing
Copy link
Member Author

boesing commented Apr 7, 2021

@Slamdunk Features are not targeted against Patch releases. Maybe you accidentally added 2.14.1?

@Slamdunk
Copy link
Contributor

Slamdunk commented Apr 7, 2021

To me, MINOR releases are for consumer features, not internal improvements ones.
#147 added zero consumer features, and zero internal improvements, btw.
Right now there are tons of static type bugs that we've drowned into psalm-baseline, and if and when someone have the willing to fix them, they'd go into a patch release, not a minor one, wdyt?

@Ocramius
Copy link
Member

Ocramius commented Apr 7, 2021

@Slamdunk if it's not a bugfix, it's already into the next minor: chore work is improvement, even if it has little impact downstream 💪

EDIT: to clarify further - only bugfixing in patches, nothing else. Keep patch releases as-stable-as-possible, including potential new artifacts, dev dependencies, etc.

@Slamdunk
Copy link
Contributor

Slamdunk commented Apr 7, 2021

Ok then, sorry 🙏

@Slamdunk Slamdunk modified the milestones: 2.14.1, 2.15.0 May 4, 2021
@Fahl-Design
Copy link
Contributor

Hi, pslam fails my fix for #162 ( #164 ) on 2.14.x because laminas-db is only suggested in laminas-validator package

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement hacktoberfest-accepted Issues/Pull-Requests which can be fixed during Hacktoberfest: https://hacktoberfest.digitalocean.com Help Wanted
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants