packmate/.gitlab-ci.yml

107 lines
2.6 KiB
YAML

stages:
- test
- build
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