-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
chore: migrate build from azure-pipelines to actions #1383
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: migrate build from azure-pipelines to actions #1383
Conversation
This comment has been minimized.
This comment has been minimized.
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.
@JamesHenry was the one that set up all of the azure stuff. Would like his eyeball.
Also do you know how easy it is to setup actions for things like locking old, closed issues? I get annoyed when people necro old things, but have been too lazy to investigate a bot 😅
Also we have the typescript-eslint
bot which posts on PRs whenever they are opened - would that be easy to migrate?
yea i could set this up to, but this can be done in separate PR about our bot, there few actions that are already prepeared for this for example:
|
Err...why? 😅 also we have a slack channel precisely to discuss things like this |
@JamesHenry i added small description |
one good reason to move to github actions is because it centralises the admin, which makes it a bit more transparent. Same for the bots, having them as actions would be a win for transparent and easy maintaining (eg I don't know where or how the PR message bot is implemented atm). |
Codecov Report
@@ Coverage Diff @@
## master #1383 +/- ##
=========================================
+ Coverage 95.19% 95.49% +0.3%
=========================================
Files 148 150 +2
Lines 6967 6639 -328
Branches 2007 1880 -127
=========================================
- Hits 6632 6340 -292
+ Misses 124 112 -12
+ Partials 211 187 -24
|
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 think this is a good idea. I'm happy to merge this as a trial at the very least.
We can run both azure and github actions for a period whilst we make a greater decision
primary_code_validation_and_tests: | ||
name: Primary code validation and tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Use Node.js 12 | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: 12 | ||
|
||
# This also runs a build as part of the postinstall bootstrap | ||
- name: install and build | ||
run: | | ||
yarn --ignore-engines --frozen-lockfile | ||
yarn check-clean-workspace-after-install | ||
|
||
# Note that this command *also* typechecks tests/tools, | ||
# whereas the build only checks src files | ||
- name: Typecheck all packages | ||
run: yarn typecheck | ||
|
||
- name: Check code formatting | ||
run: yarn format-check | ||
|
||
- name: Run linting | ||
run: yarn lint | ||
|
||
- name: Validate spelling | ||
run: yarn check:spelling | ||
|
||
- name: Run unit tests | ||
run: yarn test | ||
env: | ||
CI: true | ||
|
||
- name: Run integrations tests | ||
run: yarn integration-tests | ||
env: | ||
CI: true | ||
|
||
- name: Publish code coverage report | ||
uses: codecov/codecov-action@v1 | ||
with: | ||
yml: ./codecov.yml | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
flags: unittest | ||
name: codecov |
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.
Question - did we want to split all of this up to give us more granular status checks?
I know that a bit of a pain point for people is just seeing "primary validation" failed, and then having to dig into the logs to see which step failed.
I.e. one job for each of:
- type check
- format check
- lint
- spelling
- test + integration (+ coverage publish) test on latest node
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.
you actually don't have to as actions are showing it in overview screen
example: https://github.com/armano2/test-eslint-monorpo/actions/runs/36409848
you can click on Check failure on line 1 in packages/a/src/index.js
if file was modified it's going to show annotation within this file
as for codecov/codecov-action we should wait for codecov/codecov-action#53 to get merged first as it has same issue with PR ids as pipelines for now we could just disable it or use bash uploader |
This is POC of build migration from azure-pipelines to actions
From my research about github actions:
https://github.com/armano2/node-markdown-spellcheck/runs/364664300
Examples
External project test