Compare commits

...

11 Commits

Author SHA1 Message Date
55900c3df9 chore: add github actions
All checks were successful
Run tests / test (push) Successful in 10m21s
Code Quality / format (push) Successful in 10m25s
Code Quality / lint (push) Successful in 9m55s
2025-09-09 13:33:27 +02:00
b76e4adbf7 chore: format project
All checks were successful
Code Quality / format (push) Successful in 10m2s
Run tests / test (push) Successful in 9m58s
Code Quality / lint (push) Successful in 10m5s
2025-09-03 15:50:18 +02:00
4a63b5a61c chore: add CHANGELOG.md file 2025-09-03 15:50:04 +02:00
31e63f3ada fixes
All checks were successful
Run tests / test-project (push) Successful in 1m4s
2025-09-03 12:10:45 +02:00
1758651b9e chore: add missing .ruby-version
Some checks failed
Run tests / test-project (push) Failing after 58s
2025-09-03 12:08:33 +02:00
b0b897152f fix: add missing version for ruby action
Some checks failed
Run tests / test-project (push) Failing after 36s
2025-09-03 12:05:16 +02:00
902b185d96 chore: add tests workflow
Some checks failed
Run tests / test-project (push) Failing after 3s
2025-09-03 12:03:22 +02:00
3317aa6bf9 chore: add rubocop 2025-08-30 06:55:46 +02:00
3cc545bb8c docs: update README 2025-08-27 08:09:05 +02:00
0fd2b75e60 chore: add Rakefile 2025-08-27 08:08:36 +02:00
189b88e7b1 chore: rename tests 2025-08-27 08:08:27 +02:00
14 changed files with 204 additions and 10 deletions

View File

@@ -0,0 +1,36 @@
name: Code Quality
on:
push:
jobs:
format:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Check formatting
run: bundle exec rubocop --only Layout --parallel
lint:
runs-on: ubuntu-latest
needs: format
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Run lint
run: bundle exec rubocop --except Layout --parallel

View File

@@ -0,0 +1,19 @@
name: Run tests
on:
push:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Run tests
run: bundle exec rake test

36
.github/workflows/code-quality.yaml vendored Normal file
View File

@@ -0,0 +1,36 @@
name: Code Quality
on:
push:
jobs:
format:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Check formatting
run: bundle exec rubocop --only Layout --parallel
lint:
runs-on: ubuntu-latest
needs: format
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Run lint
run: bundle exec rubocop --except Layout --parallel

19
.github/workflows/run-tests.yaml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Run tests
on:
push:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Run tests
run: bundle exec rake test

View File

@@ -1,3 +1,6 @@
AllCops:
TargetRubyVersion: 3.4
NewCops: enable
plugins:
- rubocop-minitest
- rubocop-rake

1
.ruby-version Normal file
View File

@@ -0,0 +1 @@
3.4.2

6
CHANGELOG.md Normal file
View File

@@ -0,0 +1,6 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

View File

@@ -1,5 +1,12 @@
# frozen_string_literal: true
source "https://rubygems.org"
source 'https://rubygems.org'
# gem "rails"
gem 'minitest', '~> 5.25'
gem 'rake', '~> 13.3'
gem 'rubocop', require: false
gem 'rubocop-minitest', '~> 0.38.2', require: false
gem 'rubocop-rake', '~> 0.7.1', require: false

View File

@@ -1,12 +1,56 @@
GEM
remote: https://rubygems.org/
specs:
ast (2.4.3)
json (2.13.2)
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
minitest (5.25.5)
parallel (1.27.0)
parser (3.3.9.0)
ast (~> 2.4.1)
racc
prism (1.4.0)
racc (1.8.1)
rainbow (3.1.1)
rake (13.3.0)
regexp_parser (2.11.2)
rubocop (1.80.1)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.46.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.46.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
rubocop-minitest (0.38.2)
lint_roller (~> 1.1)
rubocop (>= 1.75.0, < 2.0)
rubocop-ast (>= 1.38.0, < 2.0)
rubocop-rake (0.7.1)
lint_roller (~> 1.1)
rubocop (>= 1.72.1)
ruby-progressbar (1.13.0)
unicode-display_width (3.1.5)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
minitest (~> 5.25)
rake (~> 13.3)
rubocop
rubocop-minitest (~> 0.38.2)
rubocop-rake (~> 0.7.1)
BUNDLED WITH
2.7.1

View File

@@ -1,3 +1,13 @@
# Ruby Project
A little template for Ruby projects.
## Testing
This project uses [`minitest`](https://www.minite.st/) to run the tests.
A rake task is present in the [`Rakefile`](./Rakefile):
```sh
rake test
```

8
Rakefile Normal file
View File

@@ -0,0 +1,8 @@
# frozen_string_literal: true
require 'rake/testtask'
Rake::TestTask.new(:test) do |t|
t.libs << 'tests'
t.test_files = FileList['tests/**/*_test.rb']
end

View File

@@ -1,6 +1,8 @@
#! /usr/bin/env ruby
# frozen_string_literal: true
# main
def main
0
end
main if __FILE__ == $PROGRAM_NAME

View File

@@ -1,8 +0,0 @@
require "minitest/autorun"
require_relative "../main"
class TestMain < Minitest::Test
def test_main
assert_equal true, true
end
end

11
tests/main_test.rb Normal file
View File

@@ -0,0 +1,11 @@
# frozen_string_literal: true
require 'minitest/autorun'
require_relative '../main'
# TestMain
class TestMain < Minitest::Test
def test_main
assert_equal 0, main
end
end