Skip to content

adjust yaml

adjust yaml #14

Workflow file for this run

name: Pylint and API Testing
on:
push:
branches: [Milestone-5_feature_branch]
jobs:
test-and-lint:
runs-on: ubuntu-latest # Ensure using a runner with Docker installed
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10"]
steps:
# Checkout code
- uses: actions/checkout@v2
# Set up Python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
# Install everything
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pylint flask flask_cors flasgger pytest requests
# Analyze code with pylint
- name: Analyze code with pylint
run: |
pylint $(git ls-files '*.py')
# Build Docker Image for API
- name: Build API Docker Image
run: |
docker build -t api-image -f ./docker/dockerfile .
# Start Container
- name: Start API Container
run: |
docker run -d -p 5000:5000 --name api-container api-image
# Start the API Service & Run All Tests
- name: Run all Python tests in directory
run: |
docker exec api-container pytest $(find . -name 'test_*.py')
# End the testing
- name: Stop and Remove API Container
run: |
docker stop api-container
docker rm api-container