Skip to content

Commit ef89bf5

Browse files
st0012hsbt
authored andcommitted
Add ruby-core CI suite
This is similar what IRB and Reline have: a CI suite that runs RDoc changes against Ruby's master branch. It's been very useful to catch issues that would otherwise break CRuby's CI suites.
1 parent ccaacd1 commit ef89bf5

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.github/workflows/ruby-core.yml

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: ruby-core
2+
3+
on:
4+
pull_request:
5+
6+
push:
7+
branches:
8+
- master
9+
10+
concurrency:
11+
group: ci-${{ github.ref }}-${{ github.workflow }}
12+
13+
permissions: # added using https://github.com/step-security/secure-workflows
14+
contents: read
15+
16+
jobs:
17+
ruby_core:
18+
name: RDoc under a ruby-core setup
19+
runs-on: ubuntu-20.04
20+
strategy:
21+
fail-fast: false
22+
timeout-minutes: 30
23+
steps:
24+
- name: Set up latest ruby head
25+
uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939 # v1.152.0
26+
with:
27+
ruby-version: head
28+
bundler: none
29+
- name: Save latest buildable revision to environment
30+
run: echo "REF=$(ruby -v | cut -d')' -f1 | cut -d' ' -f5)" >> $GITHUB_ENV
31+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.1.0
32+
with:
33+
repository: ruby/ruby
34+
path: ruby/ruby
35+
fetch-depth: 10
36+
- name: Checkout the latest buildable revision
37+
run: git switch -c ${{ env.REF }}
38+
working-directory: ruby/ruby
39+
- name: Install libraries
40+
run: |
41+
set -x
42+
sudo apt-get update -q || :
43+
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
44+
- name: Build Ruby
45+
run: |
46+
autoconf
47+
./configure -C --disable-install-doc
48+
make -j2
49+
working-directory: ruby/ruby
50+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.1.0
51+
with:
52+
path: ruby/rdoc
53+
- name: Sync tools
54+
run: |
55+
ruby tool/sync_default_gems.rb rdoc
56+
working-directory: ruby/ruby
57+
- name: Test RDoc
58+
run: make -j2 -s test-all TESTS="rdoc --no-retry"
59+
working-directory: ruby/ruby

0 commit comments

Comments
 (0)