From 78484adad697293c7567faf4e7a30c425c7855f1 Mon Sep 17 00:00:00 2001 From: unibik Date: Wed, 15 Jan 2025 13:46:49 +0530 Subject: [PATCH 1/2] Added tests for docker Signed-off-by: Arshad --- .github/workflows/main.yml | 39 ++++++++++++++++++++++++++++++++++++-- requirements.txt | 3 +++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4428993e0..cbba9bebe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,5 +1,4 @@ -name: run tests - +name: CI Pipeline on: [push, pull_request] env: @@ -8,6 +7,7 @@ env: DB_PASSWORD: vulnerablecode jobs: + # Original test job build: runs-on: ubuntu-20.04 @@ -56,3 +56,38 @@ jobs: VULNERABLECODE_DB_NAME: ${{ env.DB_NAME }} VULNERABLECODE_DB_USER: ${{ env.DB_USER }} VULNERABLECODE_DB_PASSWORD: ${{ env.DB_PASSWORD }} + + + + # New job for Docker-based tests + docker-tests: + runs-on: ubuntu-20.04 + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build Docker Image + run: docker compose build --no-cache + + - name: Run Tests in Docker Container + run: | + docker compose up -d + docker compose exec vulnerablecode sh -c " + python3 -m venv venv && + chmod +x venv && + . venv/bin/activate && + pip install -r requirements.txt && + make test && " + env: + GH_TOKEN: 1 + POSTGRES_HOST: vulnerablecode-db + POSTGRES_PORT: 5432 + VULNERABLECODE_DB_NAME: ${{ env.DB_NAME }} + VULNERABLECODE_DB_USER: ${{ env.DB_USER }} + VULNERABLECODE_DB_PASSWORD: ${{ env.DB_PASSWORD }} + + - name: Tear Down Docker Environment + if: always() + run: docker compose down --remove-orphans + diff --git a/requirements.txt b/requirements.txt index 347259791..2981b1818 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,6 +22,7 @@ coreapi==2.3.3 coreschema==0.0.4 cryptography==43.0.1 crispy-bootstrap4==2024.1 +cvss cwe2==3.0.0 dateparser==1.1.1 decorator==5.1.1 @@ -30,6 +31,7 @@ distro==1.7.0 Django==4.2.17 django-crispy-forms==2.3 django-environ==0.11.2 +django-extensions==3.2.3 django-filter==24.3 django-widget-tweaks==1.5.0 djangorestframework==3.15.2 @@ -45,6 +47,7 @@ frozenlist==1.3.0 gitdb==4.0.9 GitPython==3.1.41 gunicorn==23.0.0 +htmllistparse idna==3.3 imagesize==1.3.0 importlib-metadata==4.11.3 From dea5ae492f88713e0f7b9f1745479c638f8daf18 Mon Sep 17 00:00:00 2001 From: Arshad Date: Fri, 17 Jan 2025 11:50:47 +0530 Subject: [PATCH 2/2] made changes in docker-tests job Signed-off-by: Arshad --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cbba9bebe..bf8fbfa54 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -78,7 +78,7 @@ jobs: chmod +x venv && . venv/bin/activate && pip install -r requirements.txt && - make test && " + make test " env: GH_TOKEN: 1 POSTGRES_HOST: vulnerablecode-db