Includes temporary disablement of gem dependencies that require updating to Ruby 3.0.0 first. [Details](https://chl.li/LdWrE).
63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
version: 2
|
|
jobs:
|
|
build:
|
|
working_directory: ~/project
|
|
docker:
|
|
- image: circleci/ruby
|
|
environment:
|
|
BUNDLE_JOBS: 3
|
|
BUNDLE_RETRY: 3
|
|
BUNDLE_PATH: vendor/bundle
|
|
EDITOR: vim
|
|
steps:
|
|
- checkout
|
|
|
|
- run:
|
|
name: Environment Setup
|
|
command: |
|
|
printf "%s\n" 'export CI_RUBY_VERSION=$(cat ".ruby-version" | tr -d "\n")' >> $BASH_ENV
|
|
|
|
- type: cache-restore
|
|
name: Ruby Restore
|
|
key: ruby-{{checksum ".ruby-version"}}
|
|
|
|
- run:
|
|
name: Ruby Install
|
|
command: |
|
|
cd ..
|
|
curl https://cache.ruby-lang.org/pub/ruby/${CI_RUBY_VERSION::-2}/ruby-$CI_RUBY_VERSION.tar.gz > ruby-$CI_RUBY_VERSION.tar.gz
|
|
tar --extract --gzip --verbose --file ruby-$CI_RUBY_VERSION.tar.gz
|
|
cd ruby-$CI_RUBY_VERSION
|
|
./configure
|
|
make
|
|
make update-gems
|
|
make extract-gems
|
|
sudo make install
|
|
|
|
- type: cache-save
|
|
name: Ruby Store
|
|
key: ruby-{{checksum ".ruby-version"}}
|
|
paths:
|
|
- ../ruby-$CI_RUBY_VERSION
|
|
|
|
- type: cache-restore
|
|
name: Bundler Restore
|
|
key: bundler-{{checksum "Gemfile"}}
|
|
|
|
- run:
|
|
name: Bundler Install
|
|
command: |
|
|
gem update --system
|
|
bundle config set path "vendor/bundle"
|
|
bundle install
|
|
|
|
- type: cache-save
|
|
name: Bundler Store
|
|
key: bundler-{{checksum "Gemfile"}}
|
|
paths:
|
|
- vendor/bundle
|
|
|
|
- run:
|
|
name: Build
|
|
command: bundle exec rake
|