From e95cbe162ef73ad110c2f06f69e9ddaf47877dc1 Mon Sep 17 00:00:00 2001 From: Daniel Tsonkov Date: Sat, 1 Nov 2025 12:17:38 +0200 Subject: [PATCH 1/4] Add Dockerfile --- Dockerfile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..04ca49e7 --- /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.py"] From b397993380bfc7157420ca4612d5dbc1749f401a Mon Sep 17 00:00:00 2001 From: Daniel Tsonkov Date: Sat, 1 Nov 2025 16:38:12 +0200 Subject: [PATCH 2/4] Add new version of Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 04ca49e7..dc2ad10c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,4 +26,4 @@ USER myuser EXPOSE 5000 # Стартираме приложението -CMD ["python3", "app.py"] +CMD ["python3", "app/app.py"] From 7ae9e64bf5818a760b4b4be3576b823f17292c84 Mon Sep 17 00:00:00 2001 From: daniel-tsonkov Date: Mon, 10 Nov 2025 09:51:47 +0200 Subject: [PATCH 3/4] Add CI workflow for pull requests to main branch --- .github/workflows/main.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..48db2c15 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,17 @@ +name: CI on Pull Request + +on: + pull_request: # Задаваме trigger-а + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Print a message + run: echo "Hello! This workflow runs on every pull request to main" From 9438f8834cb484cd50cfdc8ab8f97dfde3e4153f Mon Sep 17 00:00:00 2001 From: Daniel Tsonkov Date: Mon, 10 Nov 2025 10:40:08 +0200 Subject: [PATCH 4/4] Change workflows main.yaml --- .github/workflows/main.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 48db2c15..e40060a8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,14 +4,20 @@ on: pull_request: # Задаваме trigger-а branches: - main + paths: # Kои файлове trigger-ват workflow-а + - 'app/**/*.py' # само .py файлове в app/ + - '.github/workflows/**' # или при промяна на workflow файловете jobs: - build: + test: runs-on: ubuntu-latest steps: - - name: Checkout repository + - 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"