Merge pull request #217 from sakitam-fdd/changeset-release/master #89
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: | |
push: | |
branches: [master, dev] | |
pull_request: | |
branches: [master, dev] | |
jobs: | |
test: | |
if: "!contains(github.event.head_commit.message, 'ci skip')" | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node-version: [18.16.1] | |
runs-on: ${{ matrix.os }} | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Cache ~/.pnpm-store | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-pnpm-store | |
with: | |
path: ~/.pnpm-store | |
key: ${{ runner.os }}-${{ matrix.node-version }}-test-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.node-version }}-test-${{ env.cache-name }}- | |
${{ runner.os }}-${{ matrix.node-version }}-test- | |
${{ runner.os }}- | |
- name: Install pnpm | |
run: npm i -g [email protected] | |
- name: Install deps | |
run: pnpm i --no-frozen-lockfile | |
# Runs a set of commands using the runners shell | |
- name: Build and Test | |
run: pnpm test && pnpm coverage | |
# - name: Coveralls | |
# uses: coverallsapp/github-action@master | |
# with: | |
# # https://github.com/coverallsapp/github-action/issues/81 | |
# # https://docs.github.com/en/actions/security-guides/automatic-token-authentication | |
# git-branch: master | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
# flag-name: ${{matrix.os}}-node-${{ matrix.node }} | |
# parallel: true | |
release: | |
runs-on: ubuntu-latest | |
needs: ['test'] | |
if: "!contains(github.event.head_commit.message, 'skip-release') && !contains(github.event.head_commit.message, 'skip-ci') && github.event_name != 'pull_request'" | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: 18.16.1 | |
- name: Cache ~/.pnpm-store | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-pnpm-store | |
with: | |
path: ~/.pnpm-store | |
key: ${{ runner.os }}-${{ matrix.node-version }}-release-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.node-version }}-release-${{ env.cache-name }}- | |
${{ runner.os }}-${{ matrix.node-version }}-release- | |
${{ runner.os }}- | |
- run: npm i -g [email protected] | |
- run: pnpm i --no-frozen-lockfile | |
- name: Create Release Pull Request or Publish to npm | |
id: changesets | |
uses: changesets/action@master | |
with: | |
# This expects you to have a script called release which does a build for your packages and calls changeset publish | |
publish: pnpm release | |
commit: 'chore(release): publish' | |
title: Publish next versions | |
env: | |
GITHUB_TOKEN: ${{ secrets.PKG_DEPLOY_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_PKG_PUBLIC_TOKEN }} | |
docs: | |
runs-on: ubuntu-latest | |
needs: [ 'test' ] | |
if: "!contains(github.event.head_commit.message, 'skip-release') && !contains(github.event.head_commit.message, 'skip-ci') && github.event_name != 'pull_request'" | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: 18.16.1 | |
- name: Cache ~/.pnpm-store | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-pnpm-store | |
with: | |
path: ~/.pnpm-store | |
key: ${{ runner.os }}-${{ matrix.node-version }}-release-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.node-version }}-release-${{ env.cache-name }}- | |
${{ runner.os }}-${{ matrix.node-version }}-release- | |
${{ runner.os }}- | |
- run: npm i -g [email protected] | |
- run: pnpm i --no-frozen-lockfile | |
- run: pnpm build | |
- run: pnpm run api | |
- run: pnpm docs:build | |
- name: Deploy | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{ secrets.PKG_DEPLOY_TOKEN }} | |
publish_dir: docs/.vitepress/dist | |
cname: blog.sakitam.com |