tilt-dev / tilt-dev/tilt

version_settings constraints don't take precedence over undefined function errors

Open
#6,015 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug unfortunate
Dominant language
Go
Stars
10.1k
Forks
413
Avg merge
1d 10h
Merged PRs (30d)
6

Description

Expected Behavior

When new top-level functions like ci_settings are added, if there is an unmet version_settings constraint, Tilt fails with that error rather than an "undefined" message.

Current Behavior

Tiltfile fails with, e.g. undefined: ci_settings.

Steps to Reproduce

Tiltfile:

version_settings(constraint = '>=0.31.1')
ci_settings(k8s_grace_period='30s')

Output:

$ tilt ci
Tilt started on http://localhost:10350/
v0.30.13, built 2022-12-05

Initial Build
Loading Tiltfile at: /private/tmp/tilt/Tiltfile
ERROR: /private/tmp/tilt/Tiltfile:2:1: undefined: ci_settings
Error: /private/tmp/tilt/Tiltfile:2:1: undefined: ci_settings
About Your Use Case

I want to be able to use the new ci_settings function in my Tiltfile. Engineers at my company should get a helpful error message to upgrade Tilt, rather than the above.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the provided Tiltfile and run tilt ci using a version where ci_settings is undefined. Trace how version_settings constraints and top-level function lookup are evaluated; done means an unmet constraint is reported before the undefined-function error.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.