include: - project: "famedly/company/frontend/ci-templates" ref: main file: "/all.yml" workflow: rules: - if: $CI_MERGE_REQUEST_IID - if: $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH variables: FLUTTER_IMAGE_TAG: "3.0.5" coverage: stage: test image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/flutter-linux/stable:${FLUTTER_IMAGE_TAG} dependencies: [] script: - sed -i 's/#\([^ ]\)/\1/g' pubspec.yaml - rm -r example - ./scripts/prepare.sh - ./scripts/test.sh coverage: /^\s*lines\.*:\s*\d+.\d+\%/ artifacts: when: always paths: - coverage/ - coverage.xml - TEST-report.xml reports: coverage_report: coverage_format: cobertura path: coverage.xml junit: TEST-report.xml coverage_without_olm: stage: test image: dart dependencies: [] variables: NO_OLM: 1 before_script: - apt-get update && apt-get install --no-install-recommends --no-install-suggests -y curl lcov python3 python3-distutils - curl -o /bin/lcov_cobertura.py https://raw.githubusercontent.com/eriwen/lcov-to-cobertura-xml/master/lcov_cobertura/lcov_cobertura.py && sed 's/env python/env python3/' -i /bin/lcov_cobertura.py && chmod +x /bin/lcov_cobertura.py script: - dart pub get - ./scripts/test.sh #coverage: /^\s*lines\.*:\s*\d+.\d+\%/ <- broken see https://github.com/dart-lang/test/issues/1698 artifacts: when: always paths: #- coverage/ #- coverage.xml - TEST-report.xml reports: #coverage_report: # coverage_format: cobertura # path: coverage.xml junit: TEST-report.xml e2ee_test: stage: test image: name: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/flutter/stable:${FLUTTER_IMAGE_TAG} pull_policy: if-not-present services: - name: docker:dind alias: docker variables: # activate container-to-container networking FF_NETWORK_PER_BUILD: "true" # Tell docker CLI how to talk to Docker daemon. DOCKER_HOST: tcp://docker:2375/ # Use the overlayfs driver for improved performance. DOCKER_DRIVER: overlay2 # Disable TLS since we're running inside local network. DOCKER_TLS_CERTDIR: "" HOMESERVER: docker dependencies: [] parallel: matrix: - HOMESERVER_IMPLEMENTATION: - synapse - dendrite - conduit before_script: - scripts/integration-prepare-alpine.sh # deploy homeserver instance - scripts/integration-server-$HOMESERVER_IMPLEMENTATION.sh script: # create test user environment variables - source scripts/integration-create-environment-variables.sh # properly set the homeserver IP and create test users - scripts/integration-prepare-homeserver.sh # setup OLM - scripts/prepare.sh - scripts/test_driver.sh timeout: 10m dry-run: stage: deploy image: dart script: - dart pub get - dart pub publish --dry-run pub-dev: stage: deploy image: dart dependencies: [dry-run] script: - | if [ -z "${PUB_DEV_CREDENTIALS}" ]; then echo "Missing PUB_DEV_CREDENTIALS environment variable" exit 1 fi mkdir -p ~/.config/dart/ cp "${PUB_DEV_CREDENTIALS}" ~/.config/dart/pub-credentials.json - dart pub get - dart pub publish --force rules: - if: $CI_COMMIT_TAG