diff --git a/rails/gitlab-ci-for-gem.yml b/rails/gitlab-ci-for-gem.yml new file mode 100644 index 0000000000000000000000000000000000000000..95812d6b08c85dae6b0c3774d74ed4d7573ec339 --- /dev/null +++ b/rails/gitlab-ci-for-gem.yml @@ -0,0 +1,57 @@ +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: + - gem + 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.5 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.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent + - rubocop + +erb_lint: + stage: test + image: ruby:$RUBY_VERSION + tags: + - gem + 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.5 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.4 --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: + - gem + 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.5 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.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent + - haml-lint + +test: + stage: test + image: ruby:$RUBY_VERSION + tags: + - gem + script: + - gem install bundler --silent + - bundle install --jobs $(nproc) --quiet + - rake test