From 3ff580d1144c856045a7b2329239c1198ed08808 Mon Sep 17 00:00:00 2001 From: Obada Haddad Date: Thu, 13 Nov 2025 09:06:48 +0100 Subject: [PATCH 1/4] Bumped RabbitMQ docker image version to latest --- Dockerfile.rabbitmq | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile.rabbitmq b/Dockerfile.rabbitmq index 106c81022..29314380a 100644 --- a/Dockerfile.rabbitmq +++ b/Dockerfile.rabbitmq @@ -1,3 +1,4 @@ -FROM rabbitmq:3.13.7-management +FROM rabbitmq:4.2.0-management + ARG WORKER_CONNECTION_TIMEOUT RUN echo "consumer_timeout = $WORKER_CONNECTION_TIMEOUT" >> /etc/rabbitmq/conf.d/10-defaults.conf From 4ddf97303328c83bdb823e4d0bd3b1e79c6400b3 Mon Sep 17 00:00:00 2001 From: Obada Haddad Date: Fri, 21 Nov 2025 12:05:07 +0100 Subject: [PATCH 2/4] changed workflow to use github --- .github/workflows/test.yml | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..1cf29dc9d --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,56 @@ +name: build_and_test +on: [push] +jobs: + build: + name: Build necessary services + runs-on: self-hosted + steps: + - name: Check out repository code + uses: actions/checkout@v5 + - name: "Setup: Copy environment variables" + run: cp .env_circleci .env + - name: "Setup: Create directories for MinIO (cannot be made by docker for some reason)" + run: | + mkdir -p var/minio/public + mkdir -p var/minio/private + - name: "Docker: Build containers and collect static files" + run: | + docker compose -f docker-compose.yml -f docker-compose.selenium.yml up -d + docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django python manage.py collectstatic --noinput + docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django python manage.py migrate + docker compose -f docker-compose.yml exec django python ./manage.py createsuperuser --no-input + - name: "Docker: Pull required images" + run: | + docker pull codalab/codalab-legacy:py37 + docker pull codalab/codalab-legacy:py3 + linter: + name: Flake8 linter + runs-on: self-hosted + needs: [build] + steps: + - name: "Lint: Check code style with flake8" + run: docker compose exec django flake8 src/ + unit_tests: + name: Unit test with Selenium + runs-on: self-hosted + needs: [linter, build] + steps: + - name: "Tests: Run unit/integration tests (excluding e2e)" + run: docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django py.test src/ -m "not e2e" + e2e: + name: End to End tests with Playwright + runs-on: self-hosted + needs: [linter, build] + steps: + - name: "Tests: Run end-to-end (E2E) tests" + run: docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django py.test src/tests/functional/ -m e2e + cleanup: + name: Cleanup + runs-on: self-hosted + if: ${{ always() }} + needs: [unit_tests, e2e, linter] + steps: + - name: Cleanup + run: | + docker compose -f docker-compose.yml -f docker-compose.selenium.yml down --rmi all + rm -rf ${{ github.workspace }}/* From 081ca1df5065ad5cbd76836adea851bfb0ecd956 Mon Sep 17 00:00:00 2001 From: Obada Haddad Date: Fri, 21 Nov 2025 12:17:10 +0100 Subject: [PATCH 3/4] workflow fix --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1cf29dc9d..cc4f087e8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: docker compose -f docker-compose.yml -f docker-compose.selenium.yml up -d docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django python manage.py collectstatic --noinput docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django python manage.py migrate - docker compose -f docker-compose.yml exec django python ./manage.py createsuperuser --no-input + #docker compose -f docker-compose.yml exec django python ./manage.py createsuperuser --no-input - name: "Docker: Pull required images" run: | docker pull codalab/codalab-legacy:py37 From 18cfe26db612763377dd409d1dba73f8749f685a Mon Sep 17 00:00:00 2001 From: Obada Haddad Date: Thu, 18 Dec 2025 14:10:10 +0100 Subject: [PATCH 4/4] remove useless test workflow file --- .github/workflows/test.yml | 56 -------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index cc4f087e8..000000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: build_and_test -on: [push] -jobs: - build: - name: Build necessary services - runs-on: self-hosted - steps: - - name: Check out repository code - uses: actions/checkout@v5 - - name: "Setup: Copy environment variables" - run: cp .env_circleci .env - - name: "Setup: Create directories for MinIO (cannot be made by docker for some reason)" - run: | - mkdir -p var/minio/public - mkdir -p var/minio/private - - name: "Docker: Build containers and collect static files" - run: | - docker compose -f docker-compose.yml -f docker-compose.selenium.yml up -d - docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django python manage.py collectstatic --noinput - docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django python manage.py migrate - #docker compose -f docker-compose.yml exec django python ./manage.py createsuperuser --no-input - - name: "Docker: Pull required images" - run: | - docker pull codalab/codalab-legacy:py37 - docker pull codalab/codalab-legacy:py3 - linter: - name: Flake8 linter - runs-on: self-hosted - needs: [build] - steps: - - name: "Lint: Check code style with flake8" - run: docker compose exec django flake8 src/ - unit_tests: - name: Unit test with Selenium - runs-on: self-hosted - needs: [linter, build] - steps: - - name: "Tests: Run unit/integration tests (excluding e2e)" - run: docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django py.test src/ -m "not e2e" - e2e: - name: End to End tests with Playwright - runs-on: self-hosted - needs: [linter, build] - steps: - - name: "Tests: Run end-to-end (E2E) tests" - run: docker compose -f docker-compose.yml -f docker-compose.selenium.yml exec django py.test src/tests/functional/ -m e2e - cleanup: - name: Cleanup - runs-on: self-hosted - if: ${{ always() }} - needs: [unit_tests, e2e, linter] - steps: - - name: Cleanup - run: | - docker compose -f docker-compose.yml -f docker-compose.selenium.yml down --rmi all - rm -rf ${{ github.workspace }}/*