chore: improve workflow #2382
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
name: ci | |
on: | |
# Triggers the workflow on push or pull request events | |
push: | |
branches: [main] | |
pull_request: | |
# For queues into main | |
merge_group: | |
branches: [main] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
install: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
**/node_modules | |
.yarn/cache | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} | |
- name: yarn-install | |
# Check out the lockfile from main, reinstall, and then | |
# verify the lockfile matches what was committed. | |
run: | | |
yarn install | |
CHANGES=$(git status -s) | |
if [[ ! -z $CHANGES ]]; then | |
echo "Changes found: $CHANGES" | |
git diff | |
exit 1 | |
fi | |
build: | |
runs-on: ubuntu-latest | |
needs: [install] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
**/node_modules | |
.yarn/cache | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} | |
- name: build | |
run: yarn run build | |
lint: | |
runs-on: ubuntu-latest | |
needs: [install] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
**/node_modules | |
.yarn/cache | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} | |
- name: lint | |
run: yarn run lint | |
prettier: | |
runs-on: ubuntu-latest | |
needs: [install] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
**/node_modules | |
.yarn/cache | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} | |
- name: prettier | |
run: | | |
yarn run prettier | |
CHANGES=$(git status -s) | |
if [[ ! -z $CHANGES ]]; then | |
echo "Changes found: $CHANGES" | |
exit 1 | |
fi | |
test: | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
**/node_modules | |
.yarn/cache | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} | |
- name: test | |
run: yarn run test:unit | |
# health: | |
# runs-on: ubuntu-latest | |
# needs: [build] | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - uses: actions/cache@v3 | |
# with: | |
# path: | | |
# **/node_modules | |
# .yarn/cache | |
# key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} | |
# - name: test | |
# run: yarn run test:health | |
changeset: | |
if: ${{ github.event_name == 'pull_request' && github.head_ref != 'changeset-release/main' }} | |
runs-on: ubuntu-latest | |
needs: [install] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
# check out full history | |
fetch-depth: 0 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
**/node_modules | |
.yarn/cache | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} | |
- name: changeset | |
run: yarn changeset status --since origin/main |