name: 'Continuous Integrations'

on: push

jobs:
  clean:
    name: 'Clean for build'
    runs-on: 'ubuntu-latest'
    steps:
      - name: 'Checkout the repository'
        uses: 'actions/checkout@v3'

      - name: 'Setup Node.js and Yarn'
        uses: './.github/actions/setup'

      - name: 'Execute the clean script'
        uses: 'borales/actions-yarn@v4'
        with:
          cmd: clean

  lint:
    name: 'Run ESLint and Prettier'
    runs-on: 'ubuntu-latest'
    steps:
      - name: 'Checkout the repository'
        uses: 'actions/checkout@v3'

      - name: 'Setup Node.js and Yarn'
        uses: './.github/actions/setup'

      - name: 'Execute the lint script'
        uses: 'borales/actions-yarn@v4'
        with:
          cmd: lint


  test:
    name: 'Run unit tests with Jest'
    runs-on: 'ubuntu-latest'
    steps:
      - name: 'Checkout the repository'
        uses: 'actions/checkout@v3'

      - name: 'Setup Node.js and Yarn'
        uses: './.github/actions/setup'

      - name: 'Execute the test script'
        uses: 'borales/actions-yarn@v4'
        with:
          cmd: test

  bundle:
    name: 'Bundle package with Rollup.js'
    runs-on: 'ubuntu-latest'
    steps:
      - name: 'Checkout the repository'
        uses: 'actions/checkout@v3'

      - name: 'Setup Node.js and Yarn'
        uses: './.github/actions/setup'

      - name: 'Execute the build script'
        uses: 'borales/actions-yarn@v4'
        with:
          cmd: build
