Skip to content

Conversation

pawelangelow
Copy link
Collaborator

@pawelangelow pawelangelow commented Dec 30, 2024

TL;DR

  • Switch to the redisinsight image instead of riv2, as this is the one built in the pipeline-build-docker.yml.
  • Mount the /data directory to containers since it’s where redisinsight stores all the required files.
  • Update the backend URL to disable SSL support: Again, the goal is to get everything running first, and then address this.

Few notes

  • Tests are currently failing because they need updates. For example, in this run, the test suite with passing tests generates all required files, which is why it succeeds. The failing tests don’t produce a test-run-coverage.json file, leading to their failure. Latest run here: https://github.com/RedisInsight/RedisInsight/actions/runs/12653756107. Again - due to test not passing, the test-run-coverage file can not be generated, hence flow is failing.
  • This PR focuses solely on resolving issues that prevent the tests from running properly. Updates to the test scenarios themselves will be addressed in subsequent PRs.
  • There are two definitions for the RedisInsight container—one in .circleci and one in .github. Do we need the one in .circleci? Do we need the entire .circleci directory?

  • TODO: Add some high level documentation
  • TODO: Add some debug suggestions for the future

Nah... I want to read novels

This setup requires three components: the RedisInsight application, a Redis instance, and the test runner. Here's the breakdown:

  1. RedisInsight Application
    The redisinsight Docker image bundles the RedisInsight application. To enable other containers to access necessary files, we mount a shared directory (/data). This directory stores the local database file redisinsight.db. The image definition file is located at RedisInsight/.github/build/build.Dockerfile.

  2. Redis Instance
    We use containers to test against different Redis distributions and configurations, such as oss-st-6 and oss-st-6-tls. The definition files for these configurations can be found in RedisInsight/redisinsight/api/test/test-runs.

  3. Test Runner
    The test runner is a separate Docker image defined by RedisInsight/redisinsight/api/test/test-runs/test.Dockerfile. This image orchestrates the tests and ensures they run against the configured Redis instances and the application.

The issues described above are currently preventing the tests from running successfully. Resolving these will allow us to proceed with further updates to the test scenarios.

EXPOSE 5000

# don't run the node process as root
USER node
Copy link
Collaborator

Choose a reason for hiding this comment

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

We can't do this. Production docker image shouldn't run under root user

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@ArtemHoruzhenko fixed this. Although this is not the Dockerfile we use for production, I agree it's a good practice to run it with different user. Additionally, I think it will be nice to reuse the production Dockerfile for these tests as well, but this would be for different PR.

And a question to you - do we use circleci Dockerfile somewhere?

@pawelangelow pawelangelow force-pushed the e2e/fix-nightly-setup branch from 9997432 to ac37eff Compare January 2, 2025 13:24
@pawelangelow pawelangelow marked this pull request as draft January 2, 2025 14:29
@pawelangelow pawelangelow force-pushed the e2e/fix-nightly-setup branch 9 times, most recently from db78318 to cd7f6ed Compare January 7, 2025 12:55
@pawelangelow pawelangelow force-pushed the e2e/fix-nightly-setup branch from 2cc6d45 to a243820 Compare January 7, 2025 14:08
@pawelangelow pawelangelow force-pushed the e2e/fix-nightly-setup branch from 1aebda2 to 6884ee2 Compare January 7, 2025 15:09
@pawelangelow pawelangelow marked this pull request as ready for review January 7, 2025 15:13
@pawelangelow pawelangelow merged commit 5502c95 into main Jan 9, 2025
8 of 9 checks passed
@pawelangelow pawelangelow deleted the e2e/fix-nightly-setup branch January 9, 2025 13:00
vlad-dargel added a commit that referenced this pull request Jan 30, 2025
* wrap PSUBSCRIBE_COMMAND output with FeatureFlagComponent

* Bump nanoid from 3.3.7 to 3.3.8 in /tests/e2e

Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](ai/nanoid@3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* wrap components in feature flag

* CR-277: Change log to debug calls, log additional metadata

* CR-277: App logger

* enhance logger

* CR-277: Clone optional params

* CR-277: Add tests

* CR-263: Optimize recommendations lookup and creation

* CR-263: Update tests

* fix logger

* RI-6330 Disable the overview refresh - UI part

* RI-6386 fix e2e oss cluster ssh config and tests

* RI-6330 basic functionality

* #RI-6373 - Fix cluster-plain-creator-7-1 exited with code 1 e2e workflow failure

* #RI-6373 - Fix cluster-plain-creator-7-1 exited with code 1 e2e workflow failure

* #RI-6373 - Fix cluster-plain-creator-7-1 exited with code 1 e2e workflow failure

* RI-6330 fixed min refresh interval

* RI-6330 added telemetry

* #RI-6373 - Fix cluster-plain-creator-7-1 exited with code 1 e2e workflow failure

* RI-6330 fixed colors to be based on the color theme

* RI-6072 fixed datetime format in rdi statistics page

* RI-6330 updated test cases

* RI-6330 cleanup of tests

* RI-6330 - fixed autorefresh being in milliseconds instead of seconds

* RI-6330 - enabled autorefresh by default to keep the previous functionality

* add test for the RI-5114

* add refresh overview test

* RI-6544 Default value is incorrect

* RI-6545 - Auto-update rate can't be less than 5 s - updated minimum refresh rate to be 1 second

* RI-6524 fix UI tests + update yarn.lock

* RI-6114: prevent long text overlapping in SuperSelect

* fix for regression tests

* RI-6524 fix for not-found page is shown instead of agreements

* fix for regression tests#2

* style selected option markup

* fix for regression tests#3

* unskip test

* RI-6330 - resolved conflicts from main

* #RI-6278 - add configuration for redisearch lang

* #RI-6522 - [Regression] Long vector string is not displayed

* RI-6371 navigation popoper to switch between instances

* #RI-6455 - Update Brotli decompression

* #RI-6264 - fix highlighting and suggestion when query command starts with number

* RI-6371 fixed tests

* #RI-6549 - add cursor id for ft.aggregate result

* RI-6371  added loading, hide from redis-stack

* fix per comments

* fix per comments

* hide version on Status page

* extract rdi version

* #RI-5610 - fix text overlapping

* RI-6371 code refactor

* add default version

* add tests

* RI-6371 clean up connect to instance function, fix loading style

* RI-6371 return resetRdiContext when connecting to db instance

* RI-5547 renamed data type, small changes

* update message

* #RI-6532 - Empty value is displayed as array

* RI-5362 Fix nightly tests running (#4245)

* mount /data directory to containers
* use proper connection uri
* change RI port
* create COV_DIRECTORY explicitly
* remove double mkdir
* use shared volume

* #RI-6451 - update add database form

* RI-6371 fix sorting, added empty list view

* RI-6336 - Allow to hide/show columns in Browser - basic functional implementation

* Revert "RI-6336 - Allow to hide/show columns in Browser - basic functional implementation"

This reverts commit 3afb1a1.

* Revert "RI-6371 fix sorting, added empty list view"

This reverts commit bc1f879.

* RI-6336 - Allow to hide/show columns in Browser - basic functional implementation

* RI-6336 - Allow to hide/show columns in Browser - added tooltip

* RI-6371 fix sorting, added empty list view

* RI-6336 - Allow to hide/show columns in Browser - added column hiding - list view

* add test for RI-6371

* RI-6336 - Allow to hide/show columns in Browser - added column hiding in the tree view

* RI-6371 move func to utils, made sort case insensitive

* #RI-5610 - fix table styles

* RI-6336 - Allow to hide/show columns in Browser - refetching of metadata when we reenable one of the checkboxes

* RI-6336 - Allow to hide/show columns in Browser - refetching of metadata when we reenable one of the checkboxes

* RI-6336 - Allow to hide/show columns in Browser - refetching of metadata when we reenable one of the checkboxes for the tree this time

* RI-6371 refactored code, added specs

* RI-6336 - Allow to hide/show columns in Browser - telemetry data

* Revert "comment fe tests"

This reverts commit d7bc996.

* #RI-6451 - fix pr comments

* #RI-5610 - fix height

* RI-6336 - Allow to hide/show columns in Browser - limit for list type

* RI-6336 - Allow to hide/show columns in Browser - limit for the hash type

* RI-6336 - Allow to hide/show columns in Browser - limit for the set type

* RI-6336 - Allow to hide/show columns in Browser - limit for the sorted set type

* RI-6336 - Allow to hide/show columns in Browser - limit for the stream type

* RI-6336 - Allow to hide/show columns in Browser - limit for the json type

* RI-6336 - Allow to hide/show columns in Browser - limit handling in the UI

* RI-5547 not show graph key when no graph module

* RI-5547 make skip options if no module more generic

* fix e2e in main

* RI-6336 converted to an array of columns for better scalability later on

* RI-6336 - columns updated

* RI-6336 - Allow to hide/show columns in Browser - unit tests pt1

* RI-6336 - Allow to hide/show columns in Browser - unit tests pt2

* RI-6336 - Allow to hide/show columns in Browser -  tests for the API

* RI-6336 - RI-6336 - Allow to hide/show columns in Browser -  cleanup

* e2e/feature/RI-6451

* RI-6372 remember context when switching btw rdis

* change parallel runs number to 4

* fix for electron ssh test

* add e2e for navigation

* fix for remove crt

* RI-6615 fixed tests and navigation close when switch btw dbs

* #RI-6602 - fix scroll

* remove comments

* update texts

* RI-6336 - Allow to hide/show columns in Browser -  updating tests based on feedback

* #RI-6597 - fix error

* RI-6336 - Allow to hide/show columns in Browser - unit tests updated based on feedback from the PR

* #RI-6597 - add test

* remove comment

* RI-6336 - Allow to hide/show columns in Browser - unit tests updated based on feedback from the PR

* Unit and Integration tests proposal for change in the workflow (#4284)

* remove '+' from suggested branch names as it is treated as a special symbol

* testing running all unit tests

* RI-6336 - Allow to hide/show columns in Browser - unit tests fixed a broken test

* RI-6336 - Allow to hide/show columns in Browser - unit tests fixed integration tests

* RI-6336 - Allow to hide/show columns in Browser - unit tests fixed integration tests

* RI-6336 - Allow to hide/show columns in Browser - removed unused file

* #RI-6554 - update icons and connectivity buttons

* #RI-5411 - Optimize builds

* #RI-5411 - Optimize builds

* #RI-5411 - Optimize builds

* #RI-5411 - Optimize builds

* RI-5747 filter per RI version in feature config

* RI-6629 - TTL and Size are not showing

* RI-6630 - Columns icon is not visible for light theme

* RI-6631 - There is no info icon next to size to get tooltip

* #RI-5411 - fix pr comments

* RI-6631 - There is no info icon next to size to get tooltip

* RI-6634 - Inconsistent behavior in displaying size

* RI-6336 - removed poluted object for testing

* RI-6336 - removed poluted object for testing

* RI-6336 - removed poluted object for testing

* RI-6336 - removed poluted object for testing

* RI-6336 - removed poluted object for testing + fixed unit tests

* RI-6336 - added cluster strategy implementation. Fixed integration tests

* RI-6336 - added cluster strategy implementation. Fixed integration tests

* RI-6336 - updated unit tests to match new pattern

* fix: redisinsight/api/package.json to reduce vulnerabilities (#4179)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-PATHTOREGEXP-8482416

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: package.json & yarn.lock to reduce vulnerabilities (#4144)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-6671926

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Kristiyan Ivanov <kristiyan.ivanov@redis.com>

* RI-6547 apply multiline ellipsis to the table tooltip text that overflows, instead of the scroll

* RI-6638 - No trash icon to remove key if key size column is hidden. And updated texts for the RI-6336

* adding some clearance for the css styling so it is easier to see to which element(s) is applied

* RI-6336 - WIP - moving to per DB config

* Bump vite from 5.4.9 to 5.4.12 (#4297)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.9 to 5.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* add test for RI-6336

* RI-6336 - simplified approach for per db setting

* #RI-6628 - adopt profile visualization to work with redis 8+

* remove only

* RI-6336 updated unit tests

* #RI-6554 - fix pr comments, fix icons color

* RI-6336 update naming based on feedback from the PR

* RI-6336 - removed unused mocked variables

* RI-6336 added recommendation from the PR

* #RI-6451 - fix scroll, fix some styles

* decrease parallel runs number

* #RI-6643 - update link

* RI-5335 Add free DB identifier in telemetry events (#4267)

- INSIGHTS_PANEL_OPENED
- INSIGHTS_PANEL_CLOSED
- EXPLORE_PANEL_TUTORIAL_OPENED
- EXPLORE_PANEL_COMMAND_COPIED
- EXPLORE_PANEL_COMMAND_RUN_CLICKED
- EXPLORE_PANEL_LINK_CLICKED
- TelemetryPageView.BROWSER_PAGE

* updated code owners

* RI-5395: Add Nightly Virustotal Analyze (#4305)

* RI-000 run tests without e2e by default + add it for bugfix and feature branches

* RI-6641 fix css in db nav popover

* #RI-6624 - fix slow request for json

* #RI-6509 - Create a free Cloud db (#4317)

* release/2.66.0

* fix integration tests for RDI after adding "status" call ro obtain version

* RI-6527 Resolve an issue on Ubuntu with a space in a folder name && RI-6551 Resolve the app name issue for Debian (#4304)

* RI-6527 Resolve an issue on Ubuntu with a space in a folder name

* RI-6551 Resolve the app name issue for Debian

* RI-6527 Resolve an issue on Ubuntu with a space in a folder name. Updated based on PR feedback

* RI-6527 Resolve an issue on Ubuntu with a space in a folder name && RI-6551 Resolve the app name issue for Debian

* fixed chrome sandbox permissions

(cherry picked from commit fa50a4f)

* RI-6651 fix empty cli opened when switching btw dbs

* RI-6651 fix reset db context

* RI-6667 better handle errors for recommendations to avoid crashes (#4330)

* RI-6660 fix APPLICATION_FIRST_START event was not sent (#4326)

* RI-6661 apply "count" arg before applying DEFAULT_COUNT value for threshold (#4328)

* e2e/bugfix/fix-failing-e2e (#4327)

* e2e/bugfix/fix-failing-e2e

* remove only

* RI-6656 hide cpu from mini-dash on small screen (#4331)

* RI-6684 Open new window doesnt work on windows due to a typo (#4333)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: pd-redis <petar.dzhambazov@redis.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Artsiom Kharuzhenka <artem.horuzhenko@redis.com>
Co-authored-by: seth-riedel <seth.riedel@redis.com>
Co-authored-by: KIvanow <kristiyan.ivanov@redis.com>
Co-authored-by: kchepikava <krystsina.chepikava@softeq.com>
Co-authored-by: zalenskiSofteq <egor.zalenski@softeq.com>
Co-authored-by: Kristiyan Ivanov <k.ivanow@gmail.com>
Co-authored-by: mariasergeenko <maria.sergeenko@softeq.com>
Co-authored-by: Pavel Angelov <pavel.angelov@redis.com>
Co-authored-by: Roman Sergeenko <roman.sergeenko@softeq.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Dijana Antovska <dijana.antovska@redis.com>
Co-authored-by: kchepikava <139325900+kchepikava@users.noreply.github.com>
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.

3 participants