name: Tests
on:
  push:
  workflow_dispatch:
env:
  DEBIAN_FRONTEND: noninteractive

jobs:
  test:
    runs-on: ubuntu-22.04
    env:
      SECCERTS_NVD_API_KEY: ${{ secrets.NVD_API_KEY }}
    steps:
      - name: apt-get update
        run: sudo apt-get update
      - name: Install Poppler
        run: sudo apt-get install -y build-essential libpoppler-cpp-dev pkg-config python3-dev
      - uses: actions/checkout@v4
      - name: Setup python
        uses: actions/setup-python@v5
        with:
          python-version: "3.10"
          cache: "pip"
          cache-dependency-path: |
            requirements/test_requirements.txt
      - name: Install python dependencies
        run: |
          pip install -r requirements/test_requirements.txt
      - name: Install sec-certs
        run: |
          pip install -e .
          python -m spacy download en_core_web_sm
      - name: Run tests
        run: pytest --cov=sec_certs tests
      - name: Code coverage upload
        uses: codecov/codecov-action@v4
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
