@@ -23,328 +23,26 @@ jobs:
2323    - name : Lint 
2424      run : bundle exec rake lint 
2525
26-   template :
27-     runs-on : ubuntu-latest 
28-     env :
29-       BUNDLE_GEMFILE : gemfiles/2.7/Gemfile 
30-     steps :
31-     - uses : actions/checkout@v5 
32-     - name : Set up Ruby 
33-       uses : ruby/setup-ruby@v1 
34-       with :
35-         ruby-version : " 2.7.0" 
36-         bundler-cache : true 
37-     - name : Generate templates 
38-       run : bundle exec rake templates 
39-       env :
40-         LANG : " C" 
41- 
42-   typecheck :
43-     runs-on : ubuntu-latest 
44-     env :
45-       BUNDLE_GEMFILE : gemfiles/typecheck/Gemfile 
46-     steps :
47-     - uses : actions/checkout@v5 
48-     - name : Set up Ruby 
49-       uses : ruby/setup-ruby@v1 
50-       with :
51-         ruby-version : " 3.4" 
52-         bundler-cache : true 
53-     - name : Check Sorbet 
54-       run : bundle exec rake typecheck:tapioca typecheck:sorbet 
55-     - name : Check Steep 
56-       run : bundle exec rake typecheck:steep 
57-     - name : Check field kinds 
58-       run : rm lib/prism/node.rb && CHECK_FIELD_KIND=true bundle exec rake 
59- 
6026  build :
6127    strategy :
6228      fail-fast : false 
6329      matrix :
6430        os :
65-           - ubuntu-latest 
66-           - ubuntu-24.04-arm 
67-           - macos-latest 
68-           #   - windows-latest <-- failing with fiddle error, temporarily disabled 
31+           #   - ubuntu-latest
32+           #   - ubuntu-24.04-arm
33+           #   - macos-latest
34+           - windows-latest 
6935    runs-on : ${{ matrix.os }} 
7036    steps :
7137    - uses : actions/checkout@v5 
7238    - name : Set up Ruby 
7339      uses : ruby/setup-ruby@v1 
7440      with :
7541        ruby-version : head 
76-         bundler-cache : true 
42+     
43+     - run : cat D:/rubyinstaller-head-x64/lib/ruby/3.5.0+4/win32/resolv.rb 
44+     
45+     - run : bundle install 
7746    - name : Run Ruby tests 
7847      run : bundle exec rake 
7948      shell : bash 
80- 
81-   build-ibm :
82-     if : github.repository == 'ruby/prism' 
83-     strategy :
84-       fail-fast : false 
85-       matrix :
86-         os :
87-           - ubuntu-24.04-ppc64le 
88-           - ubuntu-24.04-s390x 
89-     runs-on : ${{ matrix.os }} 
90-     steps :
91-     - uses : actions/checkout@v5 
92-     - name : Set up Ruby 
93-       run : | 
94-         sudo apt-get update 
95-         sudo apt-get install ruby-full bundler libyaml-dev 
96-      - name : Install dependencies 
97-       run : sudo bundle install --jobs $(nproc) 
98-     - name : Run Ruby tests 
99-       run : bundle exec rake 
100-       shell : bash 
101- 
102-   build-ffi :
103-     strategy :
104-       fail-fast : false 
105-       matrix :
106-         target :
107-           - { ruby: "head", gemfile: "3.5" } 
108-           - { ruby: "jruby-10.0.0.0", gemfile: "jruby" }  #  https://github.com/jruby/jruby/issues/8923
109-           - { ruby: "truffleruby", gemfile: "truffleruby" } 
110-     runs-on : ubuntu-latest 
111-     env :
112-       PRISM_FFI_BACKEND : " true" 
113-       BUNDLE_GEMFILE : gemfiles/${{ matrix.target.gemfile }}/Gemfile 
114-     steps :
115-       - uses : actions/checkout@v5 
116-       - name : Set up Ruby 
117-         uses : ruby/setup-ruby@v1 
118-         with :
119-           ruby-version : ${{ matrix.target.ruby }} 
120-           bundler-cache : true 
121-       - name : Run Ruby tests 
122-         run : bundle exec rake 
123- 
124-   build-without-assertions :
125-     strategy :
126-       fail-fast : false 
127-       matrix :
128-         os : [ubuntu-22.04, ubuntu-24.04] 
129-     runs-on : ${{ matrix.os }} 
130-     steps :
131-     - uses : actions/checkout@v5 
132-     - name : Set up Ruby 
133-       uses : ruby/setup-ruby@v1 
134-       with :
135-         ruby-version : head 
136-         bundler-cache : true 
137-     - name : Run Ruby tests 
138-       run : bundle exec rake compile_no_debug test 
139- 
140-   build-debug :
141-     strategy :
142-       fail-fast : false 
143-       matrix :
144-         os :
145-           - ubuntu-latest 
146-           - ubuntu-24.04-arm 
147-           - macos-latest 
148-           #  - windows-latest <-- failing with fiddle error, temporarily disabled
149-     runs-on : ${{ matrix.os }} 
150-     steps :
151-     - uses : actions/checkout@v5 
152-     - name : Set up Ruby 
153-       uses : ruby/setup-ruby@v1 
154-       with :
155-         ruby-version : head 
156-         bundler-cache : true 
157-     - name : Run Ruby tests 
158-       run : bundle exec rake 
159-       env :
160-         PRISM_BUILD_DEBUG : " 1" 
161- 
162-   build-minimal :
163-     runs-on : ubuntu-latest 
164-     steps :
165-     - uses : actions/checkout@v5 
166-     - name : Set up Ruby 
167-       uses : ruby/setup-ruby@v1 
168-       with :
169-         ruby-version : head 
170-         bundler-cache : true 
171-     - name : Run Ruby tests 
172-       run : bundle exec rake compile_minimal test 
173-       env :
174-         PRISM_BUILD_MINIMAL : " 1" 
175- 
176-   build-java :
177-     runs-on : ubuntu-latest 
178-     env :
179-       JRUBY_OPTS : " --dev" 
180-     steps :
181-     - uses : actions/checkout@v5 
182-     - name : Set up JRuby 
183-       uses : ruby/setup-ruby@v1 
184-       with :
185-         ruby-version : jruby 
186-         bundler-cache : true 
187-     - name : Run Java Loader test 
188-       run : PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS=1 JRUBY_OPTS="-J-ea" bundle exec rake test:java_loader 
189- 
190-   lex-ruby :
191-     runs-on : ubuntu-latest 
192-     steps :
193-     - uses : actions/checkout@v5 
194-     - name : Set up Ruby 
195-       uses : ruby/setup-ruby@v1 
196-       with :
197-         ruby-version : head 
198-         bundler-cache : true 
199-     - name : Lex ruby/ruby 
200-       run : bundle exec rake lex:ruby 
201- 
202-   lex-discourse :
203-     runs-on : ubuntu-latest 
204-     steps :
205-     - uses : actions/checkout@v5 
206-     - name : Set up Ruby 
207-       uses : ruby/setup-ruby@v1 
208-       with :
209-         ruby-version : head 
210-         bundler-cache : true 
211-     - name : Lex discourse/discourse 
212-       run : bundle exec rake lex:discourse 
213- 
214-   lex-top-100 :
215-     runs-on : ubuntu-latest 
216-     steps :
217-     - uses : actions/checkout@v5 
218-     - name : Set up Ruby 
219-       uses : ruby/setup-ruby@v1 
220-       with :
221-         ruby-version : head 
222-         bundler-cache : true 
223-     - name : Lex Top 100 Gems 
224-       run : bundle exec rake lex:topgems 
225-     - name : Parse Top 100 Gems 
226-       run : bundle exec rake parse:topgems 
227-     - name : Serialized size stats with all fields 
228-       run : bundle exec rake serialized_size:topgems 
229-     - name : Recompile with only semantic fields 
230-       run : PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS=1 bundle exec rake clobber compile 
231-     - name : Serialized size stats with only semantic fields 
232-       run : bundle exec rake serialized_size:topgems 
233- 
234-   memcheck :
235-     runs-on : ubuntu-24.04 
236-     steps :
237-     - uses : actions/checkout@v5 
238-     - name : Install valgrind 
239-       run : | 
240-         sudo apt-get update 
241-         sudo apt-get install -y valgrind 
242-      - name : Set up Ruby 
243-       uses : ruby/setup-ruby@v1 
244-       with :
245-         ruby-version : head 
246-         bundler-cache : true 
247-     - name : Run Ruby tests with valgrind 
248-       run : bundle exec rake test:valgrind 
249- 
250-   gem-package :
251-     runs-on : ubuntu-latest 
252-     steps :
253-     - uses : actions/checkout@v5 
254-     - uses : ruby/setup-ruby@v1 
255-       with :
256-         ruby-version : head 
257-         bundler-cache : true 
258-     - run : bundle config --local frozen false 
259-     - run : bundle exec rake build:dev 
260-     - uses : actions/upload-artifact@v5 
261-       with :
262-         name : gem-package 
263-         path : pkg 
264-         retention-days : 1 
265- 
266-   gem-install :
267-     needs : ["gem-package"] 
268-     strategy :
269-       fail-fast : false 
270-       matrix :
271-         target :
272-           - { ruby: "2.7", os: "ubuntu-latest", gemfile: "2.7" } 
273-           - { ruby: "3.0", os: "ubuntu-latest", gemfile: "3.0" } 
274-           - { ruby: "3.1", os: "ubuntu-latest", gemfile: "3.1" } 
275-           - { ruby: "3.2", os: "ubuntu-latest", gemfile: "3.2" } 
276-           - { ruby: "3.3", os: "ubuntu-latest", gemfile: "3.3" } 
277-           - { ruby: "3.4", os: "ubuntu-latest", gemfile: "3.4" } 
278-           - { ruby: "head", os: "ubuntu-latest", gemfile: "3.5" } 
279-           - { ruby: "jruby-10.0.0.0", os: "ubuntu-latest", gemfile: "jruby" }  #  https://github.com/jruby/jruby/issues/8923
280-           - { ruby: "truffleruby", os: "ubuntu-latest", gemfile: "truffleruby" } 
281- 
282-           - { ruby: "2.7", os: "macos-latest", gemfile: "2.7" } 
283-           - { ruby: "3.0", os: "macos-latest", gemfile: "3.0" } 
284-           - { ruby: "3.1", os: "macos-latest", gemfile: "3.1" } 
285-           - { ruby: "3.2", os: "macos-latest", gemfile: "3.2" } 
286-           - { ruby: "3.3", os: "macos-latest", gemfile: "3.3" } 
287-           - { ruby: "3.4", os: "macos-latest", gemfile: "3.4" } 
288-           - { ruby: "head", os: "macos-latest", gemfile: "3.5" } 
289-           - { ruby: "jruby-10.0.0.0", os: "macos-latest", gemfile: "jruby" }  #  https://github.com/jruby/jruby/issues/8923
290-           - { ruby: "truffleruby", os: "macos-latest", gemfile: "truffleruby" } 
291- 
292-           - { ruby: "2.7", os: "windows-latest", gemfile: "2.7" } 
293-           - { ruby: "3.0", os: "windows-latest", gemfile: "3.0" } 
294-           - { ruby: "3.1", os: "windows-latest", gemfile: "3.1" } 
295-           - { ruby: "3.2", os: "windows-latest", gemfile: "3.2" } 
296-           - { ruby: "3.3", os: "windows-latest", gemfile: "3.3" } 
297-           - { ruby: "3.4", os: "windows-latest", gemfile: "3.4" } 
298-           - { ruby: "head", os: "windows-latest", gemfile: "3.5" } 
299-           - { ruby: "jruby-10.0.0.0", os: "windows-latest", gemfile: "jruby" }  #  https://github.com/jruby/jruby/issues/8923
300-     env :
301-       BUNDLE_GEMFILE : gemfiles/${{ matrix.target.gemfile }}/Gemfile 
302-     runs-on : ${{ matrix.target.os }} 
303-     steps :
304-     - uses : actions/checkout@v5 
305-     - uses : ruby/setup-ruby@v1 
306-       with :
307-         ruby-version : ${{ matrix.target.ruby }} 
308-     - uses : actions/download-artifact@v6 
309-       with :
310-         name : gem-package 
311-         path : pkg 
312-     - run : | 
313-         gem install --local pkg/prism-*.gem 
314-         gem list -d prism 
315-       shell: bash 
316-      - name : Run tests 
317-       run : | 
318-         bundle install 
319-         rm -rf lib ext # ensure we don't use the local files 
320-         rake test 
321-        shell : bash 
322- 
323-   gcc-analyzer :
324-     runs-on : ubuntu-latest 
325-     steps :
326-     - uses : actions/checkout@v5 
327-     - name : Set up Ruby 
328-       uses : ruby/setup-ruby@v1 
329-       with :
330-         ruby-version : head 
331-         bundler-cache : true 
332-     - name : Run build with gcc-analyzer enabled 
333-       run : | 
334-         CFLAGS='-fanalyzer' bundle exec rake compile 
335- 
336-    clang-analyzer :
337-     runs-on : ubuntu-latest 
338-     steps :
339-     - uses : actions/checkout@v5 
340-     - name : Set up Ruby 
341-       uses : ruby/setup-ruby@v1 
342-       with :
343-         ruby-version : head 
344-         bundler-cache : true 
345-     - name : Install clang-analyzer 
346-       run : sudo apt-get install -y clang-tools 
347-     - name : Run build with clang-analyzer 
348-       run : | 
349-         scan-build bundle exec rake compile 2>&1 | tee /tmp/scan_build_output.log 
350-         grep -q 'scan-build: No bugs found.' /tmp/scan_build_output.log 
0 commit comments