@@ -61,14 +61,11 @@ jobs:
6161 exit $fail
6262 working-directory : include
6363
64- - name : Generate docs
65- id : docs
64+ - name : Check if to generate documents
65+ id : rdoc
6666 run : |
67- $RDOC -C -x ^ext -x ^lib .
68- $RDOC --op html .
69- echo htmlout=ruby-html-${GITHUB_SHA:0:10} >> $GITHUB_OUTPUT
70- env :
71- RDOC : ruby -W0 --disable-gems tool/rdoc-srcdir -q
67+ ref=$(sed 's/#.*//;/^rdoc /!d' gems/bundled_gems | awk '{print $4}')
68+ echo ref=$ref >> $GITHUB_OUTPUT
7269 # Generate only when document commit/PR
7370 if : >-
7471 ${{false
8077 || contains(github.event.pull_request.labels.*.name, 'Documentation')
8178 }}
8279
80+ - name : Checkout rdoc
81+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
82+ with :
83+ repository : ruby/rdoc
84+ ref : ${{ steps.rdoc.outputs.ref }}
85+ path : .bundle/gems/rdoc-0
86+ if : ${{ steps.rdoc.outputs.ref != '' }}
87+
88+ - name : Generate rdoc
89+ run : |
90+ gem install --user bundler
91+ gempath=$(ruby -e 'print Gem.user_dir, "/bin"'
92+ PATH=$gempath:$PATH
93+ bundle install
94+ bundle exec rake generate
95+ working-directory : .bundle/gems/rdoc-0
96+ if : ${{ steps.rdoc.outputs.ref != '' }}
97+
98+ - name : Generate docs
99+ id : docs
100+ run : |
101+ $RDOC -C -x ^ext -x ^lib .
102+ $RDOC --op html .
103+ echo htmlout=ruby-html-${GITHUB_SHA:0:10} >> $GITHUB_OUTPUT
104+ env :
105+ RDOC : ruby -W0 --disable-gems tool/rdoc-srcdir -q
106+ if : ${{ steps.rdoc.outcome == 'success' }}
107+
83108 - name : Upload docs
84109 uses : actions/upload-artifact@v4
85110 with :
0 commit comments