Commit graph

122 commits

Author SHA1 Message Date
Alex
393ba00221
Remove Elasticsearch ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ (#13606)
* Attempt number 1

* Fix rack_attack specs

* Fix users_searches_users spec

* Fix display_users_search_spec

* Fix comment typo

* Remove search:destroy task from cypress

* Remove port 9300 from gitpod

* Stub response in attack_spec
2021-05-03 11:09:45 -04:00
Nick Taylor
3483d69667
Lint script does not need to be a pre test script. (#13477) 2021-04-22 16:02:49 -04:00
Josh Puetz
9fe7be190b
Switch references to Forem master branch to main (#12325) 2021-04-16 11:51:06 -05:00
Vaidehi Joshi
3f6600541e
✂️ Remove the approvals gem ✂️ (#12978)
* Remove approvals fixtures

* Remove approvals initializer

* Remove approvals gem

* Remove approvals step from travis.yml

* Remove approvals from dockerignore and gitignore

* Remove references to approvals gem in docs

* Un-approvals spec/liquid_tags/codepen_tag_spec.rb

* Un-approvals spec/liquid_tags/dotnet_fiddle_tag_spec.rb

* Temporarily skip other approvals tests

We will still need to delete files in /spec/fixtures/approvals after this.

* Revert changes to dotnet_fiddle_tag_spec and codepen_tag_spec, skip those tests instead

* Temporarily skip more approvals based tests

* Attempt at moving html doc inline

* Comment out one more approvals spec

* Update dotnet fiddle and codepen liquid tag specs to not use Approvals

* Update liquid tag specs + system specs to not use Approvals

* Un-approval feed import, github issue, and tweet tag specs

* Re-add .approvals to gitignore and dockerignore

* Use Rspec compound expectations
2021-03-19 13:28:06 -07:00
Michael Kohl
d1d4c00114
Update OmniAuth to 2.0 (#12715)
* Update gems

* Remove Omniauth CVE from bundle-audit ignore list

* Add omniauth-rails_csrf_protection gem

This is recommended in the OmniAuth upgrade guide:
https://github.com/omniauth/omniauth/wiki/Upgrading-to-2.0#rails

* Temporarily bundle Devise from master

* Pin Devise commit in Gemfile

* Fix CSRF cookie workaround

As suggested by @fdoxyz

* Remove CSRF workaround

* Add DataDog counter

* Add request path tag

* Remove rendering of devise shared links

* Remove unused Devise partial
2021-02-25 12:46:13 -06:00
Alexis Hope
e8fb17ca78
Update database config (#11308) 2021-02-23 17:41:34 -05:00
Nick Taylor
42de5a71c4
Removed bundle exec rake data_updates:run for E2E on CI (#12735) 2021-02-18 11:30:44 -05:00
Michael Kohl
171ae82f52
Update CarrierWave to 2.1.1 (#12714) 2021-02-17 16:46:21 -05:00
Michael Kohl
55a42ceaf5
Ignore two Carrierwave CVEs (#12634) 2021-02-10 16:14:16 +01:00
rhymes
b0bb13f89e
Update Bundler to 2.2.9 (#12626)
* Update Bundler to 2.2.9

* Use the latest 2.2.x bundler
2021-02-09 15:36:16 +01:00
Nick Taylor
a7da74b993
Cleaning Test Runs for End to End (E2E) Tests (#12143)
* Added custom seed task

* Added a test for the initial login for the intial admin of a forem instance.

* Renamed admin login seed data file.

* Pulled functions out of main Cypress plugin file and import them now.

* Added some comments.

* Added a comment about Cypress tasks requiring a return value to be considered successful.

* Moved admin_login_setup seed file to spec folder.

* Made change requests in regards to rake task.

* Fixed reference to SiteConfig

* Created the seeder class to be shared for all seed files.

* Added a missing param to function comment.

* Fixed seeder require in e2e test seed file.

* Fixed seeder require in seeds.rb. Why is Rails.root required?

* Added an environment guard for not being production in the e2e seed task.

* Made seeder require relative.

* Trying something for the Elastic Search issue in CI.

* Revert "Trying something for the Elastic Search issue in CI."

This reverts commit 7cb2a963c8ac1f9242c612a1b9fe8ff814605df6.

* Search indices are now removed via bundle exec rake search:destroy

* Now rake search:destroy is used in the Cypress task for resetting data as well.

* Moved Seeder class to app/lib

* Added cypress-rails

* Got two flows working with db rollbacks.

* Trimmed down the e2e dataset for now.

* Added a custom Cypress command to encompass test setup.

* removed unused e2e rake task

* added some user login/password e2e tests.

* Added a note about Cypress not cleaning cookies, so we do for the moment.

* Removed code no longer required.

* Removed comment in test that is no longer pertinent to the test suite.

* Removed data cleaning plugins as cypress rails gem handles it now.

* Added @citizen428's recommendation got raising an error if trying to seed production.

* Temporarily have paralleziation of e2e tests disabled to figure out cypres-rails/knapsack pro integration.

* Doh! Forgot a semi-colon in the Travis config.

* Added a comment about not integrating cypress-rails/knapsack pro right now.

* Removed knapsack pro npm package for now as we aren't using it.

* Reworded comment about cypress-rails/kanpsackpro.

* Removed seeding for tags to follow for onboarding in e2e seed data.

* Made pree2e script e2e:setup so it only runs explicitly when needed.

* Renamed bin/e2e to bin/e2e-ci.

* Created a new script for local e2e testing.

* Removed RAILS_ENV as it's in the e2e-ci script already.

* Fixed an auto corrected command.

* Fixed wording in e2e script prompt.

* Removed bundle exec rake data_updates:run that I had added. Doesn't appear to be necessary.

* Added missing new lines.

* Renamed e2e seed file and only use that one now. THere are no others.

* Some script cleanup.

* Added a check for the E2E environment so as to not pollute system tests.

* Now e2e test server cleanup occurs when the server shuts down.

* Put puts as this is really just for testing.

* Put environment variable in the proper place for runnning bundle exec.

* Added a check to only run for E2E tests.

* Some bash script formatting.

* Removed copy paste irrelevant comments.

* Updated e2e server shutdown message.

* Now a data-testid attribute is used for finding the user account errors panel.

* Made test selectors ignore casing of text.

* Removed prod paranoia check in e2e seed file.

* Refactored spec to use new cy.loginUser(user) command.

* Update app/lib/seeder.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Fixed flakiness that @aitchiss was experiencing.

* Rubocop fix.

* Due to a Cypress issue, fixing cookie clearing with another tweak.

* Bumped the wait time to 500ms if cookies don't clear.

* Added a 'bundle check' to the bin/e2e script as suggested by @katiedavis.

* Removed some white space

Co-authored-by: Michael Kohl <citizen428@dev.to>
2021-01-29 13:34:01 +01:00
Mac Siri
e4eefb3db5
[Travis] Remove node_modules from cache (#12467) 2021-01-28 16:21:03 -05:00
Mac Siri
b76e6839cf
Add a 4th node to Travis (#12442) 2021-01-27 08:48:15 -05:00
Mac Siri
9f0bd84e6c
[Travis] Create after_deploy Honeycomb script (#12236) 2021-01-12 13:51:05 -05:00
Mac Siri
fab133c069
Update Travis's Slack config (#12155) 2021-01-06 14:40:26 -05:00
Mac Siri
7112f0f8f5
Bump Nokogiri to 1.11.1 (#12133) 2021-01-06 10:15:13 -05:00
Mac Siri
3bf4f33510
[Travis] Use directories cache for Bundle and Yarn (#12140) 2021-01-05 17:56:31 -05:00
Mac Siri
4068367929
Update bundle-audit to ignore CVE-2020-26247 (#12116) 2021-01-04 19:07:07 -05:00
rhymes
3764cd67d5
Use Travis builtin caching (#12045) 2020-12-28 14:41:31 +01:00
Nick Taylor
15601285a5
Add data cleaning pre-test run to end to end tests (#12001)
* Added the cypress-on-rails gem.

* Removed secret from admin login fixture data and promoted it to Cypress config.

* Created resetData task for tests.

* Now the spec resets data on each test run.

* Removed the cypress-on-rails gem.

* Added node-fetch for e2e testing.

* Move rresetData to async/await.

* Small refactor to resetData Cypress task.

* Now there is a cypress.dev.json config for local dev testing.

* Added rails assets:precompile instead of webpacker:compile.

* Added more explicit error if Elastic Search fails to clear.

* Exposing more explicit error for truncating DB.

* Added better error output for truncating the DB.

* Removed stdout from error logging as it's empty.

* Reworked error message.

* Implemented @rhymes suggestions for fixing trunctation in the test environment.

* Removed unused Cypress configuration file.
2020-12-26 16:58:12 +01:00
rhymes
92fdf8d720
Upgrade to SimpleCov 0.20 (#12009)
* Upgrade to simplecov 0.20

* Upgrade to latest CodeClimate reporter
2020-12-22 18:46:52 +01:00
Nick Taylor
c24cf73b28
Fixed initial e2e test now that data updates are run. (#11958)
* Fixed initial e2e test now that data updates are run.

* Clearing any indices created in ES during E2E tests.

* Fixed a typo.

* Fixed env vars not being loaded.

* Prefixed data updates command with bundle exec.

* Promoted setting secret to the global section of the Travis config.

* Stopped sourcing .env and promoted ELASTICSEARCH_URL to global section of Travis configuration.

* Had to fix cc reporter in my PR to get PR to work.
2020-12-21 08:40:11 -05:00
Nick Taylor
04b91520c4
Reenable End to End Testing... Again 😄 (#11977)
* Re-eneabled e2e tests in Travis.

* Explicitly set cache_template_loading to true for action views.
2020-12-21 06:27:00 -05:00
Nick Taylor
093197fa8f
Disabling Cypress temporarily to figure out why the web server errors action template errors. (#11975) 2020-12-18 14:31:26 -05:00
Nick Taylor
ccb8352841
Fix end to end testing for Forem forked repositories (#11950)
* Fixed e2e parallelization when no API token for Knapsack.

* Re-eneabled e2e tests in Travis.

* Checks for the KNAPSACK_PRO_TEST_SUITE_TOKEN_CYPRESS now.
2020-12-17 18:38:17 -05:00
rhymes
94d8c2ff42
Temporarily disable e2e tests (#11946) 2020-12-17 13:38:10 +01:00
Nick Taylor
f6278a9106
Add Cypress to Travis (#11867)
* Added test run artifacts to git ignore.

* Added Cypress run to Travis.

* Added the start-server-and-test package.

* Added e2e ci scripts.

* Split up commands.

* Testing e2e after rspecs on same build node.

* Move Cypress back to node 0 for Knapsack.

* Added folders for build artifacts for failed E2E tests.

* Simplified e2e for CI

* Using knapsack-pro-cypress now.

* Added data-testid to sign up form for tests.

* Added forem secret for CI

* Updated initial admin fixture.

* Reworked test to be a signup test. wip.

* Added cypress file upload package.

* added fixture for admin profile image.

* Updated forem secret for tests.

* Added Cypress file upload to Cypress commands.

* Changed test to initial sign up for the first admin user.

* Fixed test to ensure there are no signup errors.

* Added some logging to see what's up.

* Added some comments to the test.

* Set Chrome web security to false to prevent CORS errors.

Co-authored-by: rhymes <rhymes@hey.com>
2020-12-15 21:26:34 -05:00
Nick Taylor
02f0a9ca1d
Add Cypress for end to end testing (E2E) (#11835)
* Added eslint plugin/rules for Cypress.

* Added Cypress to the project for end to end testing.

* Added ~/.cache folder to cache Cypress binary on Travis.
2020-12-09 17:08:20 -05:00
Mac Siri
f061b90316
Suppress Postcss warnings & Re-enable Benhalpern deploy (#11521) 2020-11-20 11:27:49 -05:00
rhymes
2205f38261
Temporarily disable deploy to BenHalpern server (#11520) 2020-11-20 10:31:32 -05:00
Mac Siri
a56f3630bf
Parralelize Travis deploy (#11378) 2020-11-11 11:26:34 -05:00
Michael Kohl
32e461c66b
Update to Ruby 2.7.2 (#10594)
* Update to Ruby 2.7.2

* Update remaining files

* Remove VERBOSE from development.rb and test.rb

* Update Ruby version for dependabot and docs

* Readd accidentally removed code
2020-11-05 16:11:09 +01:00
Molly Struve
286758ac2d
Revert "Deploy In Parallel to Heroku Apps (#11258)" (#11275)
This reverts commit 30c87a9648.
2020-11-04 15:50:57 -06:00
Molly Struve
30c87a9648
Deploy In Parallel to Heroku Apps (#11258) 2020-11-04 14:18:37 -06:00
Molly Struve
80be0de724
Feature:Continuous Deploy to Benhalpern Community (#11239) 2020-11-03 13:56:08 -06:00
Molly Struve
6e9d7bf00f
Feature:Deploy Forem to DEV on every merge (#11148)
* Feature:Deploy Forem to DEV on every merge

* emphasis in docs

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-10-30 13:08:16 -05:00
Rafi
e3076a0852
[deploy] Removing hard-coded email (#10125)
* Removing hardcoded email

* Passing email address from siteConfig to react

* Passing modFaqEmail props in tests

* Changing webpacker compiler order
2020-10-20 18:59:51 +02:00
Vaidehi Joshi
1531c182cc
Move .env_sample out of /config directory (#9868)
The `.env` file shouldn't live in the `/config` directory when it is created, but
currently, the `.env_sample` file lives within `/config`. This can be confusing and
cause ENV var issues if someone duplicates `.env_sample` and renames it to `.env`,
because none of their ENV variables will get picked up, since their `.env` file will
mistakenly end up in `/config`.

This change moves `.env_sample` out of `/config`, and updates the documentation/relevant
.yml files accordingly.
2020-08-19 18:18:30 +02:00
Molly Struve
0a64ac067b
[deploy] Remove ENVied Gem, Use dotenv Take 2 (#9767) 2020-08-14 12:20:47 -05:00
rhymes
e727956640
Revert "[deploy] Refactor:Remove ENVied Gem, Use dotenv Instead for Test and Development (#9621)" (#9757)
This reverts commit 1be8c72206.
2020-08-12 13:28:38 -04:00
Molly Struve
1be8c72206
[deploy] Refactor:Remove ENVied Gem, Use dotenv Instead for Test and Development (#9621)
* Refactor:Remove ENVied Gem in Favor of Default application.yml

* Copy sample_application.yml for Travis

* Create .env_sample file, Warn of missing ENV variables, ignore .env file

* Use dotenv For ENV variables and create Rake Task to Populate

* Update docs to copy .env_sample file

* make application config a bit more resilient

* update more documentation and only initialize dotenv in dev and test

* Update doc code snippet types and refactor rake task and app config

* remove push defaults

* Make initializers more resilient, remove unused ENV from travis

* Exit new rake task if application.yml does not exist, include dotenv in docs
2020-08-12 11:01:38 -04:00
Molly Struve
3ad834a656
Travis Optimization:Bundle from Bash File to Use Cache (#9705) 2020-08-09 15:32:44 -05:00
Molly Struve
06a8172cd8
CI Optimization:Remove unused ENV variables and Skip install Step (#9632) 2020-08-04 16:55:08 -05:00
Molly Struve
fde4d3f189
Update Docs, Travis, and Containers to Use Postgres 11 (#9232)
* Update Docs and Containers to Use Postgres 11<, Bump Travis to 10

* Update installation docs as well

Co-authored-by: rhymes <rhymes@hey.com>
2020-07-13 15:09:26 +02:00
Molly Struve
c64e596ad9
[deploy] Feature: Enable KnapsackPro Queue Mode Take 2 (#9021) 2020-07-01 13:28:22 -04:00
Molly Struve
d9fd170a85
[deploy] Optimization: Dont Use Redis For Flare Tag IDs, Load Them On Boot (#8987) 2020-06-30 09:48:08 -05:00
Molly Struve
619aa0a684
Refactor: Remove Unused and Unecessary Code (#9000) 2020-06-29 17:30:56 -05:00
Molly Struve
cbde1a1a6a
[deploy] Revert "Feature: Introduce KnapsackPro Queue Mode (#8938)" (#8994)
This reverts commit dbdd59b83a.
2020-06-29 13:32:25 -05:00
Molly Struve
dbdd59b83a
Feature: Introduce KnapsackPro Queue Mode (#8938)
* Feature: Introduce KnapsackPro Queue Mode
* Run specs at the end to get the greatest speedup
2020-06-29 12:18:00 -05:00
Molly Struve
757e611f6d
Spec Fix: Use Truncation For Tests Where Transactions Get Stuck (#8865) 2020-06-24 09:23:52 -05:00