Skip to content

Commit b2c85ab

Browse files
committed
Use a $PREFIX variable instead of harcoding it in multiple places
1 parent ddf8d97 commit b2c85ab

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

.github/workflows/build.yml

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,24 +53,33 @@ jobs:
5353
else
5454
echo "RUBY_BUILD_RUBY_NAME=$ruby" >> $GITHUB_ENV
5555
fi
56+
- name: Set PREFIX
57+
run: |
58+
ruby="${{ matrix.ruby }}"
59+
if [[ $ruby == ruby-* ]]; then
60+
# See https://github.com/ruby/setup-ruby/issues/98
61+
echo "PREFIX=$RUNNER_TOOL_CACHE/Ruby/${ruby#ruby-}/x64" >> $GITHUB_ENV
62+
else
63+
echo "PREFIX=$HOME/.rubies/$ruby" >> $GITHUB_ENV
64+
fi
5665
- name: Build Ruby
57-
run: ruby-build --verbose $RUBY_BUILD_RUBY_NAME $HOME/build_prefix/${{ matrix.ruby }}
66+
run: ruby-build --verbose $RUBY_BUILD_RUBY_NAME $PREFIX
5867
env:
5968
RUBY_CONFIGURE_OPTS: --enable-shared --enable-rpath --enable-load-relative --disable-install-doc
6069
CPPFLAGS: "-DENABLE_PATH_CHECK=0" # https://github.com/actions/virtual-environments/issues/267
6170
- name: Fix the RubyGems line when using load-relative
62-
run: ~/build_prefix/${{ matrix.ruby }}/bin/ruby --disable-gems fix-rubygems-line.rb
71+
run: $PREFIX/bin/ruby --disable-gems fix-rubygems-line.rb
6372
if: startsWith(matrix.ruby, 'ruby-')
6473
- name: Create archive
65-
run: tar czf ${{ matrix.ruby }}-${{ matrix.os }}.tar.gz -C ~/build_prefix ${{ matrix.ruby }}
74+
run: tar czf ${{ matrix.ruby }}-${{ matrix.os }}.tar.gz -C $(dirname $PREFIX) $(basename $PREFIX)
6675
- name: Install Bundler if needed
6776
run: |
68-
if [ ! -e ~/build_prefix/${{ matrix.ruby }}/bin/bundle ]; then
69-
export PATH="$HOME/build_prefix/${{ matrix.ruby }}/bin:$PATH"
77+
if [ ! -e $PREFIX/bin/bundle ]; then
78+
export PATH="$PREFIX/bin:$PATH"
7079
gem install bundler -v '~> 1' --no-document
7180
fi
7281
73-
- run: echo "$HOME/build_prefix/${{ matrix.ruby }}/bin" >> $GITHUB_PATH
82+
- run: echo "$PREFIX/bin" >> $GITHUB_PATH
7483
- run: ruby --version
7584
- run: ruby -ropen-uri -e 'puts open("https://rubygems.org/") { |f| f.read(1024) }'
7685
- run: gem install json:2.2.0 --no-document
@@ -116,30 +125,32 @@ jobs:
116125
run: '! curl -s --head --fail https://github.com/ruby/ruby-builder/releases/download/${{ steps.info.outputs.tag }}/${{ matrix.ruby }}-${{ matrix.os }}.tar.gz'
117126
shell: bash
118127

128+
- name: Set PREFIX
129+
run: echo "PREFIX=$HOME/.rubies/${{ matrix.ruby }}" >> $GITHUB_ENV
119130
- run: curl --fail -L -O 'https://repo1.maven.org/maven2/org/jruby/jruby-dist/${{ matrix.jruby-version }}/jruby-dist-${{ matrix.jruby-version }}-bin.tar.gz'
120131
shell: bash
121132
- name: Build JRuby
122133
shell: bash
123134
run: |
124-
mkdir ~/build_prefix
125-
tar xf jruby-dist-${{ matrix.jruby-version }}-bin.tar.gz -C ~/build_prefix
126-
cd ~/build_prefix/${{ matrix.ruby }}/bin
135+
mkdir $(dirname $PREFIX)
136+
tar xf jruby-dist-${{ matrix.jruby-version }}-bin.tar.gz -C $(dirname $PREFIX)
137+
cd $PREFIX/bin
127138
# Copy bash launcher, so 'ruby' works in bash
128139
cp jruby ruby
129140
# Create ruby.bat, so 'ruby' works in pwsh
130141
echo -en "@ECHO OFF\r\n@\"%~dp0jruby.exe\" %*\r\n" > ruby.bat
131142
- name: Create archive
132-
run: tar czf ${{ matrix.ruby }}-${{ matrix.os }}.tar.gz -C ~/build_prefix ${{ matrix.ruby }}
143+
run: tar czf ${{ matrix.ruby }}-${{ matrix.os }}.tar.gz -C $(dirname $PREFIX) $(basename $PREFIX)
133144
shell: bash
134145
- name: Install Bundler if needed
135146
shell: bash
136147
run: |
137-
if [ ! -e ~/build_prefix/${{ matrix.ruby }}/bin/bundle ]; then
138-
export PATH="$HOME/build_prefix/${{ matrix.ruby }}/bin:$PATH"
148+
if [ ! -e $PREFIX/bin/bundle ]; then
149+
export PATH="$PREFIX/bin:$PATH"
139150
gem install bundler -v '~> 1' --no-document
140151
fi
141152
142-
- run: echo "$Env:UserProfile\build_prefix\${{ matrix.ruby }}\bin" >> $Env:GITHUB_PATH
153+
- run: echo "$Env:UserProfile\.rubies\${{ matrix.ruby }}\bin" >> $Env:GITHUB_PATH
143154
- run: echo $Env:PATH
144155

145156
- run: ruby --version

0 commit comments

Comments
 (0)