Skip to content

DTP (Test > Production: 2449ec57) - #51383

Merged
molly-moen merged 51 commits into
productionfrom
dtp_candidate_2449ec57
Apr 17, 2023
Merged

DTP (Test > Production: 2449ec57)#51383
molly-moen merged 51 commits into
productionfrom
dtp_candidate_2449ec57

Conversation

@molly-moen

Copy link
Copy Markdown
Contributor

No description provided.

Hamms and others added 30 commits March 22, 2023 13:43
Specifically to pick up ruby/rake#211, which is required for Rails 6.1 support; without it, we get `undefined method ``with_application' for Rake:Module (NoMethodError)` when trying to run any rails script.

Specifically, I implemented this by running `bundle update rake scss_lint`, to also pick up the `scss_lint` change "Relax gem dependency constraints to allow rake 12.x"

- https://github.com/sds/scss-lint/blob/master/CHANGELOG.md#0510
- https://github.com/ruby/rake/releases/tag/v12.2.0

Tested locally that this resolves for me the problems with running rake tasks on Rails 6.1

Relying on existing tests to verify that this does not otherwise result in any change to functionality.
To pick up support for Ruby 2.8+, in preparation of an update to Ruby 3.0

https://github.com/jeremyevans/sequel/blob/master/CHANGELOG#L503
Specifically target 5.29 to make sure we pick up support for Ruby 3.0, but specifically do so using a pessimistic version constraint so we pick up all other 5.x fixes, too.
Specifically `~> 0.14.0` to pick up support for Ruby 3.0

Breaking changes in 0.13.x were mostly about deleting functionality deprecated in 0.12. The only breaking change in 0.14.x is removal of support for plugin autoloading. I'm not aware of anywhere we're actually using `pry` in our codebase, however; I believe we just make it available so developers can use it in their local debugging without ever committing anything to the codebase. As such, I don't expect we'll be directly affected by any of these changes.

- https://github.com/pry/pry/blob/master/CHANGELOG.md#v0140-february-8-2021
In preparation for an update to FactoryBot 5.x (and beyond), which deprecated static attributes in favor of dynamic attributes. Update

Update applied automatically by temporarily configuring my local environment to enable the `FactoryBot/AttributeDefinedStatically` lint rule:

```diff
diff --git a/.rubocop.yml b/.rubocop.yml
index 041a14a..594b15160a3 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -6,6 +6,7 @@ inherit_from:
 require:
   - rubocop-performance
   - rubocop-rails
+  - rubocop-rspec
   - rubocop-rails-accessibility
   - './tools/customLinters/rubocop_only_allowed_characters.rb'

@@ -74,6 +75,10 @@ Style/Semicolon:
 Style/WordArray:
   MinSize: 5

+RSpec/FactoryBot/AttributeDefinedStatically:
+  Include:
+    - 'dashboard/test/factories/*.rb'
+
 # END CODE.ORG OVERRIDES

 # BEGIN BLOCKLIST: Below are rules we don't plan to enable in the forseeable
diff --git a/Gemfile b/Gemfile
index 81ed267..917649bcb73 100644
--- a/Gemfile
+++ b/Gemfile
@@ -242,6 +242,7 @@ group :development, :staging, :levelbuilder do
   gem 'rubocop-performance', require: false
   gem 'rubocop-rails', require: false
   gem 'rubocop-rails-accessibility', require: false
+  gem 'rubocop-rspec', require: false
   gem 'scss_lint', require: false
 end
```

And then running `rubocop --require rubocop-rspec --only RSpec/FactoryBot/AttributeDefinedStatically --auto-correct dashboard/test/factories/*`. I then used `rubocop --only Layout/SpaceInsideBlockBraces --auto-correct dashboard/test/factories/*.rb` to automatically fix some white space errors, and manually edited `dashboard/test/factories/foorm_factories.rb` to fix up a few more.

- https://thoughtbot.com/blog/deprecating-static-attributes-in-factory_bot-4-11
- https://docs.rubocop.org/rubocop-rspec/cops_rspec_factorybot.html#rspecfactorybotattributedefinedstatically
* add package.json

* fix linter errors

* add pre-commit hook

* fix metrics tslint errors
DTT (Staging > Test) [robo-dtt]
Revert "DTS (Levelbuilder > Staging) [bethanyconnor]"
DTT (Staging > Test) [robo-dtt]
* removed debug flag and added sm.yml to hourofcode

* added all synced down hourofcode files
…esources-take-2

Add resources to collections lessons that were missing them
DTT (Staging > Test) [robo-dtt]
* dashboard i18n sync

* pegasus markdown i18n sync
* dashboard i18n sync

* pegasus markdown i18n sync

* etags updates

* pegasus i18n updates

* pegasus i18n markdown updates

* dashboard i18n updates - Arabic

* dashboard i18n updates - Azerbaijani

* dashboard i18n updates - Bulgarian

* dashboard i18n updates - Catalan

* dashboard i18n updates - Czech

* dashboard i18n updates - German

* dashboard i18n updates - Greek

* dashboard i18n updates - Spanish

* dashboard i18n updates - Spanish, Mexico

* dashboard i18n updates - Estonian

* dashboard i18n updates - Persian

* dashboard i18n updates - Finnish

* dashboard i18n updates - Filipino

* dashboard i18n updates - French

* dashboard i18n updates - Irish

* dashboard i18n updates - Hebrew

* dashboard i18n updates - Hindi

* dashboard i18n updates - Hungarian

* dashboard i18n updates - Armenian

* dashboard i18n updates - Indonesian

* dashboard i18n updates - Icelandic

* dashboard i18n updates - Italian

* dashboard i18n updates - Japanese

* dashboard i18n updates - Georgian

* dashboard i18n updates - Kazakh

* dashboard i18n updates - Korean

* dashboard i18n updates - Lithuanian

* dashboard i18n updates - Maori

* dashboard i18n updates - Mongolian

* dashboard i18n updates - Nepali

* dashboard i18n updates - Dutch

* dashboard i18n updates - Norwegian Nynorsk

* dashboard i18n updates - Norwegian

* dashboard i18n updates - Polish

* dashboard i18n updates - Portuguese, Brazilian

* dashboard i18n updates - Portuguese

* dashboard i18n updates - Romanian

* dashboard i18n updates - Russian

* dashboard i18n updates - Northern Sami

* dashboard i18n updates - Sinhala

* dashboard i18n updates - Slovak

* dashboard i18n updates - Slovenian

* dashboard i18n updates - Albanian

* dashboard i18n updates - Swedish

* dashboard i18n updates - Thai

* dashboard i18n updates - Turkish

* dashboard i18n updates - Ukrainian

* dashboard i18n updates - Uzbek

* dashboard i18n updates - Vietnamese

* dashboard i18n updates - Chinese Simplified

* dashboard i18n updates - Chinese Traditional

* apps i18n updates

* hoc i18n updates
DTT (Staging > Test) [robo-dtt]
deploy-code-org and others added 21 commits April 17, 2023 01:32
DTT (Staging > Test) [robo-dtt]
DTT (Staging > Test) [robo-dtt]
Remove references to @no-ie tag
DTT (Staging > Test) [robo-dtt]
* only show for summer workshop

* update based on virtual or reminder

* remove changes to health and wellness
DTT (Staging > Test) [robo-dtt]
DTT (Staging > Test) [robo-dtt]
…rd (#51302)

* Hardcode isTranslated and duration values for now

* Add grade levels validation

* Pass in isEnglish prop

* Remove redundant quotations

* Pass in grades array

* Attempt one of plural translation

* Attempt two of plural translation

* Attempt three of plural translation

* Programmatically render i18n string

* Update tests and required props

* Test one thing at a time for validations

* Fix off by one error

* Add more test coverage for grade levels validation

* Add plural grade range option in JSON
* splitting lesson lock feature file into two

* fixing names
DTT (Staging > Test) [robo-dtt]
DTT (Staging > Test) [robo-dtt]
…bled-flag

Add a DCDO flag for testing Puma's out-of-band garbage collection
DTT (Staging > Test) [robo-dtt]
…eDefinedStatically

Update FactoryBot Static Attributes to Dynamic
DTT (Staging > Test) [robo-dtt]
@molly-moen
molly-moen requested a review from a team as a code owner April 17, 2023 21:25
@molly-moen
molly-moen merged commit 58d460a into production Apr 17, 2023
@molly-moen
molly-moen deleted the dtp_candidate_2449ec57 branch April 17, 2023 21:27
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.

9 participants