Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -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 }}/*
3 changes: 2 additions & 1 deletion Dockerfile.rabbitmq
Original file line number Diff line number Diff line change
@@ -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
Loading