# This workflow will install Python dependencies and run linters for the codebase
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: lint the package

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        python-version: ["3.10.10"]
        lxml-version: ["4.9.1"]

    steps:
    - uses: actions/checkout@v2

    - name: Install lxml dependencies
      run: sudo apt-get install -y libxml2-dev libxslt-dev

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install lxml==${{ matrix.lxml-version }}
        python -m pip install -r dev-requirements.txt
        python -m pip install -r requirements.txt

    - name: Lint
      run: |
        make lint

    - name: Security
      uses: jpetrucciani/bandit-check@master
      with:
        bandit_flags: '-lll'
