Skip to content

Commit 80c9b64

Browse files
committed
Added memcheck to CI
1 parent 7db6b4a commit 80c9b64

4 files changed

Lines changed: 24 additions & 9 deletions

File tree

.github/workflows/build.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ jobs:
99
include:
1010
- ruby: "4.0"
1111
os: ubuntu-24.04
12-
- ruby: 3.4
13-
os: ubuntu-24.04
14-
- ruby: 3.3
15-
os: macos-14
16-
- ruby: 3.2
17-
os: ubuntu-22.04
18-
- ruby: 3.1
19-
os: macos-15-intel
12+
# - ruby: 3.4
13+
# os: ubuntu-24.04
14+
# - ruby: 3.3
15+
# os: macos-14
16+
# - ruby: 3.2
17+
# os: ubuntu-22.04
18+
# - ruby: 3.1
19+
# os: macos-15-intel
2020
steps:
2121
- uses: actions/checkout@v5
2222
- uses: ruby/setup-ruby@v1
@@ -25,3 +25,8 @@ jobs:
2525
bundler-cache: true
2626
- run: MAKE="make -j$(getconf _NPROCESSORS_ONLN)" bundle exec rake compile
2727
- run: bundle exec rake test
28+
29+
- if: ${{ startsWith(matrix.os, 'ubuntu') }}
30+
run: |
31+
sudo apt-get update && sudo apt-get install valgrind
32+
bundle exec rake test:valgrind

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ gemspec
55
gem "rake"
66
gem "rake-compiler"
77
gem "minitest"
8+
gem "ruby_memcheck"
89

910
# https://github.com/ruby/openssl/issues/952
1011
gem "openssl" if RUBY_PLATFORM =~ /darwin/

Rakefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
require "bundler/gem_tasks"
22
require "rake/testtask"
33
require "rake/extensiontask"
4+
require "ruby_memcheck"
45

5-
Rake::TestTask.new do |t|
6+
test_config = lambda do |t|
67
t.pattern = "test/**/*_test.rb"
78
end
89

10+
Rake::TestTask.new(:test, &test_config)
11+
12+
namespace :test do
13+
RubyMemcheck::TestTask.new(:valgrind, &test_config)
14+
end
15+
916
task default: :test
1017

1118
Rake::ExtensionTask.new("or-tools") do |ext|

test/shift_scheduling_sat_test.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
class ShiftSchedulingSatTest < Minitest::Test
44
def test_shift_scheduling_sat
5+
skip if ENV["RUBY_MEMCHECK_RUNNING"]
6+
57
num_employees = 8
68
num_weeks = 3
79
shifts = %w[O M A N]

0 commit comments

Comments
 (0)