.gitlab-ci.yml

Summary

Maintainability
Test Coverage
image: gitlab.fit.cvut.cz:5000/ict/alpine-docker-images/ci:3.11

stages:
  - test
  - package

before_script:
  - apk add build-base git postgresql-dev ruby ruby-dev ruby-bigdecimal ruby-json ruby-bundler tzdata
  - bundle install --path .cache/bundler --without development doc --jobs=3 --retry=3

test:
  stage: test
  cache:
    key: "$CI_COMMIT_REF_SLUG"  # per-branch cache
    paths:
      - .cache/
  services:
    - postgres:13.3-alpine
    - elasticsearch:1.7.5
  variables:
    POSTGRES_USER: postgres
    POSTGRES_PASSWORD: postgres
    DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL: 'true'
  script:
    - while read line; do export $line; done < .env.test
    - bundle exec rake --trace db:setup
    - bundle exec rake spec

package:
  stage: package
  cache: {}
  before_script:
    - apk add alpine-make-rootfs git sudo
  script:
    - IMAGE_NAME="sirius-$(date +%Y%m%d)-$CI_JOB_ID-$(git rev-parse --short HEAD)"
    - alpine-make-rootfs
        --branch v3.11
        --timezone Europe/Prague
        --script-chroot
        dist/$IMAGE_NAME.tar.gz
        setup-image.sh
  artifacts:
    paths: [ dist/*.tar.gz ]
    expire_in: 2 weeks