stages: - test - build mcp-tests: image: python:3.12-slim stage: test script: - pip install --require-hashes -r mcp/requirements.txt - cd mcp && python -m unittest discover -s tests -p 'test_*.py' -v backend-tests: image: eclipse-temurin:17-jdk stage: test variables: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" GIT_SUBMODULE_STRATEGY: normal DOCKER_API_VERSION: "1.44" services: - name: docker:29-dind alias: docker before_script: - chmod +x gradlew script: - ./gradlew --no-daemon test stressTest bootJar rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG' network-stress: image: docker:29-cli stage: test timeout: 1h variables: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" GIT_SUBMODULE_STRATEGY: normal services: - name: docker:29-dind alias: docker script: - sh stress/network/run.sh artifacts: when: always expire_in: 14 days paths: - build/reports/network-stress/ rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' when: manual allow_failure: true - if: '$CI_COMMIT_BRANCH || $CI_COMMIT_TAG' when: manual allow_failure: true network-smoke: image: docker:29-cli stage: test timeout: 30m variables: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" GIT_SUBMODULE_STRATEGY: normal PACKMATE_NETWORK_STRESS_STREAMS: "1000" PACKMATE_NETWORK_STRESS_LIVE_STREAMS: "200" PACKMATE_NETWORK_STRESS_SHARDS: "4" PACKMATE_NETWORK_STRESS_CONCURRENCY: "32" PACKMATE_NETWORK_STRESS_FAVORITE_STREAMS: "10" PACKMATE_NETWORK_STRESS_MIN_STREAMS_PER_SECOND: "5" PACKMATE_NETWORK_STRESS_MIN_CLEANUP_STREAMS_PER_SECOND: "20" PACKMATE_NETWORK_STRESS_MAX_CAPTURE_QUEUE: "50000" PACKMATE_NETWORK_STRESS_JAVA_MAX_HEAP: "2g" services: - name: docker:29-dind alias: docker script: - sh stress/network/run.sh artifacts: when: always expire_in: 14 days paths: - build/reports/network-stress/ rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG' docker-build: image: docker:latest stage: build variables: GIT_SUBMODULE_STRATEGY: normal services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - touch .env - | if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then # master export BUILD_TAG=latest echo "Running on default branch '$CI_DEFAULT_BRANCH'" else # tag export BUILD_TAG="$CI_COMMIT_TAG" echo "Running on tag = $BUILD_TAG" fi - docker compose build - docker compose push only: - master - tags