ci: add dry-aged-deps for dependency freshness checks#44
Closed
tompahoward wants to merge 8 commits into
Closed
Conversation
Install dry-aged-deps and configure exclusions for all currently outdated dependencies that cannot be updated due to version constraints (eslint 8.x ecosystem, jest 27.x, projen 0.58.x, etc). Add --check to the build pipeline and pre-push hook to catch future outdated dependencies. https://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce
❌ The current Mergify configuration is invalidDetails
{{ body }} |
actions/checkout v3, actions/upload-artifact v2, actions/download-artifact v3, and actions/setup-node v3 have been deprecated by GitHub. Upgrade all workflow files to v4 to fix CI failures. https://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce
❌ The current Mergify configuration is invalidDetails
{{ body }} |
eslint-plugin-jsdoc@39 declares engine compatibility with Node ^14-18, but GitHub Actions runners use Node 20+. Add --ignore-engines flag to allow installation to proceed. https://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce
❌ The current Mergify configuration is invalidDetails
{{ body }} |
eslint-plugin-jsdoc@39 requires Node ^14-18 but modern runners use Node 20+. Setting --ignore-engines in .yarnrc ensures yarn install succeeds both locally and in CI (including projen's internal installs). https://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce
❌ The current Mergify configuration is invalidDetails
{{ body }} |
Newer npm versions output notice lines before the tarball filename, breaking the mv command in the package task. Pipe through tail -1 to extract only the filename. https://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce
❌ The current Mergify configuration is invalidDetails
{{ body }} |
Move all dry-aged-deps configuration into .projenrc.ts so changes survive projen regeneration: - Add dry-aged-deps as a dev dependency - Add dry-aged-deps --check as a post-build step in build workflow - Add dry-aged-deps --check to the pre-push husky hook - Add .dry-aged-deps.json to cspell ignore paths https://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce
❌ The current Mergify configuration is invalidDetails
{{ body }} |
Use projen file overrides to upgrade all deprecated GitHub Actions (checkout, upload-artifact, download-artifact, setup-node) from v2/v3 to v4 so they survive projen regeneration. https://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce
❌ The current Mergify configuration is invalidDetails
{{ body }} |
Remove projen dependency and configuration. Replace all projen-managed scripts with direct commands in package.json. Update CI workflows to use npm scripts directly. Upgrade all GitHub Actions to v4. Remove @mountainpass/cool-bits-for-projen dependency. https://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce
❌ The current Mergify configuration is invalidDetails
{{ body }} |
Contributor
Author
|
Splitting into two separate PRs for lower risk. |
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
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.
Summary
dry-aged-depsas a dev dependency for supply-chain-safe dependency freshness monitoring.dry-aged-deps.jsonconfig with exclusions for all 20 currently outdated packages (eslint 8.x ecosystem, jest 27.x, projen 0.58.x, typescript 4.x, etc.) with documented reasonsdry-aged-deps --checkstep to the GitHub Actions build pipelinedry-aged-deps --checkto the pre-push git hook.dry-aged-deps.jsonto cspell ignore pathsTest plan
dry-aged-deps --checkexits 0 with all current outdated deps excludedhttps://claude.ai/code/session_01HNvBcQzT1SviRqkUpP5Xce