Skip to content
Permalink
Branch: master
Commits on Apr 26, 2019
  1. Merge pull request #24 from bogdanvlviv/bundle--deployment-works-sinc…

    rafaelfranca committed Apr 26, 2019
    …e-bundle-2-0-2
    
    Fix sentence about `bundle --deployment`
  2. Fix sentence about `bundle --deployment`

    bogdanvlviv committed Apr 26, 2019
    bundler/bundler#6805 was backported to `2-0-stable`
    in bundler/bundler@fbab118,
    `bundle --deployment` will work since v2.0.2.
Commits on Apr 25, 2019
  1. Merge pull request #23 from eileencodes/update-docs

    Edouard-chin committed Apr 25, 2019
    Update documentation
  2. Update documentation

    eileencodes committed Apr 25, 2019
    * Add note about not running `bootboot` more than once, it will keep
    updating your gemfile
    * Add note that bootboot won't work if you need the --deployment flag.
Commits on Jan 29, 2019
  1. Merge pull request #21 from Shopify/clean_up_gem_description

    larouxn committed Jan 29, 2019
    Clean up gem description 
  2. Clean up gem description

    larouxn committed Jan 29, 2019
Commits on Jan 8, 2019
  1. Merge pull request #18 from Shopify/ec-travis-fix

    Edouard-chin committed Jan 8, 2019
    Don't update bundler to 2.0.1 for now
  2. Don't update bundler to 2.0.1 for now

    Edouard-chin committed Jan 8, 2019
  3. Prepare v0.1.2

    Edouard-chin committed Jan 8, 2019
Commits on Dec 11, 2018
  1. Merge pull request #17 from bogdanvlviv/fix-docs

    rafaelfranca committed Dec 11, 2018
    Fix docs
  2. Fix docs

    bogdanvlviv committed Dec 11, 2018
    Replace "`" to "'"
Commits on Dec 4, 2018
  1. Merge pull request #16 from rrundzans/patch-1

    Edouard-chin committed Dec 4, 2018
    Update README.md
  2. Update README.md

    rrundzans committed Dec 4, 2018
Commits on Nov 28, 2018
  1. Merge pull request #15 from Shopify/ec-custom-env

    Edouard-chin committed Nov 28, 2018
    Add a way to customize the `DEPENDENCIES_NEXT` env:
  2. Add a way to customize the `DEPENDENCIES_NEXT` env:

    Edouard-chin committed Nov 27, 2018
    - Bootboot by default uses `DEPENDENCIES_NEXT` and
      `DEPENDENCIES_PREVIOUS` environment variables to update your
      Gemfile.lock or Gemfile_next.lock.
    
      This PR adds a way to configure the `DEPENDENCIES` prefix.
    
      If one wanted to dualboot when `SHOPIFY_NEXT` env is present,
      you can just add `Bundler.settigs.set_local('bootboot_env_prefix', 'SHOPIFY')`
      anywhere in the Gemfile.
Commits on Nov 27, 2018
  1. Add the travis badge

    Edouard-chin committed Nov 27, 2018
  2. Merge pull request #14 from Shopify/ec-rubocop

    Edouard-chin committed Nov 27, 2018
    Use shopify code style
  3. Use shopify code style

    Edouard-chin committed Nov 27, 2018
Commits on Nov 20, 2018
  1. Tweak the README

    Edouard-chin committed Nov 20, 2018
  2. Deploy to rubygems

    Edouard-chin committed Nov 20, 2018
  3. Prepare 0.1.1

    Edouard-chin committed Nov 20, 2018
  4. Merge pull request #12 from Shopify/ec-travis-config

    Edouard-chin committed Nov 20, 2018
    Travis config
  5. Travis config

    Edouard-chin committed Nov 20, 2018
  6. Merge pull request #11 from Shopify/ec-bootboot-previous

    Edouard-chin committed Nov 20, 2018
    Update the `Gemfile.lock` when required:
  7. Update the `Gemfile.lock` when required:

    Edouard-chin committed Nov 20, 2018
    - At Shopify, when a dependency upgrade is almost complete, we enable
      the next version of the gem by default on all developers environment
    
      Our Gemfile then looks something like that
    
      ```ruby
      unless ENV['DEPENDENCIES_PREVIOUS']
        enable_dual_booting
        gem 'rails', '~> 5.2.0'
      else
        gem 'rails', '~> 5.1.0'
      end
      ```
      This basically translate as "Boot with Rails 5.2.0 unless someone
      puts the `DEPENDENCIES_PREVIOUS` ENV".
    
      Because by default, the dualboot is enabled, when running `bundle
      update <some_gem>`, the `Gemfile_next.lock` will get updated, not
      the `Gemfile.lock`.
    
      This PR updates one lock or the other depending on which one was by
      default updated.
      However, if someone run `DEPENDENCIES_NEXT=1 bundle update rails`,
      the other lockfile will not be updated, that's because most likely
      if someone updates the lock witch a bootboot env var set, it means
      he solely wants to update that lock.
  8. Merge pull request #8 from Shopify/ec-readme

    Edouard-chin committed Nov 20, 2018
    Add a README
  9. Add a README

    Edouard-chin committed Nov 16, 2018
  10. Create the `bundle bootboot` command:

    Edouard-chin committed Nov 20, 2018
    - Meant for installation purposes, it will just copy the
      `Gemfile.lock` into a `Gemfile_next.lock` and add a line
      in the Gemfile to load the plugin.
Commits on Nov 19, 2018
  1. Merge pull request #9 from Shopify/ec-various-fixes

    Edouard-chin committed Nov 19, 2018
    Various fixes:
  2. Various fixes:

    Edouard-chin committed Nov 19, 2018
    - Need to monkeypatch the `Bundler::SharedHelpers.default_lockfile`
      as well as the Installer will use it to generate the lockfile
      https://github.com/bundler/bundler/blob/2760d72d3b2a1070b279536c33d3a89aaad7426b/lib/bundler/installer.rb#L315
    
    - Introducing the `enable_dual_booting` method, that one has to call
      in their Gemfile.
      Bootboot shouldn't care about the ENV var for dualbooting, that's up
      to the app to tell when to dualboot.
    
    - Modified the ENV variable that controls dualboot for
      `DEPENDENCIES_NEXT`. Bootboot has to know it in advance in order to
      keep the `Gemfile_next.lock` in sync.
    
    - Few fixes on the GemfileNextSyncinc such as:
      1) The Gemfile_next.lock wasn't updated when a gem was removed
      2) We don't want to update the Gemfile_next.lock when the default
      lockfile is already Gemfile_next.lock
Commits on Nov 16, 2018
  1. Merge pull request #7 from Shopify/ec-brainfart

    Edouard-chin committed Nov 16, 2018
    My brain and unless statements aren't good friend
  2. Merge pull request #6 from Shopify/ec-dualboot-feature

    Edouard-chin committed Nov 16, 2018
    Enable the dualboot feature:
  3. Enable the dualboot feature:

    Edouard-chin committed Nov 16, 2018
    - Application will be able to enable dualbooting with few lines of
      code instead of having to monkeypatch their Gemfile directly.
    
      To start with, how to enable dualbooting in your app:
      ```ruby
      # Gemfile
    
      if Bundler::Plugin.installed?('bootboot')
        $LOAD_PATH << Bundler::Plugin.index.plugin_path('bootboot').join('lib')
    
        require 'bootboot/enable_dual_booting'
      end
      ```
    
      Now is the why.
    
      `Bootboot` is a plugin, it doesn't behave like a regular gem,
      so we need to make a concession to make it available.
    
      Plugins in Bundler are meant to be executed only in the context of
      the `Plugin#eval_gemfile` which is done when installing gem (i.e.
      when you call `bundle install` or `bundle update`...).
    
      They aren't meant to be loaded in the $LOAD_PATH when Bundler.setup
      gets called.
      Making Bootboot a plugin is mandatory, we can't specify it as a gem,
      as otherwise the "keep Gemfile_next in sync" feature can't work.
    
      It's also impossible to have the Gemfile include a module, since
      during Gemfile evaluation time, the $LOAD_PATH is completely empty.
Older
You can’t perform that action at this time.