name: Node.js CI

on: [push, pull_request]

jobs:
  build:
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os:
          - ubuntu-latest
        node:
          - 14
          - 8.17.0
        splunk-version:
          - "8.2"
          - "latest"

    services:
      splunk:
        image: splunk/splunk:${{matrix.splunk-version}}
        env:
          SPLUNK_START_ARGS: --accept-license
          SPLUNK_HEC_TOKEN: 11111111-1111-1111-1111-1111111111113
          SPLUNK_PASSWORD: changed!
          SPLUNK_APPS_URL: https://github.com/splunk/sdk-app-collection/releases/download/v1.1.0/sdkappcollection.tgz
        ports:
          - 8000:8000
          - 8088:8088
          - 8089:8089

    steps:
      - uses: actions/checkout@v2

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

      - name: Create .splunkrc file
        run: |
          cd ~
          echo host=localhost > .splunkrc
          echo port=8089 >> .splunkrc
          echo username=admin >> .splunkrc
          echo password=changed! >> .splunkrc
          echo scheme=https >> .splunkrc
          echo version=${{ matrix.splunk }} >> .splunkrc

      - name: Run npm install
        run: npm install

      - name: Run make test
        run: make test
        env:
          SPLUNK_HOME: /opt/splunk
  fossa-scan:
    uses: splunk/oss-scanning-public/.github/workflows/oss-scan.yml@main
    secrets: inherit
