-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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: improve CI by making it a workflow graph #4959
Conversation
Thanks for the PR, @bradzacher! typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community. The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately. Thanks again! 🙏 Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently on https://opencollective.com/typescript-eslint. As a thank you, your profile/company logo will be added to our main README which receives thousands of unique visitors per day. |
✅ Deploy Preview for typescript-eslint ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
13709c5
to
379ccf3
Compare
Codecov Report
@@ Coverage Diff @@
## main #4959 +/- ##
==========================================
- Coverage 93.93% 91.70% -2.23%
==========================================
Files 175 361 +186
Lines 9904 12122 +2218
Branches 3139 3517 +378
==========================================
+ Hits 9303 11117 +1814
- Misses 354 657 +303
- Partials 247 348 +101
Flags with carried forward coverage won't be shown. Click here to find out more.
|
@armano2 - to collect and upload the coverage |
7628a21
to
ac8b43a
Compare
ac8b43a
to
ac2b486
Compare
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.
Looks great to me, thanks!
- name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} | ||
uses: actions/setup-node@v3 | ||
- name: Checkout | ||
uses: actions/checkout@v3 |
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.
It looks like there's an actions/checkout@v3
before each prepare-install
, and the only difference is the fetch-depth
sometimes being 2
. Could the prepare-install
composite action do the checkout as well, with fetch-depth
as an input
?
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 had this originally but because prepare-install
is a local reusable action - you have to do the checkout before GH action can reference the file :(
If we wanted - we could move the reusable actions to a separate repo entirely and then GH actions could reference them without a checkout - but I figured for now we can just eat the duplication and punt on that decision.
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 do like this change and it seem that is working correctly, thank you for your work 🐱
i have one question about artifacts, do we have to clean them after coverage is uploaded?
I think there is storage limit on github, and we do not need them after they where submitted
https://github.com/actions/upload-artifact#retention-period Looks like by default it stores the artifact for 90 days! I changed this repos' default retention to 14 days considering that we don't ever look at old logs or artifacts. Worst case someone can re-run the workflow to get fresh artifacts. I'll also change the config here to 1 day retention for codecov artifacts (the minimum) to make sure we're not wasting space. |
While working on #4952 I split the linting job into multiple jobs.
I figured that we can do the same for all parts of our CI. With each step being its own job it means:
This PR actions the above to create a workflow for our CI:
a) Run the build and cache the output
b) In parallel we also any steps that don't need the build:
a) Prettier
b) Markdownlint
c) Spellcheck
a) ESLint
b) Typecheck
c) Integration tests
d) Website tests
e) Unit tests for all packages on different node versions (each package / version is run as a separate job)
I also:
Comparison:
Before:
After: