From 6852af1d03a2d95e3802ce8340d6e092d5e03d38 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sat, 18 Aug 2018 04:05:42 +0200 Subject: [PATCH] Use CircleCI workflows for ruby dependencies (#8228) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add “bundle clean” suggestion from CircleCI doc Cf. https://circleci.com/docs/2.0/caching/#bundler-ruby * Use workspaces instead of caches for ruby gems Cache are not guaranteed to be available, while the test jobs *require* their depencies to run. Workspaces are thus more suitable. One downside is that the order of workspace layer additions need to be deterministic, which is why install-ruby{2.3,2.4} now depend on install-ruby2.5. --- .circleci/config.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ac8dfc3347..20688b8e9a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -64,12 +64,17 @@ aliases: - run: ruby -e 'puts RUBY_VERSION' | tee /tmp/.ruby-version - *restore_ruby_dependencies - - run: bundle install --clean --jobs 16 --path ./vendor/bundle/ --retry 3 --with pam_authentication --without development production + - run: bundle install --clean --jobs 16 --path ./vendor/bundle/ --retry 3 --with pam_authentication --without development production && bundle clean - save_cache: key: v2-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-{{ checksum "Gemfile.lock" }} paths: - ./.bundle/ - ./vendor/bundle/ + - persist_to_workspace: + root: ~/projects/ + paths: + - ./mastodon/.bundle/ + - ./mastodon/vendor/bundle/ - &test_steps steps: @@ -78,9 +83,6 @@ aliases: - *install_system_dependencies - run: sudo apt-get install -y ffmpeg - - run: ruby -e 'puts RUBY_VERSION' | tee /tmp/.ruby-version - - *restore_ruby_dependencies - - run: name: Prepare Tests command: ./bin/rails parallel:create parallel:load_schema parallel:prepare @@ -116,8 +118,6 @@ jobs: steps: - *attach_workspace - *install_system_dependencies - - run: ruby -e 'puts RUBY_VERSION' | tee /tmp/.ruby-version - - *restore_ruby_dependencies - run: ./bin/rails assets:precompile - persist_to_workspace: root: ~/projects/ @@ -170,8 +170,6 @@ jobs: <<: *defaults steps: - *attach_workspace - - run: ruby -e 'puts RUBY_VERSION' | tee /tmp/.ruby-version - - *restore_ruby_dependencies - run: bundle exec i18n-tasks check-normalized - run: bundle exec i18n-tasks unused @@ -186,9 +184,11 @@ workflows: - install-ruby2.4: requires: - install + - install-ruby2.5 - install-ruby2.3: requires: - install + - install-ruby2.5 - build: requires: - install-ruby2.5