.gitlab-ci.yml
# Basado entre otros en: https://dev.to/mpressen/rails-minitest-gitlab-ci-31ap
image: "ruby:3.0.2"
services:
- name: vtamara/postgis-es_co:13.3-1
alias: postgres
variables:
RAILS_ENV: test
POSTGRES_ENABLED: "true"
POSTGRES_USER: runner
POSTGRES_PASSWORD: ""
POSTGRES_DB: cor1440gen_pru
POSTGRES_HOST_AUTH_METHOD: trust
NOKOGIRI_USE_SYSTEM_LIBRARIES: "true"
CC_TEST_REPORTER_ID: "a8377997283a7b4d3db74d4e716b3182011b592a071fd2374482c2ffdc8808d9"
stages:
- test
test:
stage: test
cache:
paths:
- apt-cache
- node_modules
- vendor/bundle
before_script:
- uname -a
- whoami
- echo "HOME=${HOME}"
- pwd
- which ruby
- ruby -v
- export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
- apt-get update -yy && apt-get install build-essential libpq-dev postgresql-client lsb-release libreoffice -y
- lsb_release --all
- curl -fsSL https://deb.nodesource.com/setup_16.x | bash - # https://www.linuxcapable.com/how-to-install-node-js-14-lts-16-npm-on-debian-11-bullseye/
- apt install -y -qq nodejs
- node -v
- curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
- echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
- apt-get update -qq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -yqq yarn
- gem install bundler --no-document
- bundle install --jobs $(nproc) "${FLAGS[@]}"
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
- chmod +x ./cc-test-reporter
- ./cc-test-reporter before-build
- cd test/dummy
- cp .env.gitlab .env
- cp db/structure.sql db/structure.sql.copia
- sed -e 's/provider = libc,//g;s/SET default_table_access_method.*/-- &/g' db/structure.sql.copia > db/structure.sql
- bin/rails db:drop db:create db:setup
- bin/rails msip:indices
- yarn install
- bin/rails msip:stimulus_motores
- bin/rails assets:precompile
- cd ../..
script:
- CONFIG_HOSTS=www.example.com bin/rails test
- ./cc-test-reporter after-build -t simplecov --exit-code $?
sast:
stage: test
include:
- template: Security/SAST.gitlab-ci.yml