Merge pull request #4926 from Netflix/dependabot/pip/paramiko-3.4.1 #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
python-version: [ "3.9", "3.10", "3.11" ] | |
postgres-version: [12, 15] | |
os: [ubuntu-20.04, ubuntu-22.04] | |
include: | |
- python-version: "3.9" | |
toxenv: py39 | |
- python-version: "3.10" | |
toxenv: py310 | |
- python-version: "3.11" | |
toxenv: py311 | |
exclude: | |
- os: ubuntu-20.04 # python 3.10 isn't working on 20.04 due to missing "libldap-2.5.so.0" | |
python-version: "3.10" | |
- os: ubuntu-22.04 # python 3.9 isn't working on 22.04 due to missing "libldap_r-2.4.so.2" | |
python-version: "3.9" | |
fail-fast: false # run all matrix jobs even if one fails, so we know if the problem is version-specific | |
services: | |
postgres: | |
image: postgres:${{ matrix.postgres-version }} | |
env: | |
POSTGRES_USER: lemur | |
POSTGRES_PASSWORD: lemur | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
# Maps tcp port 5432 on service container to the host | |
- 5432:5432 | |
env: | |
TOXENV: ${{ matrix.toxenv }} | |
PIP_DOWNLOAD_CACHE: .pip_download_cache | |
# The following line is a temporary workaround for this issue: https://github.com/pypa/setuptools/issues/2230 | |
SETUPTOOLS_USE_DISTUTILS: stdlib | |
# do not load /etc/boto.cfg with Python 3 incompatible plugin | |
# https://github.com/travis-ci/travis-ci/issues/5246#issuecomment-166460882 | |
BOTO_CONFIG: /doesnotexist | |
# Enable colors in pytest output: https://github.com/pytest-dev/pytest/issues/7443 | |
PY_COLORS: 1 | |
# Enable colors in chalk output: https://github.com/chalk/chalk#chalklevel | |
FORCE_COLOR: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
- name: Set up Node.js 16 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
- name: Install dependencies | |
run: | | |
python -m venv ~/env | |
source ~/env/bin/activate | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade setuptools | |
pip install bandit | |
sudo apt-get update | |
sudo apt-get install libsasl2-dev libldap2-dev xvfb | |
- name: Test | |
run: | | |
python -m venv ~/env | |
source ~/env/bin/activate | |
make test | |
- name: Test JS | |
run: | | |
python -m venv ~/env | |
source ~/env/bin/activate | |
bandit -r . -ll -ii -x lemur/tests/,docs | |
xvfb-run make test-js | |
# todo: re-enable me once https://github.com/coverallsapp/github-action/issues/205 is resolved | |
# - name: Coveralls GitHub Action | |
# uses: coverallsapp/github-action@v2 | |
# with: | |
# parallel: true | |
# flag-name: Python ${{ matrix.python-version }} Postgres ${{ matrix.postgres-version }} OS ${{ matrix.os }} | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# coveralls: | |
# name: Indicate completion to coveralls.io | |
# needs: build | |
# if: ${{ always() }} | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Coveralls Finished | |
# uses: coverallsapp/github-action@v2 | |
# with: | |
# parallel-finished: true |