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(infra): Upgrade helm build yarn #16890

Merged
merged 9 commits into from
Nov 20, 2024
Merged

Conversation

AndesKrrrrrrrrrrr
Copy link
Member

@AndesKrrrrrrrrrrr AndesKrrrrrrrrrrr commented Nov 15, 2024

The yarn version used in the infra/ folder was not sepecified, so the docker-build-helm job defaulted to version 1.22.

Upgrading for modernity, and determinism.

Summary by CodeRabbit

  • New Features

    • Added new fields to enhance package configuration, including engines and packageManager.
    • Introduced a new dependency for improved type definitions.
  • Chores

    • Updated the Dockerfile to include diagnostic commands for better visibility during the build process.

Copy link
Contributor

coderabbitai bot commented Nov 15, 2024

Walkthrough

The pull request introduces updates to the package.json files in both the infra project and the root directory, adding new fields for package management and environment requirements. The Dockerfile is also modified to enhance build visibility by including diagnostic commands during the installation process. These changes collectively aim to improve the configuration and clarity of the project's dependency management and build environment.

Changes

File Change Summary
infra/package.json Added "engines" and "packageManager" fields; added dependency "@types/yargs": "17.0.33"; updated "node" and "yarn" versions.
infra/scripts/Dockerfile Replaced yarn install --immutable with a sequence of diagnostic commands followed by the install.
package.json Added "packageManager": "yarn@3.2.3" and removed the previous declaration of the same field.

Possibly related PRs

Suggested reviewers

  • svanaeinars
  • busla

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>, please review it.
    • Generate unit testing code 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 testing code 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 gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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 using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@AndesKrrrrrrrrrrr AndesKrrrrrrrrrrr marked this pull request as ready for review November 15, 2024 01:02
@AndesKrrrrrrrrrrr AndesKrrrrrrrrrrr requested review from a team as code owners November 15, 2024 01:02
@AndesKrrrrrrrrrrr AndesKrrrrrrrrrrr added the automerge Merge this PR as soon as all checks pass label Nov 15, 2024
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.

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (2)
infra/scripts/Dockerfile (1)

The --openssl-legacy-provider flag can be safely removed

The project is using Node.js 20.15.0 as specified in package.json, which doesn't require the legacy OpenSSL provider. This flag was primarily needed for Node.js 17+ to support older versions of webpack and related tools, but Node.js 20.x has resolved these compatibility issues. The webpack configurations in the project don't show any specific SSL requirements that would necessitate this legacy provider.

  • Remove ENV NODE_OPTIONS=--openssl-legacy-provider from infra/scripts/Dockerfile
🔗 Analysis chain

Line range hint 6-6: Review the need for legacy OpenSSL provider.

The environment variable NODE_OPTIONS=--openssl-legacy-provider might be unnecessary with newer Node.js versions. Consider reviewing if this flag is still required.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for OpenSSL-related configurations and discussions
# Expected: Find context about why legacy provider is needed

# Search for OpenSSL-related configurations
rg -A 5 "openssl-legacy-provider"

# Search for related discussions in documentation
rg -l "openssl" docs/ README.md

Length of output: 636


Script:

#!/bin/bash
# Let's check the Node.js version specified in the Dockerfile and package.json
# to determine if legacy OpenSSL provider is needed

# Check Dockerfile for Node version
rg -A 2 "FROM node:" infra/scripts/Dockerfile

# Check package.json for Node version requirements
cat infra/package.json | grep -A 5 '"engines"'

# Check for any webpack configurations that might require legacy SSL
fd -e js -e json webpack

Length of output: 915


Script:

#!/bin/bash
# Let's check webpack configurations for any specific SSL requirements
# that might necessitate the legacy provider

# Check webpack configs for SSL-related configurations
rg -A 5 "https" apps/*/webpack.config.js tools/*/webpack.config.js

# Also check for any SSL/TLS related configurations
rg -A 5 "ssl|tls" apps/*/webpack.config.js tools/*/webpack.config.js

# Check package-lock.json or yarn.lock for webpack version
cat infra/yarn.lock | grep -A 2 "webpack@"

Length of output: 1628

infra/package.json (1)

6-6: Consider using a more specific npm restriction

While "please-use-yarn" effectively prevents npm usage, consider using a more standard approach like ">=0.0.0" with documentation explaining the Yarn requirement.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between a105654 and 83c96ef.

⛔ Files ignored due to path filters (1)
  • infra/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (3)
  • infra/package.json (2 hunks)
  • infra/scripts/Dockerfile (1 hunks)
  • package.json (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • package.json
🔇 Additional comments (3)
infra/scripts/Dockerfile (2)

15-15: Good addition of diagnostic commands for build visibility.

The addition of diagnostic commands (ls, id, pwd, cat) will help in debugging build issues by providing clear context about the build environment.


15-15: Verify corepack availability in the base image.

The addition of corepack enable is correct for managing Yarn versions, but we should verify its availability in the base image.

#!/bin/bash
# Description: Check if corepack is available in the specified Node image
# Expected: Find evidence of corepack in the image

# Extract the Node image tag from the Dockerfile
NODE_IMAGE_TAG=$(grep "ARG NODE_IMAGE_TAG" infra/scripts/Dockerfile)

# Search for any documentation about Node versions and corepack
rg -l "corepack" README.md docs/
infra/package.json (1)

36-36: LGTM: Type definitions addition

The addition of @types/yargs matches the existing yargs dependency and provides proper TypeScript support.

infra/package.json Show resolved Hide resolved
infra/package.json Show resolved Hide resolved
infra/package.json Show resolved Hide resolved
@AndesKrrrrrrrrrrr AndesKrrrrrrrrrrr added deploy-feature Deploys features to dev test everything 💀 test & build everything 💀 labels Nov 15, 2024
Copy link

codecov bot commented Nov 15, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 36.41%. Comparing base (6752b9b) to head (6b7336e).
Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #16890   +/-   ##
=======================================
  Coverage   36.41%   36.41%           
=======================================
  Files        6898     6898           
  Lines      144868   144873    +5     
  Branches    41403    41406    +3     
=======================================
+ Hits        52751    52757    +6     
+ Misses      92117    92116    -1     
Flag Coverage Δ
air-discount-scheme-backend 54.08% <ø> (ø)
air-discount-scheme-web 0.00% <ø> (ø)
api 3.34% <ø> (ø)
api-catalogue-services 77.85% <ø> (ø)
api-domains-air-discount-scheme 37.08% <ø> (ø)
api-domains-assets 26.71% <ø> (ø)
api-domains-auth-admin 48.48% <ø> (ø)
api-domains-communications 39.58% <ø> (ø)
api-domains-criminal-record 47.56% <ø> (ø)
api-domains-driving-license 44.50% <ø> (ø)
api-domains-education 30.57% <ø> (ø)
api-domains-health-insurance 34.43% <ø> (ø)
api-domains-mortgage-certificate 34.74% <ø> (ø)
api-domains-payment-schedule 41.31% <ø> (ø)
application-api-files 62.42% <ø> (ø)
application-core 70.79% <ø> (-0.32%) ⬇️
application-system-api 41.03% <ø> (ø)
application-template-api-modules 27.74% <ø> (+0.01%) ⬆️
application-templates-accident-notification 28.98% <ø> (ø)
application-templates-car-recycling 3.12% <ø> (ø)
application-templates-criminal-record 25.87% <ø> (ø)
application-templates-driving-license 18.14% <ø> (ø)
application-templates-estate 12.15% <ø> (ø)
application-templates-example-payment 24.80% <ø> (ø)
application-templates-financial-aid 15.77% <ø> (ø)
application-templates-general-petition 23.07% <ø> (ø)
application-templates-inheritance-report 6.52% <ø> (ø)
application-templates-marriage-conditions 15.04% <ø> (ø)
application-templates-mortgage-certificate 43.42% <ø> (ø)
application-templates-parental-leave 29.86% <ø> (ø)
application-types 6.57% <ø> (ø)
application-ui-components 1.27% <ø> (ø)
application-ui-shell 20.58% <ø> (ø)
auth-admin-web 2.43% <ø> (ø)
auth-nest-tools 31.10% <ø> (ø)
auth-react 21.85% <ø> (ø)
auth-shared 75.00% <ø> (ø)
clients-charge-fjs-v2 24.11% <ø> (ø)
clients-driving-license 40.28% <ø> (ø)
clients-driving-license-book 43.50% <ø> (ø)
clients-financial-statements-inao 49.06% <ø> (ø)
clients-license-client 1.26% <ø> (ø)
clients-middlewares 73.33% <ø> (+0.08%) ⬆️
clients-regulations 42.36% <ø> (ø)
clients-rsk-company-registry 29.76% <ø> (ø)
clients-rsk-personal-tax-return 38.00% <ø> (ø)
clients-smartsolutions 12.77% <ø> (ø)
clients-syslumenn 49.23% <ø> (ø)
clients-zendesk 50.61% <ø> (ø)
cms 0.41% <ø> (ø)
cms-translations 38.91% <ø> (ø)
content-search-index-manager 95.65% <ø> (ø)
content-search-toolkit 8.14% <ø> (ø)
contentful-apps 4.69% <ø> (ø)
dokobit-signing 62.76% <ø> (ø)
download-service 44.16% <ø> (ø)
email-service 60.57% <ø> (ø)
feature-flags 90.62% <ø> (ø)
file-storage 45.80% <ø> (ø)
financial-aid-backend 51.29% <ø> (ø)
financial-aid-shared 17.81% <ø> (ø)
icelandic-names-registry-backend 54.34% <ø> (ø)
infra-nest-server 48.37% <ø> (ø)
infra-tracing 43.24% <ø> (ø)
island-ui-core 28.88% <ø> (ø)
judicial-system-api 19.86% <ø> (ø)
judicial-system-audit-trail 68.86% <ø> (ø)
judicial-system-backend 55.61% <ø> (ø)
judicial-system-formatters 79.35% <ø> (ø)
judicial-system-message 67.05% <ø> (ø)
judicial-system-message-handler 48.08% <ø> (ø)
judicial-system-scheduler 70.79% <ø> (ø)
judicial-system-types 43.31% <ø> (ø)
judicial-system-web 27.16% <ø> (ø)
license-api 42.60% <ø> (-0.06%) ⬇️
localization 10.15% <ø> (ø)
logging 48.43% <ø> (ø)
message-queue 68.79% <ø> (+0.73%) ⬆️
nest-audit 68.20% <ø> (ø)
nest-aws 53.04% <ø> (ø)
nest-config 78.00% <ø> (ø)
nest-core 43.54% <ø> (ø)
nest-feature-flags 51.09% <ø> (ø)
nest-problem 45.82% <ø> (ø)
nest-sequelize 94.44% <ø> (ø)
nest-swagger 51.71% <ø> (ø)
nova-sms 62.09% <ø> (ø)
portals-admin-regulations-admin 1.85% <ø> (ø)
portals-core 15.90% <ø> (ø)
reference-backend 49.74% <ø> (ø)
regulations 16.78% <ø> (ø)
residence-history 85.00% <ø> (ø)
services-auth-admin-api 52.51% <ø> (ø)
services-auth-delegation-api 57.51% <ø> (ø)
services-auth-ids-api 52.11% <ø> (+0.01%) ⬆️
services-auth-personal-representative 45.63% <ø> (ø)
services-auth-personal-representative-public 41.80% <ø> (ø)
services-auth-public-api 48.90% <ø> (-0.02%) ⬇️
services-documents 60.81% <ø> (ø)
services-endorsements-api 53.21% <ø> (ø)
services-sessions 65.46% <ø> (ø)
services-university-gateway 49.37% <ø> (+0.11%) ⬆️
services-user-notification 46.77% <ø> (ø)
services-user-profile 61.89% <ø> (ø)
shared-components 26.91% <ø> (ø)
shared-form-fields 31.26% <ø> (ø)
shared-mocking 60.89% <ø> (ø)
shared-pii 92.85% <ø> (ø)
shared-problem 87.50% <ø> (ø)
shared-utils 27.69% <ø> (ø)
skilavottord-ws 24.14% <ø> (ø)
web 1.76% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 4 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6752b9b...6b7336e. Read the comment docs.

---- 🚨 Try these New Features:

@datadog-island-is
Copy link

datadog-island-is bot commented Nov 15, 2024

Datadog Report

All test runs 85e578e 🔗

99 Total Test Services: 1 Failed, 96 Passed
🔻 Test Sessions change in coverage: 16 decreased, 9 increased, 163 no change

Test Services
This report shows up to 10 services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Code Coverage Change Test Service View
services-user-notification 11 0 0 40 0 1m 27.19s 1 decreased (-0.39%) Link
air-discount-scheme-backend 0 0 0 82 0 31.08s N/A Link
air-discount-scheme-web 0 0 0 2 0 9.08s N/A Link
api 0 0 0 4 0 3.25s N/A Link
api-catalogue-services 0 0 0 23 0 12.87s N/A Link
api-domains-air-discount-scheme 0 0 0 6 0 19.77s N/A Link
api-domains-assets 0 0 0 3 0 12.35s N/A Link
api-domains-auth-admin 0 0 0 18 0 13.82s N/A Link
api-domains-communications 0 0 0 5 0 34.43s N/A Link
api-domains-criminal-record 0 0 0 5 0 10.25s N/A Link

❌ Failed Tests (11)

This report shows up to 5 failed tests.

  • NotificationsWorkerService should call company registry for companies - apps/services/user-notification/src/app/modules/notifications/notificationsWorker/notificationsWorker.service.spec.ts

  • NotificationsWorkerService should call national registry for persons - apps/services/user-notification/src/app/modules/notifications/notificationsWorker/notificationsWorker.service.spec.ts

  • NotificationsWorkerService should not send email if feature flag is turned off - apps/services/user-notification/src/app/modules/notifications/notificationsWorker/notificationsWorker.service.spec.ts

  • NotificationsWorkerService should not send email if user has email notifications disabled - apps/services/user-notification/src/app/modules/notifications/notificationsWorker/notificationsWorker.service.spec.ts

  • NotificationsWorkerService should not send email if user has no email registered - apps/services/user-notification/src/app/modules/notifications/notificationsWorker/notificationsWorker.service.spec.ts

🔻 Code Coverage Decreases vs Default Branch (16)

This report shows up to 5 code coverage decreases.

  • judicial-system-backend - jest 58.7% (-0.57%) - Details
  • services-user-notification - jest 68.91% (-0.39%) - Details
  • judicial-system-api - jest 20.98% (-0.11%) - Details
  • application-template-api-modules - jest 30.04% (-0.1%) - Details
  • judicial-system-message-handler - jest 51.08% (-0.1%) - Details

Copy link
Member

@baering baering left a comment

Choose a reason for hiding this comment

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

Changes to package.json LGTM

Copy link
Member

@svanaeinars svanaeinars left a comment

Choose a reason for hiding this comment

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

LGTM

@kodiakhq kodiakhq bot merged commit d81308c into main Nov 20, 2024
366 of 367 checks passed
@kodiakhq kodiakhq bot deleted the chore/upgrade-helm-build-yarn branch November 20, 2024 17:21
AndesKrrrrrrrrrrr added a commit that referenced this pull request Nov 20, 2024
AndesKrrrrrrrrrrr added a commit that referenced this pull request Nov 20, 2024
AndesKrrrrrrrrrrr added a commit that referenced this pull request Nov 20, 2024
jonnigs pushed a commit that referenced this pull request Nov 26, 2024
* Add engines to infra/package.json

* Add packageManager to pakage.json

* Move packageManager next to engines in root package.json

* Remove hideBin import

* Revert "Remove hideBin import"

This reverts commit 33b6545.

* Add typing package for yargs

* Enable corepack before yarn install

* Set volta for infra/package.json

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
jonnigs pushed a commit that referenced this pull request Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge this PR as soon as all checks pass deploy-feature Deploys features to dev test everything 💀 test & build everything 💀
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants