gilbarbara/react-range-slider

View on GitHub
.github/workflows/main.yml

Summary

Maintainability
Test Coverage
name: CI

on:
  push:
    branches:
      - main
    tags:
      - 'v*'
  pull_request:
    branches: ['*']

  workflow_dispatch:

concurrency:
  group: ${{ github.ref }}
  cancel-in-progress: true

jobs:
  main:
    name: Validate and Deploy
    runs-on: ubuntu-latest

    env:
      CI: true

    steps:
      - name: Setup timezone
        uses: zcong1993/setup-timezone@master
        with:
          timezone: America/Sao_Paulo

      - name: Setup repo
        uses: actions/checkout@v2

      - name: Setup Node
        uses: actions/setup-node@v1
        with:
          node-version: '14.x'
          registry-url: 'https://registry.npmjs.org'

      - name: Cache Packages
        id: cache
        uses: actions/cache@v2
        with:
          path: ~/.npm
          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.os }}-node-
        timeout-minutes: 1

      - name: Install Packages
        run: npm ci
        timeout-minutes: 3

      - name: Validate
        if: "!startsWith(github.ref, 'refs/tags/')"
        run: npm run validate
        timeout-minutes: 3

      - name: Publish code coverage
        if: "!startsWith(github.ref, 'refs/tags/')"
        uses: paambaati/codeclimate-action@v3.0.0
        env:
          CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}

      - name: Publish Package
        if: startsWith(github.ref, 'refs/tags/')
        run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}