Skip to content
Snippets Groups Projects
Select Git revision
  • e5059568b6b971f6981b454fd71cf211429d418e
  • master default protected
2 results

version.rb

  • gitlab-ci.yml 2.77 KiB
    variables:
      CI: "true"
      RAILS_ENV: test
    
    set_ruby_version:
      stage: build
      script:
        - echo "RUBY_VERSION=$(cat .ruby-version | sed 's/ruby-//g')" >> build.env
      artifacts:
        reports:
          dotenv: build.env
        expire_in: 1 week
    
    rubocop:
      stage: test
      image: ruby:$RUBY_VERSION
      tags:
        - rails
      script:
        - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
        - gem install rubocop:1.65.1 rubocop-capybara:2.21.0 rubocop-minitest:0.35.1 rubocop-performance:1.21.1 rubocop-rails:2.25.1 --silent
        - rubocop
    
    erb_lint:
      stage: test
      image: ruby:$RUBY_VERSION
      tags:
        - rails
      script:
        - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
        - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/erb-lint.yml" -O ".erb-lint.yml"
        - gem install rubocop:1.65.1 rubocop-capybara:2.21.0 rubocop-minitest:0.35.1 rubocop-performance:1.21.1 rubocop-rails:2.25.1 erb_lint:0.6.0 --silent
        - erblint --lint-all --allow-no-files true
    
    haml_lint:
      stage: test
      image: ruby:$RUBY_VERSION
      tags:
        - rails
      script:
        - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
        - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/haml-lint.yml" -O ".haml-lint.yml"
        - gem install rubocop:1.65.1 rubocop-capybara:2.21.0 rubocop-minitest:0.35.1 rubocop-performance:1.21.1 rubocop-rails:2.25.1 haml_lint:0.58.0 --silent
        - haml-lint
    
    brakeman:
      stage: test
      image: ruby:$RUBY_VERSION
      tags:
        - rails
      script:
        - rm -f ./config/brakeman.yml ./config/brakeman.ignore
        - gem install brakeman:6.2.1 --silent
        - brakeman -A --except UnscopedFind
    
    rails_test_all:
      stage: test
      image: ruby:$RUBY_VERSION
      tags:
        - rails
      services:
        - postgres:16.4
        - mariadb:latest
        - name: selenium/standalone-chrome:latest
          alias: chrome
      variables:
        BUNDLE_PATH: vendor/bundle
        SELENIUM_URL: http://chrome:4444/wd/hub
        MYSQL_DATABASE: mysql
        MYSQL_USER: mysql