workday / canvas-kit-actions Goto Github PK
View Code? Open in Web Editor NEWGH Actions to support Canvas Kit
GH Actions to support Canvas Kit
utils/update-changelog.js
is existing in CK, so that's why we don't have any failure, but this step should be more dynamic
## We could have gone the route of a lerna changeset plugin, but we would lose access to
## usernames which add a nice human touch to release notes
- name: Update Changelog
shell: bash
run: node utils/update-changelog.js
env:
CHANGESET_TITLE: ${{steps.changeset.outputs.title}}
CHANGESET_BODY: |
${{steps.changeset.outputs.body}}
canvas-tokens
also needs to have PR check action that CK has, we need to check if we can remove it from CK and make it composite
Now generate changelog
action generates changelog based on all commits made from specific tag. For multipackage repo we need to have opportunity to filter all commits and generate changelog based on selected commits only for specific package.
w/o filter
- feat(web): Add web tokens
- feat(mobile): Add mobile tokens
- chore: Add PR review GH action
with filter for web
:
- feat(web): Add web tokens
Components
Update documentation for GH actions:
Some pull requests have additional contributors and currently they are not given recognition. To fix this, a few things need to change.
getMergeData
to support multiple contributors from commits
commits
to the GraphQL callcommits
to look for additional authorslogin
(Github username)Co-authored-by: {name} <{email}>
lines to the end of the commit message so GitHub attributes contributionsgetReleaseNotes
to process the Co-authored-by
strings to add additonal contributors in the release summary messageWe ignore PR lint rules for dependabot PRs because they are autogenerated, but this causes empty releases because this causes empty merge messages.
For example, the release notes are empty: https://github.com/Workday/canvas-kit/releases/tag/v7.0.13
Here's the PR: Workday/canvas-kit#1492
The dependabot PRs lack the normally required "sections" (category and summary). The utility function that needs to be updated is the getSections
found here:
canvas-kit-actions/src/utils.ts
Lines 101 to 153 in 79d637f
The tests for getSections
are unit tests found here:
canvas-kit-actions/src/utils.test.ts
Lines 182 to 290 in 79d637f
The tests are set up the following way:
For example, the linked PR should produce an expected sections like the following:
const expected = {
summary: 'Bumps [prismjs](https://github.com/PrismJS/prism) from 1.25.0 to 1.27.0.',
'release category': 'Dependencies',
}
No other code needs to be updated other than utils.ts
and utils.test.ts
which means the code should be 100% unit tested without worry our CI will crash!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.