- Add a new example project in
examples
folder. It is a regular NPM package with its ownpackage.json
and Cypress dev dependency. - Add a corresponding
.github/workflows
YAML file that uses this action and runs insideexamples/X
working directory. The example should demonstrate the feature - Add workflow badge to README if needed
- Create a new local branch for any development, for example
git checkout -b featureA
- Update the source code in index.js
- Build
dist
file(s) usingnpm run build
- Commit any changed files, note the SHA of the commit
- Push the local branch to GitHub
- In a test repository, create a test branch, change the action to point at the new commit. Example
name: End-to-end tests
on: [push]
jobs:
cypress-run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
# use specific commit pushed to GitHub
- uses: cypress-io/github-action@2a1baeb
You can use cypress-gh-action-example or cypress-gh-action-monorepo as test projects.
- Push the change and make sure the new feature performs correctly. If yes, open a pull request.
For pull request reviewers:
- When merging a pull request, squash all commits into one.
- Make sure the commit subject and body follow semantic commit convention. I prefer simplicity:
feat: added new parameter
fix: fixed a bug
If you need to bump major version, mark it as breaking change in the body of the commit's message like:
fix: upgrade dependency X
BREAKING CHANGE: requires Node 8 to run
- New versions of this action will be released automatically by the CI, see .github/workflows/main.yml. This will create a new GitHub release and will update the current
/v1
branch. Thus every user that use- uses: cypress-io/github-action@v2
will be using the new version automatically.