Update packages that DCP executables depend on. This skill is used infrequently, usually just once at the start of a new development cycle. Should only be used when requested explicitly, never as part of a regular change or PR.
Scanned 6/6/2026
Install via CLI
openskills install microsoft/dcp---
name: update-dependencies
description: 'Update packages that DCP executables depend on. This skill is used infrequently, usually just once at the start of a new development cycle. Should only be used when requested explicitly, never as part of a regular change or PR.'
---
# Update Dependencies
Update Go package dependencies stored in @go.mod file.
## When to Use
- Dependency update at the beginning of a new development cycle, to ensure DCP is using the latest versions of packages.
- Upgrading tilt-apiserver to a new release.
- Should only be used when requested explicitly, never as part of a regular change or PR.
## Procedure
### 1. Update the Tilt dependency
Update `tilt-apiserver` dependency to the latest release. Find the latest release version at https://github.com/tilt-dev/tilt-apiserver/releases.
### 2. Update packages shared with Tilt
Fetch the `go.mod` from the tilt-apiserver release tag (e.g. `https://raw.githubusercontent.com/tilt-dev/tilt-apiserver/v<VERSION>/go.mod`). Any *Kubernetes-related* packages (those that have names starting with `k8s.io` or `sigs.k8s.io`) that both `tilt-apiserver` and DCP list in their `go.mod` files should be kept at exactly the same version. This includes both direct and indirect dependencies.
Other (non-Kubernetes) packages that are shared between `tilt-apiserver` and DCP do not need to be kept at the same version. Upgrade them like any other packages (see next step).
### 3. Update other packages
Check the latest versions of other direct dependencies (those **not** marked `// indirect`). Use the Go module proxy to check latest versions: `https://proxy.golang.org/<module>/@latest`.
- If the latest version differs only by **minor or patch** level, update it without asking.
- If the newest version involves a **major version change**, ask the user what to do (one question per package).
Use `go mod edit -require=<module>@<version>` to apply version changes (does not require network access from the terminal).
### 4. Regenerate code
Run `make generate` after updating dependencies. This is especially important after k8s.io package upgrades, as OpenAPI definitions may need regeneration.
## Verification and final steps
### 1. Tidy modules
Run `go mod tidy` and ensure it completes without errors.
### 2. Lint
Run `make lint` and ensure there are no errors or warnings. If you encounter errors or warnings, fix them in the source code.
### 3. Test
Run `make test` and ensure all tests pass. Fix any errors you encounter.
### 4. Update the NOTICE file
Run `make generate-licenses` to update the NOTICE file with the new dependencies.
No comments yet. Be the first to comment!