Skip to content

Dev marshal rrt 2965 #93

Dev marshal rrt 2965

Dev marshal rrt 2965 #93

name: Notification Manager CI
on:
pull_request:
branches:
- main
- dev
- dev-marshal
- test-marshal
- dev-rook
- test-rook
paths:
- "notification-manager/**"
defaults:
run:
shell: bash
working-directory: ./notification-manager
jobs:
docker-build-check:
runs-on: ubuntu-20.04
name: Build dockerfile to ensure it works
steps:
- uses: actions/checkout@v2
- name: docker build to check strictness
id: docker-build
run: |
docker build -f dockerfile.local .
python-build-check:
runs-on: ubuntu-20.04
name: Build python to ensure it works
strategy:
matrix:
# python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [3.9]
steps:
- uses: actions/checkout@v2
- 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
pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
# Pytest currently not working, as it requires DB migrations run first and container is ephemeral
# pytest:
# runs-on: ubuntu-20.04
# # needs: python-build-check
# name: Run pytest
# strategy:
# matrix:
# # python-version: [3.6, 3.7, 3.8, 3.9]
# python-version: [3.9]
# # # Service containers to run with `container-job`
# services:
# # Label used to access the service container
# postgres:
# # Docker Hub image
# image: postgres
# # Provide the password for postgres
# env:
# POSTGRES_PASSWORD: postgres
# # Set health checks to wait until postgres has started
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# steps:
# - uses: actions/checkout@v2
# - 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
# pip install flake8 pytest
# if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
# # - name: Lint with flake8
# # run: |
# # # stop the build if there are Python syntax errors or undefined names
# # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# # # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
# # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
# - name: Test with pytest
# run: |
# cd tests && pytest
# env:
# DATABASE_USERNAME: postgres
# DATABASE_PASSWORD: postgres
# DATABASE_NAME: postgres
# DATABASE_HOST: postgres
# DATABASE_PORT: 5432
# FLASK_ENV: development
# Currently not working, unable to connect to postgres.
# python-build-and-run-migrations:
# runs-on: ubuntu-20.04
# # needs: python-build-check
# name: Python build and run migrations
# strategy:
# matrix:
# # python-version: [3.6, 3.7, 3.8, 3.9]
# python-version: [3.9]
# # # Service containers to run with `container-job`
# services:
# # Label used to access the service container
# postgres:
# # Docker Hub image
# image: postgres
# # Provide the password for postgres
# env:
# POSTGRES_PASSWORD: Fo!123
# POSTGRES_USER: postuser
# # Set health checks to wait until postgres has started
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# steps:
# - uses: actions/checkout@v2
# - 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
# pip install flake8 pytest
# if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
# # - name: Lint with flake8
# # run: |
# # # stop the build if there are Python syntax errors or undefined names
# # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# # # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
# # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
# - name: Run migrations on postgresql container
# run: |
# python manage.py db upgrade && flask run -h 0.0.0.0 -p 5000
# env:
# DATABASE_USERNAME: postuser
# DATABASE_PASSWORD: Fo!123
# DATABASE_NAME: postgres
# DATABASE_HOST: localhost
# DATABASE_PORT: 5432
# FLASK_ENV: development