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

Realllow usage of php 7.2+, CI using github actions, demoprojects and other improvements #65

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

Conversation

Zombaya
Copy link

@Zombaya Zombaya commented Feb 13, 2022

After seeing that with the release of 5.1.0 all support for php 7.2-7.4 was dropped, I wanted to re-add this to the library since I believe this was a bit too drastic of a move which was also not really necessary in my opinion.

To verify that my changes were going to be valid, I've made sure all the unit-tests run again, added two demo-projects using symfony 4.4 and symfony 6.0 with unit-tests to make sure it is all supported.

I've also backported a fix for performance issues with child-classes of abstract classes with encrypted fields as I would be upgrading our project depending on this library, which was already using this fix in production for over a year using a patch. If needed, I can create a seperate PR for this fix and extract the commits from this PR.

Overview of changes

  • Re-allow usage of php 7.2-7.4
  • Add dependency on doctrine/annotations and doctrine/doctrine-bundle to composer.json
  • Add .gitattributes-file to strip out unnecessary files on packagist.com for usage of the library
  • Renamed Tests to tests to be more in line with other libraries
  • Removal of unnecessary phpunit-result-cache-file from repository
  • Make sure all unittests run on php 7.2-8.1 using both lowest and latest dependencies
  • Add Continuous Integration using github actions
    • Example of a run
    • Add statistical analysis
      • Make sure composer.json is valid
      • Make sure all php-files are valid php in php 7.2-8.1
      • Make sure no undefined classes or variables are used (PHPStan)
  • Make sure all commands return 0 instead of 1 when successfully completing
  • Add PHPStan (level 0) to avoid errors with undefined classes or variables
    • Also runs in CI
  • Add demoprojects
    • Using symfony 4.4 and 6.0
    • Shared database, secret and templates for easy comparison between demo's
    • Example-entity using annotation and example-entity using attributes
    • AttributeReader is only used in php >= 8.0
    • Has unit/integration-test which is integrated in CI to validate demo's are valid and works with library
    • Use sqlite as database to make it easy to run in CI and for users to test out
    • Added README.md's to help test out the demo-projects
  • Add fix to avoid updating non-changed childclasses of abstract parent classes with an encrypted field

Zombaya01 added 30 commits February 9, 2022 18:02
Tested with:
* php 7.2 && composer update --prefer-lowest
* php 7.4 && composer update
@virtualize
Copy link

@Zombaya Thank your for your work! We're using your great fork for a while now.

As this repository, does not seem the get any attention from the owner, what do you think about releasing your own fork on packagist? Probably under a new package name?

@Zombaya
Copy link
Author

Zombaya commented Jul 6, 2022

To be honest, I've been long been thinking about asking @absolute-quantum about his idea about moving this project to an organization so more people would be able to contribute and take a bit of control of this project as it seems he/she has lost a bit of interest/time/motivation to do a lot of work on this project.

I was thinking of trying to get some other people who have actively worked on this project involved.

I'd rather do this as to avoid having many people working on their own separate branch of this project, which is also a reason why I did not publish a fork of my own on packagist.

The main reason I haven't done this is because I work on this project on company time and we do not use this project very heavily, so I can not really justify for my company nor myself on devoting management time on this project other than the improvements I made so far or (further improvements I might make).

I'm not really up for maintaining a project like this myself, although I'm more than happy to contribute once in a while. Because I'm not always able or would be willing to devote time to this, I don't think I'd make a good maintainer myself.

That being said, I'd do like to thank @absolute-quantum for the time he/she put in over the years, even though the fire was gone in the last couple of years.

All in all, I'd like to hear other peoples thoughts about the possible future of this project or a fork of it.

@virtualize
Copy link

virtualize commented Jul 8, 2022

Thanks @Zombaya for your explanation, I can totally understand, so I created an issue for that asking the owner here

Which organisations do you think we could ask? On top of my head FriendsOfSymfony possibly?

@Zombaya
Copy link
Author

Zombaya commented Jul 8, 2022

I was thinking more in the line of creating an organisation DoctrineEncryptBundle, so the project would become DoctrineEncryptBundle\DoctrineEncryptBundle.

Asking to become part of the FriendsOfSymfony-organisation is also a good idea and they might have some good ideas on how to proceed from here, even if we are not joining their organisation.

Asking around on #symfony on freenode, sending an email to [email protected] or creating on issue on https://github.com/FriendsOfSymfony/friendsofsymfony.github.io are all possible ways to contact them.

I have no experience with maintaining a project or taking over a project, so no idea what the best practices are for this.

I will not be available for the next three weeks because of personal time off so I will not be very responsive during that time. Feel free to include me however, just don't expect a quick answer 🙂.

@absolute-quantum
Copy link
Owner

Hey, i'm not sure what to do with the repo because: yes i'm not active anymore. If anyone has an idea what to do with the project be my guest, i'd be happy to help!

@cs-akash-jarad
Copy link

hi, @Zombaya did you get any response from FriendsOfSymfony?
@absolute-quantum if I am willing to take up the maintenance and ownership of the project, will you be able to transfer the repo ownership or do we have to fork the repo and take it ahead?

@Zombaya
Copy link
Author

Zombaya commented Apr 6, 2023

I did not reach out to FriendsOfSymfony as I did not see an up to date way to contact them. I didn't spend more time into investigating onto how to best take over an existing project.

I'm still in the same place as before, I'm willing to occasionally work on the project but I'm not able to be involved constantly or maintain it on a regular basis.

@cs-akash-jarad
Copy link

@absolute-quantum will you be able to transfer the repo ownership or do we have to fork the repo and take it ahead?

@r3hp1c
Copy link

r3hp1c commented Jul 17, 2023

Due to various Doctrine ORM deprecations including:

  • getEntity() is deprecated
  • getEntityManager() is deprecated
  • Using Doctrine subscribers as services is deprecated, declare listeners instead

Discussions in this pull #65 request.

These 2 comments specifically:

I need to ensure that my projects will be able to upgrade to new versions of packages and not fall behind, so I created the
DoctrineEncryptBundle organisation forked the pull request's repository from integr8rs:master-fixes and created the following package
https://packagist.org/packages/doctrineencryptbundle/doctrine-encrypt-bundle

I know about some issues in the version I released (5.3.0) Example: issue (DoctrineEncryptBundle#1)
that have already been closed. It will be in a release in the next couple days as I do plan on looking fixing a few issues that I know about.

I do need to still add another Owner and probably more members to the organisation. Volunteers would be appreciated.

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.

None yet

5 participants