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

chore(release): pulling release/3.0.0-beta.29 into main #1645

Merged
merged 16 commits into from
Mar 18, 2024

Conversation

devops-github-rudderstack
Copy link
Contributor

@devops-github-rudderstack devops-github-rudderstack commented Mar 15, 2024

👑 An automated PR

Summary by CodeRabbit

  • New Features
    • Added a new workflow for rolling back production deployments.
    • Introduced new sample apps for Ninetailed integration with support for different SDK versions.
  • Enhancements
    • Updated workflows to support self-hosted Linux X64 environments.
    • Improved AWS credentials configuration and Cloudfront invalidation steps in deployment workflows.
    • Simplified branch naming conventions for hotfixes.
    • Enhanced versioning in .nvmrc and various CHANGELOG.md files.
  • Bug Fixes
    • Fixed ninetailed sample app path in analytics-js-integrations.
    • Corrected URL formatting in Amplitude integration's utility functions.
  • Documentation
    • Updated READMEs across various directories for clarity and added instructions for new sample apps.
  • Style
    • Added and updated CSS files for sample apps, defining styles for React applications.
  • Chores
    • Adjusted Jest configuration to ignore specific files during tests.
    • Modified .gitignore files for new sample apps to exclude unnecessary files from Git tracking.
  • Refactor
    • Split the "build" job into "bundle-size-checks" and "security-code-quality-checks" in the workflow.
    • Refined error and logging messages in Amplitude integration.

MoumitaM and others added 14 commits March 5, 2024 11:33
* chore: add ninetailed example apps

* fix: move integrations folder in examples
* chore: update readme

- Add callout re: Control Plane Lite

* Apply suggestions from engg. review
….0.0 (#1636)

chore(deps): bump peterjgrainger/action-create-branch

Bumps [peterjgrainger/action-create-branch](https://github.com/peterjgrainger/action-create-branch) from 2.4.0 to 3.0.0.
- [Release notes](https://github.com/peterjgrainger/action-create-branch/releases)
- [Commits](peterjgrainger/action-create-branch@v2.4.0...v3.0.0)

---
updated-dependencies:
- dependency-name: peterjgrainger/action-create-branch
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Moumita <[email protected]>
…to 1.0.9 (#1642)

chore(deps): bump rudderlabs/github-action-check-pr-title

Bumps [rudderlabs/github-action-check-pr-title](https://github.com/rudderlabs/github-action-check-pr-title) from 1.0.7 to 1.0.9.
- [Release notes](https://github.com/rudderlabs/github-action-check-pr-title/releases)
- [Commits](rudderlabs/github-action-check-pr-title@v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: rudderlabs/github-action-check-pr-title
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: refactor workflows

* chore: use latest action version

* chore: address review comments from coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 15, 2024

Walkthrough

The suite of changes encompasses updates across various GitHub workflows and the introduction of new functionalities and configurations. These modifications streamline processes such as PR title checks, hotfix branch creation, deployment across environments, and integration of analytics services. Additionally, updates to Node.js versions, code owner adjustments, and enhancements in sample apps and integration packages reflect a broader effort to improve efficiency, security, and user experience in development practices.

Changes

Files Summary
.github/workflows/... Updated workflows for PR checks, hotfix branch creation, deployments, and more with self-hosted Linux X64 runners and refined conditions.
.nvmrc, CODEOWNERS, README.md Updated Node.js version, adjusted code owners, and revised setup instructions.
examples/integrations/Ninetailed/sample-apps/... Introduced sample apps with guidance and configurations for using Ninetailed analytics.
packages/.../CHANGELOG.md, .../__mocks__/logger.js, .../jest.config.mjs, .../src/... Updated changelogs, added mocks and Jest configurations, and refined integration functionalities.

"In the realm of code, where changes abound,
🐇 A rabbit hopped, leaving updates profound.
With tweaks and turns in the GitHub land,
🌟 Deployments smooth, and workflows grand.
Through lines of code, our journey we weave,
🚀 To better shores, we aim to achieve."
- CodeRabbit 🐰✨

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

Copy link

codecov bot commented Mar 15, 2024

Codecov Report

Attention: Patch coverage is 81.81818% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 53.89%. Comparing base (2bbcb8d) to head (1fcedf1).

Files Patch % Lines
...omponents/capabilitiesManager/detection/storage.ts 0.00% 1 Missing ⚠️
packages/analytics-v1.1/src/utils/JSFileLoader.js 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1645      +/-   ##
==========================================
+ Coverage   52.44%   53.89%   +1.45%     
==========================================
  Files         584      461     -123     
  Lines       16662    15588    -1074     
  Branches     3234     3086     -148     
==========================================
- Hits         8738     8401     -337     
+ Misses       6535     5898     -637     
+ Partials     1389     1289     -100     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

github-actions bot commented Mar 15, 2024

size-limit report 📦

Name Size (Base) Size (Current) Size Limit Status
Common Code - No bundling 15.81 KB 15.81 KB (0%) 16.5 KB
Remote Module Federation Mapping - CDN 330 B 330 B (0%) 512 B
Remote Module Federated Plugins - CDN 5.71 KB 5.71 KB (0%) 6 KB
Core ESM - NPM 7.64 KB 7.64 KB (-0.07% ▼) 8 KB
Core CJS - NPM 22.43 KB 22.43 KB (+0.01% ▲) 23 KB
Core - NPM 22.56 KB 22.6 KB (+0.17% ▲) 23 KB
Core Legacy - CDN 42.88 KB 42.88 KB (-0.03% ▼) 44 KB
Core - CDN 22.7 KB 22.7 KB (-0.02% ▼) 23 KB
Core (legacy build) - CDN - v1.1 31.54 KB 31.54 KB (0%) 32 KB
Core - NPM - v1.1 31.52 KB 31.52 KB (0%) 32 KB
Service Worker Module 22.64 KB 22.64 KB (0%) 24 KB
All Integrations (legacy build) - CDN 98.58 KB 98.57 KB (-0.02% ▼) 105 KB

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Review Status

Actionable comments generated: 66

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 2bbcb8d and 2d47995.
Files ignored due to path filters (32)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/package-lock.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/package.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/public/favicon.ico is excluded by: !**/*.ico
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/public/logo192.png is excluded by: !**/*.png
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/public/logo512.png is excluded by: !**/*.png
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/public/manifest.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/logo.svg is excluded by: !**/*.svg
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/package-lock.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/package.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/public/favicon.ico is excluded by: !**/*.ico
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/public/logo192.png is excluded by: !**/*.png
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/public/logo512.png is excluded by: !**/*.png
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/public/manifest.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/logo.svg is excluded by: !**/*.svg
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/package-lock.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/package.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/public/favicon.ico is excluded by: !**/*.ico
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/public/logo192.png is excluded by: !**/*.png
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/public/logo512.png is excluded by: !**/*.png
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/public/manifest.json is excluded by: !**/*.json
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/logo.svg is excluded by: !**/*.svg
  • package-lock.json is excluded by: !**/*.json
  • package.json is excluded by: !**/*.json
  • packages/analytics-js-integrations/package.json is excluded by: !**/*.json
  • packages/analytics-js-integrations/project.json is excluded by: !**/*.json
  • packages/analytics-js-plugins/package.json is excluded by: !**/*.json
  • packages/analytics-js-plugins/project.json is excluded by: !**/*.json
  • packages/analytics-js/package.json is excluded by: !**/*.json
  • packages/analytics-js/project.json is excluded by: !**/*.json
  • packages/loading-scripts/package.json is excluded by: !**/*.json
  • packages/loading-scripts/project.json is excluded by: !**/*.json
  • packages/sanity-suite/package.json is excluded by: !**/*.json
Files selected for processing (70)
  • .github/workflows/check_pr_title.yml (1 hunks)
  • .github/workflows/create-hotfix-branch.yml (2 hunks)
  • .github/workflows/deploy-beta.yml (4 hunks)
  • .github/workflows/deploy-dev.yml (3 hunks)
  • .github/workflows/deploy-npm.yml (5 hunks)
  • .github/workflows/deploy-prod.yml (6 hunks)
  • .github/workflows/deploy-sanity-suite.yml (1 hunks)
  • .github/workflows/deploy-staging.yml (4 hunks)
  • .github/workflows/draft-new-release.yml (4 hunks)
  • .github/workflows/housekeeping.yaml (2 hunks)
  • .github/workflows/publish-new-release.yml (5 hunks)
  • .github/workflows/rollback.yml (1 hunks)
  • .github/workflows/security-code-quality-and-bundle-size-checks.yml (3 hunks)
  • .github/workflows/unit-tests-and-lint.yml (3 hunks)
  • .nvmrc (1 hunks)
  • CODEOWNERS (1 hunks)
  • README.md (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/README.md (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/.gitignore (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/README.md (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/public/index.html (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/public/robots.txt (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/App.css (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/App.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/config.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/index.css (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/index.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/reportWebVitals.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/setupTests.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/.gitignore (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/README.md (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/public/index.html (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/public/robots.txt (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/App.css (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/App.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/config.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/index.css (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/index.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/reportWebVitals.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/setupTests.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/.gitignore (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/README.md (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/public/index.html (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/public/robots.txt (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/App.css (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/App.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/config.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/index.css (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/index.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/reportWebVitals.js (1 hunks)
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/setupTests.js (1 hunks)
  • packages/analytics-js-integrations/CHANGELOG.md (1 hunks)
  • packages/analytics-js-integrations/CHANGELOG_LATEST.md (1 hunks)
  • packages/analytics-js-integrations/mocks/logger.js (1 hunks)
  • packages/analytics-js-integrations/tests/integrations/Amplitude/browser.test.js (2 hunks)
  • packages/analytics-js-integrations/jest.config.mjs (1 hunks)
  • packages/analytics-js-integrations/src/integrations/Amplitude/browser.js (2 hunks)
  • packages/analytics-js-integrations/src/integrations/Amplitude/utils.js (1 hunks)
  • packages/analytics-js-plugins/CHANGELOG.md (1 hunks)
  • packages/analytics-js-plugins/CHANGELOG_LATEST.md (1 hunks)
  • packages/analytics-js-plugins/fixtures/msw.handlers.js (1 hunks)
  • packages/analytics-js-plugins/tests/bugsnag/utils.test.ts (2 hunks)
  • packages/analytics-js/CHANGELOG.md (1 hunks)
  • packages/analytics-js/CHANGELOG_LATEST.md (1 hunks)
  • packages/analytics-js/src/components/capabilitiesManager/detection/storage.ts (1 hunks)
  • packages/analytics-v1.1/src/utils/JSFileLoader.js (1 hunks)
  • packages/loading-scripts/CHANGELOG.md (1 hunks)
  • packages/loading-scripts/CHANGELOG_LATEST.md (1 hunks)
  • packages/sanity-suite/CHANGELOG.md (1 hunks)
  • sonar-project.properties (2 hunks)
Files not summarized due to errors (1)
  • packages/analytics-js-integrations/tests/integrations/Amplitude/browser.test.js: Error: Message exceeds token limit
Files skipped from review due to trivial changes (23)
  • .nvmrc
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/.gitignore
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/public/index.html
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/public/robots.txt
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/App.css
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/config.js
  • examples/integrations/Ninetailed/sample-apps/app-using-npm/src/index.css
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/.gitignore
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/public/index.html
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/public/robots.txt
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/App.css
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/index.css
  • examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/setupTests.js
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/.gitignore
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/public/robots.txt
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/App.css
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/index.css
  • examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/setupTests.js
  • packages/analytics-js-integrations/jest.config.mjs
  • packages/analytics-js-plugins/CHANGELOG_LATEST.md
  • packages/analytics-js/CHANGELOG_LATEST.md
  • packages/analytics-js/src/components/capabilitiesManager/detection/storage.ts
  • packages/loading-scripts/CHANGELOG_LATEST.md
Additional comments: 78
CODEOWNERS (1)
  • 1-1: The update to the CODEOWNERS file reduces the number of code owners. Ensure that the remaining individuals are correctly assigned and capable of covering the review needs for the affected areas of the project.
examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/config.js (1)
  • 1-1: Ensure that the DATAPLANE_URL is intended for the target environment. Using localhost might be suitable for development but should be reviewed for production deployments.
examples/integrations/Ninetailed/sample-apps/app-using-npm/src/setupTests.js (1)
  • 1-5: LGTM! Importing '@testing-library/jest-dom' enhances jest matchers for asserting on DOM nodes, which is a good practice for testing.
examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/config.js (2)
  • 1-1: Ensure that the DATAPLANE_URL is intended for the target environment. Using localhost might be suitable for development but should be reviewed for production deployments.
  • 3-3: Verify that the CDN_URL is correct and points to the intended version of the SDK for this sample app.
.github/workflows/check_pr_title.yml (1)
  • 1-14: The updates to the workflow for checking PR titles, including running on a self-hosted Linux X64 environment and updating the action version, align with the objectives of improving automation. Ensure that the self-hosted runners are properly set up and maintained.
examples/integrations/Ninetailed/sample-apps/app-using-npm/src/reportWebVitals.js (1)
  • 1-13: LGTM! The implementation for reporting web vitals using the web-vitals library follows best practices for performance monitoring and optimization.
examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/reportWebVitals.js (1)
  • 1-13: LGTM! The implementation for reporting web vitals is consistent across sample apps and follows best practices for performance monitoring.
examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/reportWebVitals.js (1)
  • 1-13: LGTM! The implementation for reporting web vitals is consistent across sample apps and follows best practices for performance monitoring.
packages/analytics-js-integrations/CHANGELOG_LATEST.md (1)
  • 1-6: The updates in the changelog correctly document the bug fixes and enhancements, including the Ninetailed sample app path correction. The term "ninetailed" is appropriately used here, referring to the Ninetailed analytics service.
.github/workflows/create-hotfix-branch.yml (1)
  • 9-21: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-21]

The updates to the workflow for creating hotfix branches, including running on a self-hosted Linux X64 environment and simplifying the branch naming convention, are well-considered improvements. These changes should enhance the CI/CD process and make hotfix branch management more straightforward.

examples/integrations/Ninetailed/sample-apps/app-using-npm/src/index.js (1)
  • 1-17: The setup of the React application in this sample app, including the inclusion of reportWebVitals for performance monitoring, follows best practices and is correctly implemented.
examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/index.js (1)
  • 1-17: The setup of the React application in this sample app, including the inclusion of reportWebVitals for performance monitoring, is correctly implemented and follows best practices.
examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/index.js (1)
  • 1-17: The setup of the React application in this sample app, including the inclusion of reportWebVitals for performance monitoring, is correctly implemented and follows best practices.
.github/workflows/rollback.yml (1)
  • 1-27: The Rollback Production Deployment workflow is well-structured and clearly specifies the necessary permissions, environment variables, and the use of the deploy-prod.yml workflow with a rollback action type. This approach provides a clear and efficient method for handling production rollbacks.
packages/analytics-js-integrations/__mocks__/logger.js (1)
  • 1-31: The mocking strategy implemented in __mocks__/logger.js is correctly set up, providing mock implementations for various logging functions. This approach is appropriate for unit testing, allowing for the isolation of the logger utility's behavior and capturing calls and arguments effectively.
packages/analytics-js-plugins/__fixtures__/msw.handlers.js (1)
  • 43-47: The addition of a new HTTP GET handler for https://asdf.com/bugsnag.min.js is noted. Ensure that the URL is correct and that this handler is necessary for your testing strategy.
.github/workflows/housekeeping.yaml (1)
  • 21-21: The updated message for stale PRs is more informative. Consider refining it further to encourage contributors to take action, such as explicitly mentioning how to remove the 'Stale' label or add a comment.
.github/workflows/unit-tests-and-lint.yml (1)
  • 41-47: The addition of the step to upload coverage reports to Codecov is a good practice. Ensure that the CODECOV_TOKEN is correctly set in your secrets and that the specified coverage report files are correctly generated by your tests.
.github/workflows/security-code-quality-and-bundle-size-checks.yml (1)
  • 1-17: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [12-36]

The restructuring of the workflow into separate "bundle-size-checks" and "security-code-quality-checks" jobs improves clarity and functionality. Ensure that all necessary steps are correctly configured and included in each job.

packages/analytics-v1.1/src/utils/JSFileLoader.js (1)
  • 24-24: The use of the nullish coalescing operator (??) for the async property is a precise improvement. Ensure to verify that this change does not inadvertently affect the expected behavior in any edge cases.
sonar-project.properties (2)
  • 9-9: Updating the sonar.projectVersion to 3.0.0-beta.29 aligns with the release process. Ensure that this version number is consistent across all relevant documentation and configurations.
  • 31-31: The modification to coverage exclusions to use assets/**/* is a simplification. Verify that this new pattern does not unintentionally exclude files that should be included in coverage reports.
.github/workflows/deploy-sanity-suite.yml (1)
  • 30-30: The update in the naming convention for configuring AWS credentials improves clarity. Ensure that all AWS-related configurations and secrets are up-to-date and correctly set.
examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/src/App.js (1)
  • 1-97: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [102-117]

The UI structure and event handlers look good. However, for improved accessibility, consider adding aria-label attributes to the buttons to provide more context to screen readers about the actions they perform.

examples/integrations/Ninetailed/sample-apps/app-using-npm/src/App.js (1)
  • 91-106: The UI structure and event handlers are correctly implemented. Adding aria-label attributes to the buttons would enhance accessibility by providing more context to screen readers.
examples/integrations/Ninetailed/sample-apps/app-using-v3-cdn/public/index.html (1)
  • 28-44: The script for initializing RudderStack analytics is embedded directly in the HTML. While this is a common practice for analytics scripts, ensure that this approach aligns with the overall architecture and security policies of your project. Consider loading analytics scripts dynamically from your React application for more control over when and how these scripts are loaded.
.github/workflows/draft-new-release.yml (3)
  • 12-12: The workflow uses a self-hosted runner with specific labels (Linux, X64). Ensure that your self-hosted runner is properly configured and has the necessary dependencies installed to execute this workflow successfully.
  • 13-13: The conditional execution based on branch names (develop and hotfix/) is a good practice for release workflows. Ensure that all relevant branches are included and that the naming conventions are consistently applied across your project.
  • 46-47: The logic to determine the release_type based on the branch name is clear and concise. However, consider documenting this logic in your project's README or contributing guidelines to ensure that all contributors are aware of how release types are determined.
examples/integrations/Ninetailed/sample-apps/app-using-v1.1-cdn/src/App.js (1)
  • 102-117: The UI structure and event handlers look good. However, for improved accessibility, consider adding aria-label attributes to the buttons to provide more context to screen readers about the actions they perform.
.github/workflows/deploy-dev.yml (6)
  • 1-1: The workflow name has been updated to "Deploy to Development Environment" to reflect its purpose more clearly.
  • 19-19: The job name has been updated to "Deploy to development environment" for consistency with the workflow name.
  • 21-21: The conditions for job execution have been modified to include a broader range of branches and tags, enhancing the flexibility of the deployment process.
  • 27-27: The step name for configuring AWS credentials has been adjusted to use lowercase, improving readability.
  • 69-72: Added steps to create Cloudfront invalidations for different paths, which is crucial for ensuring that the latest changes are reflected promptly to users.
  • 75-82: Introduced syncing files to S3 for the v1.1 SDK (legacy) with corresponding Cloudfront invalidation creation. This ensures that legacy versions of the SDK are also updated and invalidated correctly.
.github/workflows/publish-new-release.yml (8)
  • 1-1: The workflow name has been updated to "Publish New Release to GitHub" for clarity and specificity.
  • 15-15: The job name has been changed to "Publish new release," aligning with the updated workflow name.
  • 16-16: The runs-on configuration has been updated, likely to ensure the job runs on a specific, self-hosted Linux X64 environment. This change could be for performance, security, or compatibility reasons.
  • 18-18: Adjusted the branch name conditions for triggering the job, ensuring that only merged pull requests from release or hotfix-release branches trigger the release process.
  • 23-26: Refactored the extraction of the version from the branch name, which is crucial for correctly tagging and releasing versions.
  • 56-56: Renamed a step to "Create monorepo release tag," which is more descriptive of the action being performed.
  • 88-90: Updated the PR title in the step for creating GitHub releases to include the version number, improving clarity and traceability of releases.
  • 94-96: Altered the conditions for deleting hotfix and release branches, ensuring that only the relevant branches are deleted after merging, which helps in maintaining a clean repository structure.
.github/workflows/deploy-staging.yml (5)
  • 1-1: The workflow has been renamed to "Deploy to Staging Environment," which clearly indicates its purpose.
  • 5-10: Added a trigger for pull requests on the main branch, expanding the conditions under which the staging deployment can occur. This is a significant change that allows for more flexible deployment strategies.
  • 21-25: The job name and conditions for workflow execution have been updated for clarity and to reflect the broader scope of branches that can trigger the staging deployment.
  • 31-31: Modified the AWS credentials configuration step to specify the staging environment's details, which is essential for deploying to the correct AWS environment.
  • 72-82: Introduced steps for syncing files to S3 and creating Cloudfront invalidations for different versions, ensuring that the staging environment reflects the latest changes accurately.
.github/workflows/deploy-beta.yml (4)
  • 1-1: The workflow has been renamed to "Deploy BETA/BugBash Feature," which simplifies and clarifies the purpose of the workflow.
  • 23-27: Added steps to configure AWS credentials, which is crucial for accessing AWS services securely during the deployment process.
  • 79-82: Introduced a step to create Cloudfront invalidation, ensuring that the deployed features are immediately available and not cached by Cloudfront.
  • 84-92: Added steps for syncing files to S3 for a legacy SDK version, ensuring that updates are also applied to older versions of the SDK.
.github/workflows/deploy-npm.yml (3)
  • 1-1: The workflow name has been updated to "Deploy to NPM," which is more concise and directly reflects the action being performed.
  • 19-20: The job configuration has been updated to include self-hosted runners and adjust the conditions for deployment, which likely improves the reliability and control over the deployment environment.
  • 103-115: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [106-132]

Updated Slack messages to reflect changes in project names and package URLs, ensuring that notifications are accurate and informative.

packages/analytics-js-integrations/src/integrations/Amplitude/browser.js (1)
  • 67-71: The update to the error message for insecure proxy server URLs is a good practice for encouraging secure configurations. However, it might be beneficial to also include actionable advice or a reference to documentation on how to correct the issue.

Consider enhancing the error message with a suggestion on how to use HTTPS or a link to relevant documentation for setting up a secure proxy server URL.

.github/workflows/deploy-prod.yml (8)
  • 1-1: The workflow has been appropriately renamed to "Deploy to Production Environment" to reflect its purpose more clearly.
  • 4-25: The introduction of workflow_call as an event trigger with additional inputs and secrets is a significant improvement. It enhances the flexibility and reusability of this workflow across different scenarios and projects.
  • 41-43: The conditional execution logic for the deploy-tag job is well thought out, ensuring that the deployment only occurs under the correct circumstances. This is crucial for avoiding unintended deployments.
  • 46-49: The step to configure AWS credentials using a role is a secure practice, ensuring that the workflow has the necessary permissions without hardcoding sensitive information.
  • 90-96: Creating Cloudfront invalidations for specific paths is a good practice to ensure that users receive the most up-to-date content. However, consider parameterizing the paths to make the workflow more flexible.

Consider using environment variables or workflow inputs for Cloudfront paths to increase the flexibility of the invalidation process.

  • 106-106: The use of AWS_MAX_ATTEMPTS to retry Cloudfront invalidations is a good resilience feature. It helps to ensure that the invalidation process completes successfully even in the face of transient network issues.
  • 142-142: Customizing the Slack message payload based on the action type is a nice touch for providing more context in notifications. It enhances the communication of deployment outcomes.
  • 183-185: Creating Cloudfront invalidations for the v1.1 folder is consistent with the approach for other versions. This ensures that all relevant content is refreshed across different SDK versions.
packages/analytics-js-plugins/__tests__/bugsnag/utils.test.ts (2)
  • 20-20: The import of server from msw.server is correctly placed and necessary for setting up the mock server in the tests. This is a good practice for isolating external dependencies in tests.
  • 267-273: The addition of beforeAll and afterAll hooks to start and stop the MSW server is crucial for ensuring that the tests do not interfere with each other or with external services. This setup enhances the reliability of the tests.
README.md (1)
  • 269-282: The updates regarding the deprecation of Control Plane Lite and the recommendation to use RudderStack Open Source for setting up the control plane are clear and well-documented. However, it's important to ensure that all links provided are accessible and up-to-date to avoid confusion for the users. Additionally, consider adding a brief explanation or a link to what constitutes the "latest rudder-server versions" for clarity on the versioning.
packages/analytics-js-plugins/CHANGELOG.md (1)
  • 5-6: The addition of version 3.0.0-beta.21 to the CHANGELOG is noted. However, it's important for future reference and clarity to include a brief summary of the changes, features, or bug fixes introduced in this version, even if they are minor or internal. This practice helps maintain transparency and provides valuable information to users and developers tracking the progress of the project.

Consider adding a brief summary of changes for version 3.0.0-beta.21 to keep the changelog informative and useful.

packages/analytics-js-integrations/CHANGELOG.md (1)
  • 5-10: The changelog entry for version 3.0.0-beta.26 correctly documents a bug fix related to the ninetailed sample app path. This update is clear and provides necessary links to the issue and commit for further details.
packages/analytics-js-integrations/__tests__/integrations/Amplitude/browser.test.js (7)
  • 1-19: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [3-54]

The test setup, including the mock for errorMock and the configuration for the Amplitude instance, is appropriately configured for the scope of these tests.

  • 77-96: The test case for initializing the destination SDK correctly verifies the initialization parameters against the expected values.
  • 122-151: The test case effectively verifies that an error is logged for an insecure proxy server URL, and confirms the SDK is still initialized with the correct parameters.
  • 224-435: The identification test cases comprehensively cover various scenarios, including handling of traits and special cases for unset fields. The assertions and mock expectations are correctly implemented.
  • 489-833: The event tracking test cases are well-structured and cover a variety of scenarios, including with and without products. The assertions ensure that the track method is called with the correct arguments.
  • 838-945: The page tracking tests adequately cover the scenarios for trackAllPages, trackCategorizedPages, and trackNamedPages. The assertions correctly verify the expected behavior based on the configuration.
  • 951-1051: The group identification tests are comprehensive, covering both specific and default behaviors. The use of mocks and assertions is appropriate for verifying the functionality.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Review Status

Actionable comments generated: 3

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 2d47995 and 2eb2a79.
Files selected for processing (1)
  • examples/integrations/Ninetailed/sample-apps/README.md (1 hunks)
Additional comments: 1
examples/integrations/Ninetailed/sample-apps/README.md (1)
  • 8-8: The guidance for customers is clear and concise. However, it might be beneficial to briefly explain why the NPM package is recommended over the CDN versions for a more informative README.

Consider adding a sentence or two explaining the benefits of using the NPM package over the CDN versions for a more comprehensive guide.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 2eb2a79 and 1fcedf1.
Files selected for processing (1)
  • .github/workflows/deploy-staging.yml (4 hunks)
Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/deploy-staging.yml

Copy link

@MoumitaM MoumitaM merged commit da2f3b3 into main Mar 18, 2024
10 checks passed
@MoumitaM MoumitaM deleted the release/3.0.0-beta.29 branch March 18, 2024 08:54
@saikumarrs
Copy link
Member

This release was reverted. It was superseded by, #1647.

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.

6 participants