name: CD Build

on:
  push:
    branches: [ master, next, beta, alpha ]

jobs:
  build:
    if: "!contains(github.event.head_commit.message, 'skip ci')"
    runs-on: ubuntu-20.04

    strategy:
      matrix:
        node-version: [16.x]

    steps:
    - name: Checkout repository
      uses: actions/checkout@v3
      with:
        persist-credentials: false

    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v3
      with:
        node-version: ${{ matrix.node-version }}

    - name: Install Packages
      run: npm ci

    - name: Installing dependencies
      run: npm i --ignore-scripts

    - name: Build Step
      env:
        CI: ""
      run: npm run build --if-present

    - name: Running Linter - ESLint
      run: npm run lint

    - name: Run Semantic Release
      run: npx semantic-release
      env:
        GH_TOKEN: ${{ secrets.GH_TOKEN }}
        NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
