diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..e40060a8 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,23 @@ +name: CI on Pull Request + +on: + pull_request: # Задаваме trigger-а + branches: + - main + paths: # Kои файлове trigger-ват workflow-а + - 'app/**/*.py' # само .py файлове в app/ + - '.github/workflows/**' # или при промяна на workflow файловете + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Print a message + run: echo "Hello! This workflow runs on every pull request to main" + + - name: Run tests + run: echo "This runs only if Python files were changed in app/ folder" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..dc2ad10c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +# Използваме Ubuntu 22.04 като база +FROM ubuntu:22.04 + +# Обновяваме системата и инсталираме Python + pip +RUN apt-get update && \ + apt-get install -y python3 python3-pip && \ + rm -rf /var/lib/apt/lists/* + +# Задаваме работна директория +WORKDIR /app + +# Копираме файла с зависимостите +COPY requirements.txt . + +# Инсталираме зависимостите +RUN pip install --no-cache-dir -r requirements.txt + +# Копираме останалия код +COPY . . + +# Създаваме non-root потребител +RUN useradd -ms /bin/bash myuser +USER myuser + +# Експонираме порт 5000 +EXPOSE 5000 + +# Стартираме приложението +CMD ["python3", "app/app.py"]