pedromsantos/glenn

View on GitHub
.github/workflows/publish.yml

Summary

Maintainability
Test Coverage
name: Publish Package to npmjs
on:
  release:
    types: [published]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: --unshallow

      - name: Cache node modules
        uses: actions/cache@v4.0.2
        env:
          cache-name: cache-node-modules
        with:
          path: ~/.npm
          key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.os }}-build-${{ env.cache-name }}-
            ${{ runner.os }}-build-
            ${{ runner.os }}-

      - name: Install Dependencies
        run: yarn install

      - name: Lint
        run: yarn lint

      - name: Types
        run: yarn types

      - name: Test
        run: yarn test:ci

      - name: Build
        run: yarn build

      - name: SonarCloud Scan
        uses: SonarSource/sonarcloud-github-action@master
        env:
          SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}

      - uses: actions/setup-node@v4
        with:
          node-version: '16.x'
          registry-url: 'https://registry.npmjs.org'
      - run: yarn publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}