diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..dd5f473 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +name: Default CI +on: [push, pull_request] +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Setup Nodejs Env + run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV + - name: Setup Nodejs + uses: dcodeIO/setup-node-nvm@v4 + with: + node-version: "${{ env.NODE_VER }}" + - name: Install dependencies + run: npm install + - name: Lint + run: npm run lint + - name: Test + run: npm run test + - name: i18n_extract + run: npm run i18n_extract + - name: Coverage + uses: codecov/codecov-action@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..dbc8027 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,37 @@ +name: Release CI +on: + push: + branches: + - main +jobs: + release: + name: Release + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Setup Node.js Env + run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV + - name: Setup Node.js + uses: dcodeIO/setup-node-nvm@v4 + with: + node-version: "${{ env.NODE_VER }}" + - name: Install dependencies + run: npm install + - name: Lint + run: npm run lint + - name: Test + run: npm run test + - name: i18n_extract + run: npm run i18n_extract + - name: Coverage + uses: codecov/codecov-action@v3 + - name: Build + run: npm run build + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.SEMANTIC_RELEASE_NPM_TOKEN }} + run: npx semantic-release diff --git a/.releaserc b/.releaserc new file mode 100644 index 0000000..c50b006 --- /dev/null +++ b/.releaserc @@ -0,0 +1,27 @@ +{ + "branches": ["main"], + "tagFormat": "v${version}", + "verifyConditions": [ + "@semantic-release/npm", + { + "path": "@semantic-release/github", + "assets": { + "path": "dist/*" + } + } + ], + "analyzeCommits": "@semantic-release/commit-analyzer", + "generateNotes": "@semantic-release/release-notes-generator", + "prepare": "@semantic-release/npm", + "publish": [ + "@semantic-release/npm", + { + "path": "@semantic-release/github", + "assets": { + "path": "dist/*" + } + } + ], + "success": [], + "fail": [] +}