@@ -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+ set -x
91+ gempath=$(ruby -e 'print Gem.user_dir, "/bin"')
92+ PATH=$gempath:$PATH
93+ gem install --user bundler
94+ bundle install
95+ bundle exec rake generate
96+ working-directory : .bundle/gems/rdoc-0
97+ if : ${{ steps.rdoc.outputs.ref != '' }}
98+
99+ - name : Generate docs
100+ id : docs
101+ run : |
102+ $RDOC -C -x ^ext -x ^lib .
103+ $RDOC --op html .
104+ echo htmlout=ruby-html-${GITHUB_SHA:0:10} >> $GITHUB_OUTPUT
105+ env :
106+ RDOC : ruby -W0 --disable-gems tool/rdoc-srcdir -q
107+ if : ${{ steps.rdoc.outcome == 'success' }}
108+
83109 - name : Upload docs
84110 uses : actions/upload-artifact@v4
85111 with :
0 commit comments