Skip to content

Merge branch 'main' of https://github.com/nielsweistra/NO.FastAPI.Demo #54

Merge branch 'main' of https://github.com/nielsweistra/NO.FastAPI.Demo

Merge branch 'main' of https://github.com/nielsweistra/NO.FastAPI.Demo #54

Workflow file for this run

name: Docker Image CI
on:
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'information'
type: choice
options:
- information
- debug
- warning
- critical
tags:
description: 'Purpose of Run This Workflow?'
required: true
type: string
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
# Check out the repository
- uses: actions/checkout@v4
# Set up Python environment
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x' # Specify the Python version (e.g., 3.8, 3.9, etc.)
- name: Run Bandit Security Scan
run: |
pip install bandit
bandit ./app -r -x ./app/tests/
# - name: Run Semgrep
# run: |
# pip install semgrep
# semgrep --config p/ci ./app
# - name: Run Safety Security Check
# run: |
# pip install safety
# safety check --full-report
# Install dependencies
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest black # Add your project's dependencies as well
pip install --no-cache-dir --upgrade -r requirements.txt
# Lint with Flake8
- name: Lint with flake8
continue-on-error: true # Continue even if this step fails
run: |
flake8 --ignore=E302 --verbose ./app # Lints the code in the current directory
# Run tests with pytest
- name: Test with pytest
continue-on-error: true # Continue even if this step fails
run: |
pytest ./app # Runs all the tests in the project
# Format code with Black (optional)
- name: Check code formatting with Black
continue-on-error: true # Continue even if this step fails
run: |
black --check ./app # Checks if the code is formatted according to Black
# Build the Docker image (only runs if the previous steps pass)
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)