Skip to content

Commit

Permalink
feat: add publish ci and script
Browse files Browse the repository at this point in the history
  • Loading branch information
LonelySnowman committed Oct 15, 2024
1 parent 58517a1 commit 8a97bd6
Show file tree
Hide file tree
Showing 11 changed files with 135 additions and 38 deletions.
34 changes: 34 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Publish NPM Package

on:
push:
branches:
- main

jobs:
publish:
runs-on: ubuntu-latest
if: contains(github.event.head_commit.message, 'release')
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'

- name: Install pnpm
run: npm i -g pnpm@9

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build lib
run: pnpm run build:lib

- name: Publish package
run: sh ./scripts/publish.sh
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
48 changes: 28 additions & 20 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
name: test

on: [push, pull_request]

jobs:
jest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install pnpm
run: npm i -g pnpm@9
- name: Install dependencies
run: pnpm install
- name: Run unit test
run: pnpm run test:unit
- name: Run build
run: pnpm run build:lib
name: test

on: [push, pull_request]

jobs:
jest:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'

- name: Install pnpm
run: npm i -g pnpm@9

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run unit test
run: pnpm run test:unit

- name: Run build lib
run: pnpm run build:lib
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
"lint:fix": "eslint --fix",
"lint:lint-staged": "lint-staged",
"lint:stylelint": "stylelint ./**/*.{css,scss} --cache --fix",
"publish:patch": "cross-env NEXT_VERSION=patch pnpm recursive run publish",
"publish:minor": "cross-env NEXT_VERSION=minor pnpm recursive run publish",
"publish:major": "cross-env NEXT_VERSION=major pnpm recursive run publish"
"version:patch": "pnpm recursive run version:patch",
"version:minor": "pnpm recursive run version:minor",
"version:major": "pnpm recursive run version:major"
},
"author": "LonelySnowman",
"license": "ISC",
Expand Down
4 changes: 3 additions & 1 deletion packages/components/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@
"scripts": {
"build": "snow-tools run build",
"clean": "rimraf lib dist node_modules",
"publish": "npm version $NEXT_VERSION --no-git-tag-version && npm publish"
"version:patch": "npm version patch --no-git-tag-version",
"version:minor": "npm version minor --no-git-tag-version",
"version:major": "npm version major --no-git-tag-version"
},
"keywords": [
"snow-design",
Expand Down
4 changes: 3 additions & 1 deletion packages/foundation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"scripts": {
"build": "snow-tools run compileFoundation",
"clean": "rimraf lib node_modules",
"publish": "npm version $NEXT_VERSION --no-git-tag-version && npm publish"
"version:patch": "npm version patch --no-git-tag-version",
"version:minor": "npm version minor --no-git-tag-version",
"version:major": "npm version major --no-git-tag-version"
},
"files": [
"lib"
Expand Down
10 changes: 7 additions & 3 deletions packages/locale/package.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
{
"name": "@snow-design/locale",
"version": "0.0.22",
"version": "0.0.23",
"files": [
"lib"
],
"scripts": {
"build": "tsup",
"clean": "rimraf lib node_modules",
"publish": "npm version $NEXT_VERSION --no-git-tag-version && npm publish"
"version:patch": "npm version patch --no-git-tag-version",
"version:minor": "npm version minor --no-git-tag-version",
"version:major": "npm version major --no-git-tag-version"
},
"description": "SnowDesign 组件库国际化语言包",
"main": "index.ts",
"keywords": ["snow-design"],
"keywords": [
"snow-design"
],
"author": "LonelySnowman",
"license": "ISC",
"devDependencies": {
Expand Down
10 changes: 7 additions & 3 deletions packages/theme-default/package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
{
"name": "@snow-design/theme-default",
"version": "0.0.22",
"version": "0.0.23",
"scripts": {
"publish": "npm version $NEXT_VERSION --no-git-tag-version && npm publish"
"version:patch": "npm version patch --no-git-tag-version",
"version:minor": "npm version minor --no-git-tag-version",
"version:major": "npm version major --no-git-tag-version"
},
"description": "SnowDesign 组件库默认主题包",
"keywords": ["snow-design"],
"keywords": [
"snow-design"
],
"author": "LonelySnowman",
"license": "ISC"
}
10 changes: 7 additions & 3 deletions packages/vite-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
{
"name": "@snow-design/vite-plugin",
"version": "0.0.22",
"version": "0.0.23",
"description": "SnowDesign 组件库主题包 Vite 插件",
"main": "dist/index.cjs",
"types": "dist/index.d.ts",
"module": "dist/index.mjs",
"scripts": {
"build": "rollup -c rollup.config.ts --configPlugin typescript",
"clean": "rimraf lib node_modules",
"publish": "npm version $NEXT_VERSION --no-git-tag-version && npm publish"
"version:patch": "npm version patch --no-git-tag-version",
"version:minor": "npm version minor --no-git-tag-version",
"version:major": "npm version major --no-git-tag-version"
},
"files": [
"lib/*"
],
"keywords": ["snow-design"],
"keywords": [
"snow-design"
],
"author": "LonelySnowman",
"license": "ISC",
"devDependencies": {
Expand Down
4 changes: 3 additions & 1 deletion packages/vue3/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@
"scripts": {
"build": "snow-tools run build --mode vue",
"clean": "rimraf lib dist node_modules",
"publish": "npm version $NEXT_VERSION --no-git-tag-version && npm publish"
"version:patch": "npm version patch --no-git-tag-version",
"version:minor": "npm version minor --no-git-tag-version",
"version:major": "npm version major --no-git-tag-version"
},
"keywords": [
"snow-design"
Expand Down
10 changes: 7 additions & 3 deletions packages/webpack-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
{
"name": "@snow-design/webpack-plugin",
"version": "0.0.22",
"version": "0.0.23",
"description": "SnowDesign 组件库主题包 Webpack 插件",
"main": "lib/index.js",
"scripts": {
"build:lib": "tsc",
"build": "pnpm run build:lib",
"clean": "rimraf lib node_modules",
"publish": "npm version $NEXT_VERSION --no-git-tag-version && npm publish"
"version:patch": "npm version patch --no-git-tag-version",
"version:minor": "npm version minor --no-git-tag-version",
"version:major": "npm version major --no-git-tag-version"
},
"files": [
"lib/*"
],
"keywords": ["snow-design"],
"keywords": [
"snow-design"
],
"author": "LonelySnowman",
"license": "ISC",
"dependencies": {
Expand Down
33 changes: 33 additions & 0 deletions scripts/publish.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/sh

set -e

cd packages/components
npm publish --access public
cd -

cd packages/vue3
npm publish --access public
cd -

cd packages/foundation
npm publish --access public
cd -

cd packages/locale
npm publish --access public
cd -

cd packages/theme-default
npm publish --access public
cd -

cd packages/vite-plugin
npm publish --access public
cd -

cd packages/webpack-plugin
npm publish --access public
cd -

echo "✅ Publish completed"

0 comments on commit 8a97bd6

Please sign in to comment.