File tree 2 files changed +28
-3
lines changed
2 files changed +28
-3
lines changed Original file line number Diff line number Diff line change 23
23
- name : Compute matrix
24
24
id : matrix
25
25
run : |
26
- matrix="$(ruby matrix.rb ${{ inputs.engine_name }} ${{ inputs.engine_version }})"
26
+ matrix="$(ruby matrix.rb engine.name: ${{ inputs.engine_name }} engine.version: ${{ inputs.engine_version }})"
27
27
echo "${matrix}"
28
28
echo "${matrix}" | jq
29
29
echo "matrix=${matrix}" >> $GITHUB_OUTPUT
Original file line number Diff line number Diff line change 46
46
end
47
47
end
48
48
49
- if ( for_engine = ARGV [ 0 ] ) && ( for_version = ARGV [ 1 ] )
50
- matrix . select! { |e | e [ :engine ] [ :name ] == for_engine && e [ :engine ] [ :version ] == for_version }
49
+ selected_engine_name = nil
50
+ selected_engine_version = nil
51
+ selected_spec_task = nil
52
+ selected_spec_appraisal = nil
53
+ ARGV . each do |arg |
54
+ case arg
55
+ when /^engine.name:(\S +)/ then selected_engine_name = $1
56
+ when /^engine.version:(\S +)/ then selected_engine_version = $1
57
+ when /^spec.task:(\S +)/ then selected_spec_task = $1
58
+ when /^spec.appraisal:(\S +)/ then selected_spec_appraisal = $1
59
+ end
60
+ end
61
+
62
+ if selected_engine_name
63
+ matrix . select! { |e | e [ :engine ] [ :name ] == selected_engine_name }
64
+ end
65
+
66
+ if selected_engine_version
67
+ matrix . select! { |e | e [ :engine ] [ :version ] == selected_engine_version }
68
+ end
69
+
70
+ if selected_spec_task
71
+ matrix . select! { |e | e [ :spec ] [ :task ] == selected_spec_task }
72
+ end
73
+
74
+ if selected_spec_appraisal
75
+ matrix . select! { |e | e [ :spec ] [ :appraisal ] == selected_spec_appraisal }
51
76
end
52
77
53
78
puts ( JSON . dump ( { include : matrix } ) )
You can’t perform that action at this time.
0 commit comments