name: Release on: push: tags: - v*.*.* jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Node uses: actions/setup-node@v3 with: node-version: '16' registry-url: https://registry.npmjs.org - name: Cache uses: actions/cache@v3 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Npm Install run: | npm config set strict-ssl false npm install --force npm config set strict-ssl true - name: Version id: version run: | tag=${GITHUB_REF/refs\/tags\//} version=${tag#v} echo "::set-output name=version::${version}" - name: Npm Link # build npm run: | cd ./src/cnchar-types npm link cd ../cnchar npm link cnchar-types cd ../.. - name: Build # build npm run: node ./helper/scripts/build.js ${{ steps.version.outputs.version }} - name: Test # test run: node ./helper/test/index.js - name: Build Docs # build docs run: npm run build:docs - name: Pages # github pages uses: JamesIves/github-pages-deploy-action@v4.3.0 with: branch: gh-pages folder: docs - name: Release # release uses: release-drafter/release-drafter@v5 with: version: ${{ steps.version.outputs.version }} publish: true env: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} - name: Publish # npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPMJS_TOKEN }} run: node ./helper/scripts/publish.js - name: Purge # purge cdn run: | node ./helper/scripts/purge-cdn.js node ./helper/scripts/purge-docs.js