Ruby und Rails Upgrades durchführen #9

Closed
opened 2022-09-08 12:15:50 +02:00 by tk · 7 comments
Owner
No description provided.
tk added this to the Rails Upgrade milestone 2022-09-08 12:15:59 +02:00
Owner

Hi,

Thanks for your mail.
It is really good news that you can work on Foodsoft development!
First of all, I have been less and less involved with Foodsoft development, so I'm not fully in touch with everything. I think it's best to post to the foodsoft-dev mailing list. Note that we're not fully happy with Nabble and are working on a move, but for now that will be the place.

Your improvements are very welcome. Especially the Ruby on Rails upgrade has been long overdue, and could be quite a challenge (including dependencies that are no longer updated, e.g. the API testing infrastructure).

Feel free to open PRs on the Github repository, that would be the way to get it integrated.
I'm sometimes looking there, as is @paroga and some other contributors. I feel we're falling a bit short on responding, but we'll try. It would help to keep the PRs focused on a single thing, and keep them clean, so the discussion can be clear and they can be merged one by one.

The Ruby on Rails upgrade would be number one from my point of view, I think.
If you're open to let your work list influenced by others, it could be helpful to have a videocall with other developers. If your task list is more or less fixed already (by your own demand), then a post to -dev would be helpful (but you could still invite everyone to talk with you).

In any case, this is really great.

Kind regards,

  • WIllem
Hi, Thanks for your mail. It is really good news that you can work on Foodsoft development! First of all, I have been less and less involved with Foodsoft development, so I'm not fully in touch with everything. I think it's best to post to the foodsoft-dev mailing list. Note that we're not fully happy with Nabble and are working on a move, but for now that will be the place. Your improvements are very welcome. Especially the Ruby on Rails upgrade has been long overdue, and could be quite a challenge (including dependencies that are no longer updated, e.g. the API testing infrastructure). Feel free to open PRs on the Github repository, that would be the way to get it integrated. I'm sometimes looking there, as is @paroga and some other contributors. I feel we're falling a bit short on responding, but we'll try. It would help to keep the PRs focused on a single thing, and keep them clean, so the discussion can be clear and they can be merged one by one. The Ruby on Rails upgrade would be number one from my point of view, I think. If you're open to let your work list influenced by others, it could be helpful to have a videocall with other developers. If your task list is more or less fixed already (by your own demand), then a post to -dev would be helpful (but you could still invite everyone to talk with you). In any case, this is really great. Kind regards, - WIllem
Owner
https://github.com/foodcoops/foodsoft/issues/939
flip started working 2022-10-13 10:40:33 +02:00
flip stopped working 2022-10-13 11:04:02 +02:00
23min 29s
Owner
rails upgrade: https://github.com/foodcoops/foodsoft/issues/956
flip added spent time 2022-10-13 12:09:38 +02:00
50h
flip deleted spent time 2022-10-13 12:17:20 +02:00
- 50h
flip added spent time 2022-10-13 12:17:29 +02:00
50min
Owner

Es sieht so aus, als hätten die Foodsoft Devs die Swaggerfile erstellt und apivore testet die dort spezifizierten Endpunkte.

Aus der "apivore" Doc:

This will validate the json against the Swagger 2.0 schema and allow you to add tests for each documented endpoint combination of a path, method, and expected response.

If your Swagger documentation contains a schema for the response model, the generated tests will test whether the response conforms to that model.

Wir testen mit dem outdated gem also die response der API, ob sie der Dokumentation der OpenAPI entspricht

die API selber hat auch eigene Tests.

https://github.com/foodcoops/foodsoft/pull/573#issuecomment-774033548

Wie die swaggerfile in die foodsoft kommt, war nicht herauszufinden. Es wirkt so, als wäre es selbst spezifiziert worden:
900cc91197

Es sieht so aus, als hätten die Foodsoft Devs die Swaggerfile erstellt und apivore testet die dort spezifizierten Endpunkte. Aus der "apivore" Doc: > This will validate the json against the Swagger 2.0 schema and allow you to add tests for each **documented** endpoint combination of a path, method, and expected response. > > If your Swagger documentation contains a schema for the response model, the generated tests will test whether the response conforms to that model. Wir testen mit dem outdated gem also die response der API, ob sie der Dokumentation der OpenAPI entspricht die API selber hat auch eigene Tests. https://github.com/foodcoops/foodsoft/pull/573#issuecomment-774033548 Wie die swaggerfile in die foodsoft kommt, war nicht herauszufinden. Es wirkt so, als wäre es selbst spezifiziert worden: https://github.com/foodcoops/foodsoft/commit/900cc911978512bbb6186f0237fcee21be866fb2
Owner

https://github.com/rswag/rswag

rswag generiert aus api tests die swagger doc, aber ist nicht wie apivore ein Tool, die api gegen Spezifikation vergleicht.

Dennoch ist es möglich mit rswag die api zu testen.

https://github.com/rswag/rswag rswag **generiert** aus api tests die swagger doc, aber ist nicht wie apivore ein Tool, die api gegen Spezifikation vergleicht. Dennoch ist es möglich mit rswag die api zu testen.
philipp added a new dependency 2022-11-07 12:25:17 +01:00
philipp added this to the Kanban project 2022-11-21 11:32:24 +01:00
Owner

ich hab mal den aktuellen stand durchgesehen und sieht super aus! schön minimal.

ein paar gedanken zum stand:

  • @import "twitter/bootstrap/responsive";

warum?

legacy_bootstrap_variables

warum?

class ArticlesCsv < RenderCSV

hier besser CSV als acronym definieren: https://api.rubyonrails.org/classes/ActiveSupport/Inflector/Inflections.html#method-i-acronym

class OrderPdf < RenderPdf

same

config/initializers/new_framework_defaults_5_2.rb
config/initializers/new_framework_defaults_6_1.rb
config/initializers/new_framework_defaults_7_0.rb

kann das weg?

config/initializers/rails6_backports.rb

remove ;)

concerns:

minimal-invasiv wäre concerns aus den autoload path rauszunehmen:

  # config/initializers/zeitwerk.rb
  ActiveSupport::Dependencies.
    autoload_paths.
    delete("#{Rails.root}/app/models/concerns")
https://guides.rubyonrails.org/classic_to_zeitwerk_howto.html#concerns
ich hab mal den aktuellen stand durchgesehen und sieht super aus! schön minimal. ein paar gedanken zum stand: > - @import "twitter/bootstrap/responsive"; warum? > legacy_bootstrap_variables warum? > class ArticlesCsv < RenderCSV hier besser CSV als acronym definieren: https://api.rubyonrails.org/classes/ActiveSupport/Inflector/Inflections.html#method-i-acronym > class OrderPdf < RenderPdf same > config/initializers/new_framework_defaults_5_2.rb > config/initializers/new_framework_defaults_6_1.rb > config/initializers/new_framework_defaults_7_0.rb kann das weg? > config/initializers/rails6_backports.rb remove ;) >concerns: minimal-invasiv wäre concerns aus den autoload path rauszunehmen: ``` # config/initializers/zeitwerk.rb ActiveSupport::Dependencies. autoload_paths. delete("#{Rails.root}/app/models/concerns") https://guides.rubyonrails.org/classic_to_zeitwerk_howto.html#concerns ```
Owner
https://github.com/foodcoops/foodsoft/pull/979 * [ ] fix github ci
Sign in to join this conversation.
No milestone
No project
No assignees
4 participants
Notifications
Total time spent: 1 hour 13 minutes
flip
1 hour 13 minutes
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Depends on
#28 introduce rswag
Foodsoft/foodsoft
Reference: Foodsoft/foodsoft#9
No description provided.