Skip to content

Conversation

@vpaiu
Copy link
Contributor

@vpaiu vpaiu commented Aug 19, 2025

Description of changes:

  • Added step in the update-automation workflow for updating the package-lock overrides.
  • The process does the following for each target:
    • Prepares the source.
    • Runs npm install to sync up the package-lock.json files with the patched package.json files.
    • Copies the package-lock.json files that differ from their original in third-party-src into the respective package-lock-overrides sub-folder while maintaining the folder structure.
    • Commits the changes to the staging branch.

Note: This step will be placed after the build and test step in the update-automation workflow.

Testing:

Tested on my fork for the code-editor-sagemaker-server target for code-oss version 1.101: https://github.com/vpaiu/code-editor/actions/runs/17068271460.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

# Install dependencies
cd code-editor-src
npm install
Copy link
Contributor

Choose a reason for hiding this comment

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

npm install is a time-consuming step. Any way we can parallelize this for all targets instead of looping through them one by one?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Implemented this suggestion by extracting the step for updating the package lock dependencies into a different job (running sequentially with the Run Automation Tasks and Handle Failures jobs) which uses the matrix strategy for all targets. Example run on fork for two targets for code-oss version 1.101: https://github.com/vpaiu/code-editor/actions/runs/17071392654.

@vpaiu vpaiu merged commit 2126b11 into aws:main Aug 19, 2025
1 check passed
@vpaiu vpaiu deleted the update-dependencies branch August 19, 2025 14:15
echo "Installing required dependencies"
sudo apt-get update
sudo apt-get install -y quilt libxml2-utils jq
sudo apt-get install -y quilt libxml2-utils jq libkrb5-dev libx11-dev libxkbfile-dev
Copy link
Contributor

Choose a reason for hiding this comment

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

Why do we need these extra packages for this job if nothing has changed here other than adding an echo statement?

- name: Setup environment
run: |
sudo apt-get update
sudo apt-get install -y quilt libxml2-utils jq libkrb5-dev libx11-dev libxkbfile-dev
Copy link
Contributor

Choose a reason for hiding this comment

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

Same, I do not think we need dev headers for Kerberos and X11 related libraries for the actions below, they are only needed for the actual build.

./scripts/prepare-src.sh "${{ matrix.target }}"
cd code-editor-src
npm install
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: The npm-cache could be saved after this step so downstream jobs and subsequent builds would not need to re-fetch them.

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