name: Package CLI
on:
  pull_request:
    types: [opened, edited, reopened, synchronize]
  push:
    branches-ignore:
      - 'gh-pages'
      - 'dependabot/**'

# Smoke test (render a badge with the CLI) with only the package
# dependencies installed.

jobs:
  test-package-cli:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        include:
          - node: '14'
            engine-strict: 'false'
          - node: '16'
            engine-strict: 'false'
          - node: '18'
            engine-strict: 'true'
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Install Node JS ${{ inputs.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node }}

      - name: Install dependencies
        env:
          CYPRESS_INSTALL_BINARY: 0
          NPM_CONFIG_ENGINE_STRICT: ${{ matrix.engine-strict }}
        run: |
          cd badge-maker
          npm install
          npm link

      - name: Render a badge with the CLI
        run: |
          cd badge-maker
          badge cactus grown :green @flat
