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

Docs fixes #281

Merged
merged 3 commits into from
Jun 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/docs/configuration/configuration-file/search-paths.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,6 @@ Available fields:
All paths are relative to the Bazel workspace root.
The `"exact:"`, `"glob:"`, `"regex:"` prefixes are used to determine type of path pattern.
They can usually be omitted and correct syntax should be detected automatically.

{: .note }
Bazel Steward cannot suggest an update of given dependency if it won't be able to trace where it is defined.
11 changes: 7 additions & 4 deletions docs/docs/configuration/configuration-file/update-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,11 @@ update-rules:

Available fields:
* `versioning` (string) <br/>
Overrides what kind of versioning schema is used for the dependency.
Default: `loose`. Allowed values: `loose`, `semver`, `regex:...`.
Overrides what kind of versioning schema is used for the dependency. Schema determines how to parse the version in order to understand which part of the string is "major", "minor", "patch" etc.
Default: `loose`. Allowed values:
- `semver` - parse version strictly following [Semantic Versioning](https://semver.org/) schema
- `loose` - less constrained regex that will try to catch most popular versioning strategies that do not strictly conform to semver (but it works correctly with semver versions too)
- `regex:...` - use custom regex for parsing the version. Useful for libraries with very non standard schema.
* `pin` (string) <br/>
Filters versions that are allowed for the dependency.
It can be an exact version, prefix or regular expression.
Expand All @@ -47,8 +50,8 @@ Available fields:
1. `latest` - Always bump to the latest version.
2. `patch` - First bump to the latest patch, then to the latest minor, and then finally to the latest major.
3. `minor` - First bump to the latest minor, if there is no such update, bump the latest patch otheriwse bump the major.
4. `latest-by-date` - Always bump to the most recently released version.
4. `latest-by-date` - Always bump to the most recently released version even if the version is lower then currently used.
* `enabled` (boolean) <br/>
If set to false, Bazel Steward will ignore this dependency for available versions lookup and any updates.
If this is set for `kinds` only filter, then it will disable the specified kind - Bazel Steward will not attempt
to extract any versions used in your repository under this kind.
to extract any versions used in your repository under this kind.
13 changes: 11 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,21 @@ Afterwards, it compares the version of each found dependency against the latest

If a newer version is available in the upstream, Bazel Steward opens a pull request in your repository, with a proposed change for that newer version.

## Supported dependencies
## Supported dependencies kinds

Bazel Steward supports updating:
* Maven dependencies from `rules_jvm_external` (requires rules version `4.0.0` or newer)
* Bazel rules (like rules_python, rules_docker etc.)
* Bazel rules itself (like rules_python, rules_docker etc.)
* Bazel version (defined in `.bazelversion` or `.bazeliskrc` file)

Please let us know if you would like to use Bazel Steward with other kinds of dependencies.

## Why should I use Bazel Steward?

Using up-to-date dependencies is important for security and stability of your project. It allows to use latest features and makes your team more productive. This also applies to the tools used in your project like various rules and Bazel itself.

Keeping dependencies up-to-date is often mundane and time-consuming task and Bazel Steward aims to automate most of it. Bazel Steward makes dependencies updates an incremental process that would be a part of development cycle. This approach makes it less disturbing to the development process and reduces the risk associated with updating dependencies (as changes are smaller and more frequent). Bazel Steward is based on [Scala Steward](https://github.com/scala-steward-org/scala-steward) that keeps all Scala ecosystem up-to-date and is loved by pretty much entire community.

# Basic Setup

To get started quickly, setup a new GitHub Actions workflow in your repository.
Expand Down