# Perform CI checks, and calculate code coverage

name: SQLite

on:
  push:
    branches-ignore:
      - l10*

  pull_request:
    branches-ignore:
      - l10*

jobs:

  # Run tests on SQLite database
  # These tests are used for code coverage analysis
  coverage:
    runs-on: ubuntu-latest

    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      INVENTREE_DB_NAME: './test_db.sqlite'
      INVENTREE_DB_ENGINE: django.db.backends.sqlite3
      INVENTREE_DEBUG: info
      INVENTREE_MEDIA_ROOT: ./media
      INVENTREE_STATIC_ROOT: ./static

    steps:
      - name: Checkout Code
        uses: actions/checkout@v2
      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: 3.7
      - name: Install Dependencies
        run: |
          sudo apt-get update
          sudo apt-get install gettext
          pip3 install invoke
          invoke install
          invoke static
      - name: Coverage Tests
        run: |
          invoke coverage
      - name: Data Import Export
        run: |
          invoke migrate
          invoke import-fixtures
          invoke export-records -f data.json
          rm test_db.sqlite
          invoke migrate
          invoke import-records -f data.json
          invoke import-records -f data.json
      - name: Test Translations 
        run: invoke translate
      - name: Check Migration Files
        run: python3 ci/check_migration_files.py
      - name: Upload Coverage Report
        run: coveralls