Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Engine Updates – missing updaters #43

Open
theflow opened this issue Jun 18, 2020 · 9 comments
Open

Engine Updates – missing updaters #43

theflow opened this issue Jun 18, 2020 · 9 comments
Assignees

Comments

@theflow
Copy link
Member

theflow commented Jun 18, 2020

Updaters are what we call the code handling a single file, like a .ruby-version or .circle/config.yml. They know where to find the version and how to update it.

As you can imagine this can be a bit brittle, but in most cases we're quite confident we can make it work well.

We started with a small list of files, so if you're specifying the version of your Ruby/Node.js/Elixir in a file we don't support, we want to know and quickly add support to it.

So far we support

  • .ruby-version
  • .node-version
  • .nvmrc
  • .exenv-version
  • .tool-versions
  • Gemfile and Gemfile.lock
  • mix.exs
  • package.json
  • .circleci/config.yml
  • .travis.yml
  • Dockerfile
  • docker-compose.yml

👉 Please just add a comment for any file that is missing and we'll take a look right away.

@theflow theflow self-assigned this Jun 18, 2020
@benedikt
Copy link

Fantastic new feature! 🔥 I'm really excited about this 👍

We're using both .ruby-version and the Gemfile to specify the Ruby version, but we're using a relaxed definition in the Gemfile like this:

ruby '~> 2.6.0'

The pull request to upgrade to Ruby 2.7.1 updated both the .ruby-version and the Gemfile.lock but didn't update the version specification in Gemfile.

@halfbyte
Copy link
Member

@benedikt Good catch, we only update the Gemfile if it's using a simple version requirement. I'm working on a fix. Thanks for the early testing!

@Siilwyn
Copy link

Siilwyn commented Sep 8, 2020

Do you support the package.json Volta pinned fields?

@rmehner
Copy link

rmehner commented Sep 18, 2020

Changed my .node-version by hand to the version depfu wanted to upgrade to (since I also had to adjust versions in the Dockerfiles) and depfu didn't autoclose its own PR because the version was already applied.

No biggie, just noticed. Nice feature all around! 👏

@matthewlehner
Copy link

This is an incredible feature! Just tried it for the first time and was very surprised that it correctly updated our Dockerfile!

The one thing that this missed was a workflow for Github actions.

We're using Elixir with GitHub actions – it missed .github/workflows/*.yml with the https://github.com/erlef/setup-elixir action, like this:

      - name: Setup elixir
        uses: erlef/setup-elixir@v1
        with:
          elixir-version: 1.12.1 # Define the elixir version [required]
          otp-version: 24.0.2 # Define the OTP version [required]

I recognize that this is probably a tough one to support, but since you're supporting CircleCI, I thought I'd ask. If you've got the ability to add this, it'd be incredible.

@CorySanin
Copy link

CorySanin commented May 2, 2023

this pull request CorySanin/ffa-tycoon#13 is proposing I downgrade from the latest LTS version of node. Neat feature though.

edit: omg sorry for the thread bump 😬

@viktorianer
Copy link

Support for Dockerfile works, bot how abut related files like Dockerfile.dev and so on?

Also, if in package.json I have something like "node": "~18.x", I would like to have upgrade to "node": "~20.x" and not "node": "^20.6.1". The same for all other files and engines.

What about an option to upgrade only to the latest LTS version (Node.js 18.18.0 LTS), rather to the latest available version (Node.js 20.7.0 Current)?

@bvogel
Copy link

bvogel commented Jan 22, 2024

Our dockerfiles aren't touched bc their naming does not fit the general naming schema. Ours are

  • base.Dockerfile
  • test.Dockerfile
  • Dockerfile.local

would it be feasible to add some kind of .depfurc-file to add these files to or should the glob be extended to *Dockerfile*?

@akostadinov
Copy link

Open Container Initiative file name is Containerfile. Would be useful to support that as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants