name: Run Unit Tests

on: [push, pull_request]

jobs:
  unit-test:
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        python-version: ['2.x', '3.x']
    name: Python ${{ matrix.python-version }} test
    steps:
    - uses: actions/checkout@v3
    - name: Set up Python
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}
    - name: Set up dependencies for python-ldap
      run: sudo apt-get install libsasl2-dev libldap2-dev libssl-dev
    - name: Base requirements for SSM
      run: pip install -r requirements.txt
    - name: Additional requirements for the unit and coverage tests
      run: pip install -r requirements-test.txt
    - name: Pre-test set up
      run: |
        export TMPDIR=$PWD/tmp
        mkdir $TMPDIR
        export PYTHONPATH=$PYTHONPATH:`pwd -P`
        cd test
    - name: Run unit tests
      run: coverage run --branch --source=ssm,bin -m unittest discover --buffer
    - name: Upload coverage to Codecov
      uses: codecov/codecov-action@v3.1.0

name: Run Unit Tests

on: [push, pull_request]

jobs:
  unit-test:
    runs-on: ubuntu-18.04
    strategy:
      fail-fast: false
      matrix:
        python-version: ['2.x', '3.x']
    name: Python ${{ matrix.python-version }} test
    steps:
    - uses: actions/checkout@v3
    - name: Set up Python
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}
    - name: Set up dependencies for python-ldap
      run: sudo apt-get install libsasl2-dev libldap2-dev libssl-dev
    - name: Base requirements for SSM
      run: pip install -r requirements.txt
    - name: Additional requirements for the unit and coverage tests
      run: pip install -r requirements-test.txt
    - name: Pre-test set up
      run: |
        export TMPDIR=$PWD/tmp
        mkdir $TMPDIR
        export PYTHONPATH=$PYTHONPATH:`pwd -P`
        cd test
    - name: Run unit tests
      run: coverage run --branch --source=ssm,bin -m unittest discover --buffer
    - name: Upload coverage to Codecov
      uses: codecov/codecov-action@v3.1.0

Set GH Action unit test matrix to not fail fast
Set GH Action unit test matrix to not fail fast

- This means that every job will run, whatever the result of any other.
