GitHub Actions Template
Template for GitHub actions.
Table of Contents
Details
Setup
yarn
yarn setup
npm
npm run setup
Workflows
Some workflows
are included by default.
ci.yml
CI Workflow
- ESLint
- Jest
- Send coverage report to codecov if
CODECOV_TOKEN
is set.
- Send coverage report to codecov if
- Release GitHub Actions
- if tag is added.
- Publish package
- if tag is added and
NPM_AUTH_TOKEN
is set.
- if tag is added and
- Publish release
- if 3 and 4 jobs are succeeded.
- Notify by slack
- if workflow is failure
ACCESS_TOKEN is required.
SLACK_WEBHOOK_URL is required.
add-version-tag.yml
Add the release tag when pull request is merged.
- Get next version from commits histories.
see Conventional Commits - Add tag.
- Create branch for next version.
ACCESS_TOKEN is required.
toc.yml
Create TOC (Table of contents)
ACCESS_TOKEN is required.
issue-opened.yml
- Assign the issue to project
default setting:Project: Backlog Column: To do
- Assign author to issue
pr-opened.yml
- Assign the PR to project
default setting:ACCESS_TOKEN is required.Project: Backlog Column: In progress
- Assign author to PR
- Add labels by branch
setting
pr-updated.yml
- Add labels by changed files setting
- Create PR histories
- Manage PR by release type
ACCESS_TOKEN is required. - Check version in package.json
ACCESS_TOKEN is required. - Check if it can be published to npm
ifNPM_AUTH_TOKEN
is set
project-card-moved.yml
Manage labels by moving project cards
broken-link-check.yml
Check broken link in README
update-dependencies.yml
Update package dependencies
- schedule
- PR opened, closed
- repository dispatch
add-test-tag.yml
Add tag for test release
Secrets
ACCESS_TOKEN
Personal access token with the public_repo or repo scope
(repo is required for private repositories)
SLACK_WEBHOOK_URL
https://api.slack.com/messaging/webhooks
Test release
- Create
.env
Set Personal access tokentoken=1234567890abcdef1234567890abcdef12345678
- Run
yarn release
- Dry run:
yarn release -n
- Help:
yarn release -h
- Dry run:
Then, you can use your GitHub Actions
like follows:
on: push
name: Test
jobs:
toc:
name: Test
runs-on: ubuntu-latest
steps:
- uses: owner/repo@gh-actions