Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Examples

on:
push:
branches:
- release/3.*
- temp/3.*

pull_request:
branches:
- release/3.*
- temp/3.*

jobs:
check-syntax:
name: Check Syntax
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: ruby/setup-ruby@v1
with:
ruby-version: '4.0'

- run: rake check_syntax
20 changes: 20 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
desc "Check syntax of all Ruby example files (equivalent to running `ruby -c` on each file)"
task :check_syntax do
pass = 0
fail_count = 0
errors = []

Dir.glob("modules/**/*.rb").sort.each do |file|
source = File.read(file)
RubyVM::InstructionSequence.compile(source, file)
pass += 1
rescue SyntaxError => e
fail_count += 1
errors << file
puts "FAIL: #{e.message}"
end

puts "\nResults: #{pass} files passed, #{fail_count} failed"

abort "Files with errors:\n#{errors.map { |f| " #{f}" }.join("\n")}" if errors.any?
end