34 lines
1.1 KiB
YAML
34 lines
1.1 KiB
YAML
name: "Install Ruby"
|
|
|
|
inputs:
|
|
ruby-version:
|
|
required: true
|
|
os:
|
|
required: true
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Setup env
|
|
run: |
|
|
echo "PATH=/opt/rubies/${{ inputs.ruby_version }}/bin:$PATH" >> $GITHUB_ENV
|
|
echo "GEM_HOME=~/.gem/ruby/${{ inputs.ruby_version }}" >> $GITHUB_ENV
|
|
|
|
- name: ⚡ Cache
|
|
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
|
|
with:
|
|
path: |
|
|
/opt/rubies/${{ inputs.ruby_version }}
|
|
~/.gem/ruby/${{ inputs.ruby_version }}
|
|
key: rb-sys-ruby-static-${{ inputs.os }}-${{ inputs.ruby_version }}
|
|
|
|
- name: 🔘 Build static ruby
|
|
working-directory: /tmp
|
|
run: |
|
|
if [ -d /opt/rubies/${{inputs.ruby_version }} ]; then
|
|
echo "Ruby ${{ inputs.ruby_version }} already installed, skipping build"
|
|
else
|
|
git clone https://github.com/rbenv/ruby-build.git
|
|
PREFIX=/usr/local sudo -E ./ruby-build/install.sh
|
|
RUBY_CONFIGURE_OPTS="--disable-shared --disable-install-doc --disable-install-rdoc" sudo -E ruby-build ${{ matrix.ruby_version }} /opt/rubies/${{ matrix.ruby_version }}
|
|
fi
|