Skip to content
Snippets Groups Projects
Select Git revision
  • 071724177caa0bb13cac16e7db054029d0852d26
  • main default protected
2 results

gitlab-ci.yml

Blame
  • gitlab-ci.yml 3.09 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.75.2 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 --silent
        - gem install itc-gem_rubocop:0.1.1 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --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.75.2 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 erb_lint:0.9.0 --silent
        - gem install itc-gem_rubocop:0.1.1 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
        - erb_lint --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.75.2 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 haml_lint:0.62.0 --silent
        - gem install itc-gem_rubocop:0.1.1 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
        - haml-lint
    
    brakeman:
      stage: test
      image: ruby:$RUBY_VERSION
      tags:
        - rails
      script:
        - rm -f ./config/brakeman.yml ./config/brakeman.ignore
        - gem install brakeman:7.0.2 --silent
        - brakeman -A --except UnscopedFind --no-prism
    
    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