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

Merge fork - blueprinter-ruby/blueprinter to procore-oss/blueprinter #327

Merged
merged 24 commits into from
Sep 20, 2023

Conversation

ritikesh
Copy link
Collaborator

@ritikesh ritikesh commented Sep 15, 2023

Creating this PR to merge the community fork's changes to upstream. I've synced the repos and am creating this PR as-is for now, will cleanup and make changes based on review comments. Have consolidated the contributions into a single changelog entry as well.

Checklist:

  • I have updated the necessary documentation
  • I have updated the changelog, if necessary (CHANGELOG.md)
  • I have signed off all my commits as required by DCO
  • My build is green

ritikesh and others added 18 commits January 5, 2023 21:46
* Run tests in Github Actions

* Update github action configuration

Co-authored-by: Ritikesh <[email protected]>

* Update ruby versions we run tests against, temporarily run tests on this branch too

* do not use ruby 2.6 in tests

* Update required ruby version

* Try not locking activerecord to as recent a version and run tests in ruby 2.6.9 and 3.2

* Remove this branch from those that trigger tests

* Update blueprinter.gemspec

---------

Co-authored-by: Ritikesh <[email protected]>
* Allow configuration of array-like classes

* update README to include information about the array_like_classes configuration option

* do not persist vehicles to db in tests

* Consolidate array-like logic and add test case for non-configured array-like class

* memoize the array_like_classes

* Increment version and update CHANGELOG

* Apply suggestions from code review

---------

Co-authored-by: Ritikesh <[email protected]>
* create a rubocop workflow

* Update rubocop.yml

* rubocop V1

* update workflow files

* Update rubocop.yml

* Update rubocop.yml

* Update rubocop.yml

* final updates

* Update rubocop.yml

* final updates

* lock rubocop version

* update description of gem

* Update lib/blueprinter/extractors/block_extractor.rb
update yard and cleanup rubocop.yml workflow
* fix rubocop

* run only rspec from tests workflow
…s` (#16)

* Removed deprecations on Blueprinter::Field callables

* Removed conditional procs with two arguments and modified version and changelog
@ritikesh ritikesh requested a review from a team as a code owner September 15, 2023 20:13
@jmeridth
Copy link
Contributor

Gotta sign your commits now. Thank you so much for bringing this back into this repo. Looking forward to more contributions.

@ritikesh
Copy link
Collaborator Author

@jmeridth there are commits from multiple contributors since it's a forward merge as-is. If those aren't signed, not sure how we'd go about that. I don't want to squash them into a single commit and lose meaningful independent commits. What should we do about this then? Can there not be a one-time exception?

@jmeridth
Copy link
Contributor

We can ignore DCO for that type of scenario. Thank you for clarifying.

.rubocop.yml Outdated Show resolved Hide resolved
.rubocop.yml Show resolved Hide resolved
.rubocop.yml Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
s.add_development_dependency 'rspec-rails', '~> 6.0'
s.add_development_dependency 'sqlite3', '~> 1.4.2'
s.add_development_dependency 'yajl-ruby', '~> 1.4.1'
s.add_development_dependency 'yard', '~> 0.9.11'
Copy link
Contributor

Choose a reason for hiding this comment

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

I see that we moved the location of gem dependencies from here to the Gemfile as part of this PR. Was that necessary to get everything working? Just trying to understand the intention of the change here!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

development dependencies are better suited for Gemfiles right? it also helps when you want to use different versions of dev dependencies for different versions of ruby/rails you want to support. It keeps your gemspec clean and there's no material difference in terms of functionality.

Copy link
Contributor

Choose a reason for hiding this comment

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

I thought the standard was always to put a Gem's dev dependencies in the .gemspec (hence why add_development_dependency exists) then include the .gemspec in the Gemfile like we're currently doing.

Maybe we shouldn't be specifying exact versions for dev dependencies? Would something like Appraisal help with testing against different versions?

Copy link
Contributor

Choose a reason for hiding this comment

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

It does look like there's a pending default Rubocop rule for ensuring that development dependencies are enumerated in the Gemfile instead of the gemspec, so I'm happy to move forward with this change.

As @njbbaer mentioned though, Appraisal would be a really nice value add here for testing different Ruby versions. We can follow up on that, though.

@jmeridth
Copy link
Contributor

jmeridth commented Sep 18, 2023

We need to have #320 merge before this PR. To ensure rubygem gets released. rubygem release action is working

Co-authored-by: Jake Sheehy <[email protected]>
Signed-off-by: Ritikesh <[email protected]>
Copy link
Contributor

@lessthanjacob lessthanjacob left a comment

Choose a reason for hiding this comment

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

🎉

@ritikesh
Copy link
Collaborator Author

@lessthanjacob can we merge this then?

@lessthanjacob
Copy link
Contributor

@ritikesh Let's get one more +1, but after that, we should be good to merge!

@ritikesh ritikesh merged commit 2665a9a into procore-oss:main Sep 20, 2023
4 of 5 checks passed
@ritikesh
Copy link
Collaborator Author

thanks @lessthanjacob and @jmeridth. I'll post updates on the issue and the fork regarding this as well.

@ritikesh
Copy link
Collaborator Author

@lessthanjacob @jmeridth - looks like release workflow isn't working? I don't see the 0.3.0 version published to Rubygems post merge

@lessthanjacob
Copy link
Contributor

lessthanjacob commented Sep 20, 2023

@ritikesh Releasing is a manual process currently. Looking into this. @jmeridth is working on a fix.

@ritikesh
Copy link
Collaborator Author

I see the release has happened but not sure if the workflow is fixed. Also, just wanted to know, how do we do communications within the maintainers?

@jmeridth
Copy link
Contributor

@ritikesh I'll add you to the maintainers mailing list.

Yes, release fixed and 0.30.0 is available on rubygems.org.

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.

8 participants