-
Notifications
You must be signed in to change notification settings - Fork 454
82 lines (76 loc) · 3.05 KB
/
ruby-core.yml
File metadata and controls
82 lines (76 loc) · 3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
name: Document generation test with ruby/ruby
on:
pull_request:
push:
branches:
- master
concurrency:
group: ci-${{ github.ref }}-${{ github.workflow }}
permissions: # added using https://github.com/step-security/secure-workflows
contents: read
jobs:
ruby_core:
name: Generate ruby/ruby documentation with the current RDoc commit
runs-on: ubuntu-latest
strategy:
fail-fast: false
timeout-minutes: 30
steps:
- name: Set up latest ruby head
uses: ruby/setup-ruby@dffb23f65a78bba8db45d387d5ea1bbd6be3ef18 # v1.293.0
with:
ruby-version: head
bundler: none
- name: Save latest buildable revision to environment
run: echo "REF=$(ruby -v | cut -d')' -f1 | cut -d' ' -f5)" >> $GITHUB_ENV
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: ruby/ruby
path: ruby/ruby
fetch-depth: 10
- name: Checkout the latest buildable revision
run: git switch -c ${{ env.REF }}
working-directory: ruby/ruby
- name: Install libraries
run: |
set -x
sudo apt-get update -q || :
sudo apt-get install --no-install-recommends -q -y build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev bison autoconf ruby
- name: Build Ruby
run: |
# Download the required auxiliary files for autoconf
# This is necessary because autoconf 2.71+ (included in Ubuntu latest)
# fails with "cannot find required auxiliary files" error
# These files (config.guess and config.sub) are needed for system detection
ruby tool/downloader.rb -d tool -e gnu config.guess config.sub
autoconf
./configure -C --disable-install-doc
working-directory: ruby/ruby
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
path: ruby/rdoc
- name: Build RDoc locally
# The `build` task provided by `require 'bundler/gem_tasks'` seems to have a bug
# as described in https://github.com/rubygems/rubygems/issues/8477
# The manual `gem build` and `gem install` are used to work around this issue.
run: |
bundle install
gem build rdoc.gemspec
# This gem isn't used for generating Ruby documentation.
# This is just for fixing `pkg/rdoc-X.Y.Z.gem` path.
gem install rdoc-*.gem
bundle exec rake build:local_ruby
working-directory: ruby/rdoc
- name: Generate Documentation with RDoc
run: make html
working-directory: ruby/ruby
# We need to clear the generated documentation to generate them again
# with the Ripper parser.
- name: Clear Generated Documentation
run: rm -r .ext/html
working-directory: ruby/ruby
- name: Generate Documentation with RDoc (Ripper parser)
run: make html
working-directory: ruby/ruby
env:
RDOC_USE_RIPPER_PARSER: true