generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 481
Optimize build pipeline: reduce non-unit tests by 67% (91% for incremental builds) #3161
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2af3811 to
d9dfacc
Compare
c763d95 to
0161bdb
Compare
hensmi-amazon
commented
Feb 10, 2026
| "postdoc": "node script/postprocess-docs.js", | ||
| "test": "npm run test:fast", | ||
| "test:glob": "cross-env TS_NODE_PROJECT=test/tsconfig.json TS_NODE_CACHE=false nyc mocha --stack-trace-limit=1000 --async-stack-traces -v -r esm -rv ts-node/register -- ", | ||
| "test:fast": "npm run test:glob \"test/**/*.test.ts\"", |
Contributor
Author
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed test:slow. Have never seen that used.
0161bdb to
f1b5949
Compare
f1b5949 to
c6d5ef5
Compare
avinashmidathada
previously approved these changes
Feb 10, 2026
pracheth
previously approved these changes
Feb 10, 2026
ltrung
reviewed
Feb 11, 2026
ltrung
reviewed
Feb 11, 2026
778e70d
- Enable TypeScript incremental builds with project references - Inline build commands to reduce npm spawn overhead - Batch git lookups in check-code-style.js (29s -> 0.4s) - Add ESLint caching (9s -> 1s incremental) - Remove redundant prebuild call from mediatransform - Skip unchanged files in postprocess-docs.js
778e70d to
bd30fe6
Compare
ltrung
approved these changes
Feb 11, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #: N/A
Description of changes:
Changes
Enable TypeScript incremental builds - Added incremental and composite to tsconfig, with project references between configs
Inline build commands - Replaced npm run subcommands with direct commands to eliminate process spawn overhead
Batch git lookups in check-code-style.js - Replaced per-file git check-ignore calls with single git ls-files lookup
Add ESLint caching - Added --cache flag to lint command
Remove redundant prebuild - Removed duplicate npm run prebuild call from mediatransform script
Optimize postprocess-docs.js - Skip writing files that haven't changed
Performance Results
Testing:
Builds
Checklist:
Have you successfully run
npm run build:releaselocally?y
Do you add, modify, or delete public API definitions? If yes, has that been reviewed and approved?
n
Do you change the wire protocol, e.g. the request method? If yes, has that been reviewed and approved?
n
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.