-
Notifications
You must be signed in to change notification settings - Fork 226
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
ci: continuing linting when one kind errors #4416
Conversation
conflates? or usefully combines? they're both incomplete static checks on code, yes? I suggest surveying more of the team, but to my mind, it's a feature, not a bug, that If you want separate |
I'm not sure about this. I'm actually more of the opinion of use "lint" as an umbrella not restricted to "eslint", but also for types and even an explicit "prettier" check, so I actually prefer the conflation. As to the |
Well taken. I was thinking of "lint" as "eslint" but that's just one type of lint.
I think it's a good requirement that when CI fails you are informed what you need to do to make it pass. Presently when one kind of lint check fails, you get no information about ones later in the So that means:
Instead I'll solve the latter so that the new CI check isn't necessary. (Saves setup time too.) |
This reverts commit 7fc4f39.
README.md
Outdated
`node_modules/@agoric/marshal` is a symlink to `packages/marshal`). | ||
`node_modules/@endo/marshal` is a symlink to `packages/marshal`). |
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.
I doubt the symlink thing applies across monorepos. So maybe change the example from ERTP->marshal to Zoe->ERTP.
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.
Dunno how that change got in the PR. Gone now.
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.
I'm a little hesitant to speak for the team on this... especially without an issue. But I guess I'm OK to give this my usual level of approval, which is: if it turns out to be broken, I agree to be responsible to fix it.
@@ -81,10 +82,10 @@ | |||
"link-cli": "yarn run create-agoric-cli", | |||
"create-agoric-cli": "node ./scripts/create-agoric-cli.cjs", | |||
"format": "yarn prettier --write 'packages/**/*.{js,jsx,ts,tsx}' 'golang/**/*.{js,jsx,ts,tsx}'", |
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.
Should we rename to lint-fix:format
in the principle of consistency? And introduce a lint-fix
that performs the above and a workspace lint-fix
(for the eslint fix)
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.
I've been burned by eslint --fix
enough not to trust it so I'd personally shy away from using a catch-all yarn lint-fix
but I wouldn't object to a PR making that change.
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.
Agreed! But I believe it's used by some. I personally relies on my editor for formatting auto fixes, so I use neither. I'll let others chime in.
"lint-fix-jessie": "eslint -c '.eslintrc-jessie.js' --fix '**/*.js'", | ||
"lint-check-jessie": "eslint -c '.eslintrc-jessie.js' '**/*.js'", |
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.
Where did these go?
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.
I'll mention in the notes: there is no .eslintrc-jessie.js
so these weren't even working. We have "plugin:@jessie.js/recommended"
in eslint-config so it's handled by that.
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.
Ping @michaelfig I assume?
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.
yes, plugin:@jessie.js/recommended
along with @jessie-check
is the current mechanism.
Description
It's helpful to developers that when CI fails you are informed what you need to do to make it pass. Presently when one kind of lint check fails, the logic fails fast and you get no information about subsequent ones. This was due to the
steps
in Github workflow and the&&
in theyarn lint
scripts.This makes the
yarn lint
command check all the definedlint:foo
commands and continue when any error. It accomplishes this using https://github.com/mysticatea/npm-run-all .It also:
yarn lint
so its steps don't fail fastlint-check
command since that's whatlint
does (checks)tsc
fromlint-fix
since it can't do any fixing..eslintrc-jessie.js
because that files doesn't exist (superceded byplugin:@jessie.js/recommended
)Security Considerations
Introduction of a new package. It's only a devDependency and is maintained by a well-regarded project lead who's a member of ESLint, Babel, and Vue.js.
Documentation Considerations
Notify developers to that
yarn lint-check
no longer works and to useyarn lint
instead.Testing Considerations
Locally tested that the different jobs run and failure of any is conveyed for the lint overall.
CI passes.