diff --git a/rails/gitlab-ci.yml b/rails/gitlab-ci.yml index d3981bb0d27d41e9d3c0f33edc48c59593d84b58..1c044852297ec194f9264b31e0efcc8ef0e5d84a 100644 --- a/rails/gitlab-ci.yml +++ b/rails/gitlab-ci.yml @@ -1,7 +1,6 @@ variables: CI: "true" RAILS_ENV: test - BUNDLE_PATH: vendor/bundle set_ruby_version: stage: build @@ -17,82 +16,42 @@ rubocop: image: ruby:$RUBY_VERSION tags: - rails - cache: - when: always - paths: - - vendor/bundle - before_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 bundler --silent - - bundle add --skip-install --group=test --version=1.65.1 rubocop - - bundle add --skip-install --group=test --version=2.21.0 rubocop-capybara - - bundle add --skip-install --group=test --version=0.35.1 rubocop-minitest - - bundle add --skip-install --group=test --version=1.21.1 rubocop-performance - - bundle add --skip-install --group=test --version=2.25.1 rubocop-rails - - bundle install --jobs $(nproc) --quiet script: - - bundle exec rubocop + - 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 - cache: - when: always - paths: - - vendor/bundle - before_script: + 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 bundler --silent - - bundle add --skip-install --group=test --version=1.65.1 rubocop - - bundle add --skip-install --group=test --version=2.21.0 rubocop-capybara - - bundle add --skip-install --group=test --version=0.35.1 rubocop-minitest - - bundle add --skip-install --group=test --version=1.21.1 rubocop-performance - - bundle add --skip-install --group=test --version=2.25.1 rubocop-rails - - bundle install --jobs $(nproc) --quiet - script: - - bundle exec erblint --lint-all --allow-no-files true + - 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 - cache: - when: always - paths: - - vendor/bundle - before_script: + 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 bundler --silent - - bundle add --skip-install --group=test --version=1.65.1 rubocop - - bundle add --skip-install --group=test --version=2.21.0 rubocop-capybara - - bundle add --skip-install --group=test --version=0.35.1 rubocop-minitest - - bundle add --skip-install --group=test --version=1.21.1 rubocop-performance - - bundle add --skip-install --group=test --version=2.25.1 rubocop-rails - - bundle install --jobs $(nproc) --quiet - script: - - bundle exec haml-lint + - 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 - cache: - when: always - paths: - - vendor/bundle - before_script: - - rm -f ./config/brakeman.yml ./config/brakeman.ignore - - gem install bundler - - bundle add --skip-install --group=test --version=6.2.1 brakeman - - bundle install --jobs $(nproc) --quiet script: - - bundle exec brakeman -A --except UnscopedFind + - rm -f ./config/brakeman.yml ./config/brakeman.ignore + - gem install brakeman:6.2.1 --silent + - brakeman -A --except UnscopedFind rails_test_all: stage: test @@ -105,6 +64,7 @@ rails_test_all: - 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 @@ -116,7 +76,7 @@ rails_test_all: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_URL: "postgresql://postgres:postgres@postgres:5432" - cache: + cache when: always paths: - vendor/bundle @@ -126,8 +86,7 @@ rails_test_all: - tmp/screenshots - log/test.log expire_in: 1 week - before_script: + script: - gem install bundler --silent - bundle install --jobs $(nproc) --quiet - script: - - bundle exec bin/rails db:prepare test:all + - bin/rails db:prepare test:all