chore(release): 1.2.0 #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a basic workflow to help you get started with Actions | |
name: CI | |
# Triggers the workflow on push or pull request events but only for the master branch | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
setup: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Cache yarn.lock | |
uses: actions/cache@v2 | |
with: | |
path: package-temp-dir | |
key: lock-${{ github.sha }} | |
- name: Create yarn.lock | |
run: yarn generate-lock-entry | |
- name: Hack for single file | |
run: | | |
if [ ! -d "package-temp-dir" ]; then | |
mkdir package-temp-dir | |
fi | |
cp yarn.lock package-temp-dir | |
- name: Cache node_modules | |
id: node_modules_cache_id | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: node_modules-${{ hashFiles('**/package-temp-dir/yarn.lock') }} | |
- name: Install dependencies | |
if: steps.node_modules_cache_id.outputs.cache-hit != 'true' | |
run: yarn | |
prettier: | |
needs: [setup] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Restore cache from yarn.lock | |
uses: actions/cache@v2 | |
with: | |
path: package-temp-dir | |
key: lock-${{ github.sha }} | |
- name: Restore cache from node_modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: node_modules-${{ hashFiles('**/package-temp-dir/yarn.lock') }} | |
- name: Prettier check | |
run: yarn prettier | |
eslint: | |
needs: [setup] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Restore cache from yarn.lock | |
uses: actions/cache@v2 | |
with: | |
path: package-temp-dir | |
key: lock-${{ github.sha }} | |
- name: Restore cache from node_modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: node_modules-${{ hashFiles('**/package-temp-dir/yarn.lock') }} | |
- name: Eslint check | |
run: yarn eslint | |
test: | |
needs: [setup] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Restore cache from yarn.lock | |
uses: actions/cache@v2 | |
with: | |
path: package-temp-dir | |
key: lock-${{ github.sha }} | |
- name: Restore cache from node_modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: node_modules-${{ hashFiles('**/package-temp-dir/yarn.lock') }} | |
- name: Setup timezone | |
uses: zcong1993/setup-timezone@master | |
with: | |
timezone: Asia/Shanghai | |
- name: Unit Test | |
run: yarn test | |
build: | |
runs-on: ubuntu-latest | |
needs: [setup, prettier, eslint, test] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Restore cache from yarn.lock | |
uses: actions/cache@v2 | |
with: | |
path: package-temp-dir | |
key: lock-${{ github.sha }} | |
- name: Restore cache from node_modules | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: node_modules-${{ hashFiles('**/package-temp-dir/yarn.lock') }} | |
- name: Build test | |
run: yarn build |