Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/fix_regex_issue' into fix_regex_…
Browse files Browse the repository at this point in the history
…issue
  • Loading branch information
secustor committed Jul 6, 2022
2 parents 32060c7 + 42a0fed commit f82c138
Show file tree
Hide file tree
Showing 182 changed files with 3,851 additions and 2,499 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM containerbase/node:14.19.3@sha256:5635fa6ae50860f74933fd04ffdae624b3423a8c2dcf32a72f0266335f580ed9
FROM containerbase/node:14.19.3@sha256:f8574f887324df44741541abbca3b89089b848cff6d64127df199e3264fd9e54

USER root

Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches:
- main
- v25

pull_request:

Expand All @@ -15,6 +14,9 @@ on:
default: 'true'
required: false

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
Expand Down Expand Up @@ -146,6 +148,10 @@ jobs:
runs-on: ubuntu-latest
# release shouldn't need more than 5 min
timeout-minutes: 15
permissions:
contents: write
issues: write
pull-requests: write

steps:
# full checkout for semantic-release
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@41a4ada31ba866a7f1196b9602703a89edd69e22 # tag=v2.1.14
uses: github/codeql-action/init@3f62b754e23e0dd60f91b744033e1dc1654c0ec6 # tag=v2.1.15
with:
languages: javascript

Expand All @@ -40,7 +40,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@41a4ada31ba866a7f1196b9602703a89edd69e22 # tag=v2.1.14
uses: github/codeql-action/autobuild@3f62b754e23e0dd60f91b744033e1dc1654c0ec6 # tag=v2.1.15

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -54,4 +54,4 @@ jobs:
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@41a4ada31ba866a7f1196b9602703a89edd69e22 # tag=v2.1.14
uses: github/codeql-action/analyze@3f62b754e23e0dd60f91b744033e1dc1654c0ec6 # tag=v2.1.15
3 changes: 3 additions & 0 deletions .github/workflows/release-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ env:
NPM_VERSION: ${{ github.event.client_payload.version }}
NPM_TAG: ${{ github.event.client_payload.tag }}

permissions:
contents: read

jobs:
release-npm:
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/stale-action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
schedule:
- cron: '30 1 * * *'

permissions:
issues: write
pull-requests: write

jobs:
stale:
runs-on: ubuntu-latest
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/ws_scan.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
push:
branches: [main]

permissions:
contents: read

jobs:
WS_SCAN:
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
/package-lock.json
*.pyc
renovate-0.0.0-semantic-release.tgz
renovate-v0.0.0-semantic-release.tgz
/test/e2e/node_modules
.eslintcache
junit.xml
Expand Down
5 changes: 0 additions & 5 deletions .releaserc
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,6 @@
},
"tagFormat": "${version}",
"branches": [
{
"name": "v25",
"range": "25.x",
"channel": "version25"
},
{
"name": "main"
}
Expand Down
9 changes: 8 additions & 1 deletion docs/development/best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,5 +173,12 @@ Use [Named Capturing Groups](https://www.regular-expressions.info/named.html) wh

### Windows

We recommend you set [`core.autocrlf = input`](https://git-scm.com/docs/gitattributes#_text) in your `gitConfig`, or the carriage return `\r\n` might confuse Renovate bot.
We recommend you set [`core.autocrlf = input`](https://git-scm.com/docs/gitattributes#_text) in your Git config.
You can do this by running this Git command:

```bash
git config --global core.autocrlf input
```

This prevents the carriage return `\r\n` which may confuse Renovate bot.
You can also set the line endings in your repository by adding `* text=auto eol=lf` to your `.gitattributes` file.
6 changes: 3 additions & 3 deletions docs/development/issue-labeling.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ Add the `breaking` label for Issues or PRs which have changes that are not backw
<summary>Priority</summary>

priority-1-critical
priority-2-important
priority-3-normal
priority-2-high
priority-3-medium
priority-4-low
priority-5-triage

Expand All @@ -86,7 +86,7 @@ Try to select the proper priority.
Nothing bad will happen if you select a "wrong" priority.
At a high level: critical = needs immediate fix, important = to be prioritized ahead of others, normal = default priority, low = trivial issue, or impacts a very small % of the user base.

Use [this search](https://github.com/renovatebot/renovate/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+-label%3Apriority-1-critical+-label%3Apriority-2-important+-label%3Apriority-3-normal+-label%3Apriority-4-low++-label%3Apriority-5-triage) to find any issues which are missing a priority label.
Use [this search](https://github.com/renovatebot/renovate/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+-label%3Apriority-1-critical+-label%3Apriority-2-high+-label%3Apriority-3-medium+-label%3Apriority-4-low++-label%3Apriority-5-triage) to find any issues which are missing a priority label.

### Platform

Expand Down
78 changes: 50 additions & 28 deletions docs/usage/configuration-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ Currently this setting supports `helmv3`, `npm`, `maven` and `sbt` only, so rais
Its purpose is if you want Renovate to update the `version` field within your package file any time it updates dependencies within.
Usually this is for automatic release purposes, so that you don't need to add another step after Renovate before you can release a new version.

Configure this value to `"patch"`, `"minor"` or `"major"` to have Renovate update the version in your edited package file.
Configure this value to `"prerelease"`, `"patch"`, `"minor"` or `"major"` to have Renovate update the version in your edited package file.
e.g. if you wish Renovate to always increase the target `package.json` version with a patch update, configure this to `"patch"`.

For `npm` only you can also configure this field to `"mirror:x"` where `x` is the name of a package in the `package.json`.
Expand Down Expand Up @@ -349,6 +349,14 @@ For example, To add `[skip ci]` to every commit you could configure:

Another example would be if you want to configure a DCO signoff to each commit.

If you want Renovate to signoff its commits, add the [`:gitSignOff` preset](https://docs.renovatebot.com/presets-default/#gitsignoff) to your `extends` array:

```json
{
"extends": [":gitSignOff"]
}
```

## commitBodyTable

## commitMessage
Expand Down Expand Up @@ -817,13 +825,26 @@ For now, you can only use this option on the GitLab platform.
Advanced functionality.
Only use this if you're sure you know what you're doing.

This functionality requires that the datasource to support distribution streams/tags, such as npm does.
For `followTag` to work, the datasource must support distribution streams or tags, like for example npm does.

The primary use case for this option is if you are following a pre-release tag of a certain dependency, e.g. `typescript`'s `"insiders"` build.
If configured, Renovate bypasses its normal major/minor/patch upgrade logic and stable/unstable consistency logic and keeps your dependency version sync'd strictly to whatever version is in the tag.
The main usecase is to follow a pre-release tag of a dependency, say TypeScripts's `"insiders"` build:

```json
{
"packageRules": [
{
"matchPackageNames": ["typescript"],
"followTag": "insiders"
}
]
}
```

Beware that Renovate follows tags strictly.
For example, if you are following a tag like `next` and then that stream is released as `stable` and `next` is no longer being updated then that means your dependencies also won't be getting updated.
If you've set a `followTag` then Renovate skips its normal major/minor/patch upgrade logic and stable/unstable consistency logic, and instead keeps your dependency version synced _strictly_ to the version in the tag.

Renovate follows tags _strictly_, this can cause problems when a tagged stream is no longer maintained.
For example: you're following the `next` tag, but later the stream you actually want is called `stable` instead.
If `next` is no longer getting updates, you must switch your `followTag` to `stable` to get updates again.

## gitAuthor

Expand Down Expand Up @@ -1903,6 +1924,7 @@ This way Renovate can use GitHub's [Commit signing support for bots and other Gi

## postUpdateOptions

- `bundlerConservative`: Enable conservative mode for `bundler` (Ruby dependencies). This will only update the immediate dependency in the lockfile instead of all subdependencies
- `gomodMassage`: Enable massaging `replace` directives before calling `go` commands
- `gomodTidy`: Run `go mod tidy` after Go module updates. This is implicitly enabled for major module updates when `gomodUpdateImportPaths` is enabled
- `gomodTidy1.17`: Run `go mod tidy -compat=1.17` after Go module updates.
Expand Down Expand Up @@ -2230,27 +2252,6 @@ If the `versioning` field is missing, then Renovate defaults to using `semver` v
For more details and examples, see our [documentation for the `regex` manager](/modules/manager/regex/).
For template fields, use the triple brace `{{{ }}}` notation to avoid Handlebars escaping any special characters.

## registryAliases

You can use the `registryAliases` object to set registry aliases.
This feature only works with these managers:

- `helm-requirements`
- `helmv3`
- `helmfile`

The managers listed above all have this default registryAlias:

```json
{
"registryAliases": {
"stable": "https://charts.helm.sh/stable"
}
}
```

Alias values must be properly formatted URIs.

### matchStrings

`matchStrings` should each be a valid regular expression, optionally with named capture groups.
Expand Down Expand Up @@ -2497,6 +2498,27 @@ This will lead to following update where `1.21-alpine` is the newest version of
image: my.new.registry/aRepository/andImage:1.21-alpine
```

## registryAliases

You can use the `registryAliases` object to set registry aliases.
This feature only works with these managers:

- `helm-requirements`
- `helmv3`
- `helmfile`

The managers listed above all have this default registryAlias:

```json
{
"registryAliases": {
"stable": "https://charts.helm.sh/stable"
}
}
```

Alias values must be properly formatted URIs.

## registryUrls

Usually Renovate is able to either (a) use the default registries for a datasource, or (b) automatically detect during the manager extract phase which custom registries are in use.
Expand Down Expand Up @@ -2700,7 +2722,7 @@ There are a couple of uses for `stabilityDays`:

#### Suppress branch/PR creation for X days

If you combine `stabilityDays=3` and `prCreation="not-pending"` then Renovate will hold back from creating branches until 3 or more days have elapsed since the version was released.
If you combine `stabilityDays=3` and `internalChecksFilter="strict"` then Renovate will hold back from creating branches until 3 or more days have elapsed since the version was released.
It's recommended that you enable `dependencyDashboard=true` so you don't lose visibility of these pending PRs.

#### Prevent holding broken npm packages
Expand Down
2 changes: 1 addition & 1 deletion docs/usage/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ To get access to the token a custom Renovate Docker image is needed that include
The Dockerfile to create such an image can look like this:

```Dockerfile
FROM renovate/renovate:32.90.0
FROM renovate/renovate:32.105.0
# Include the "Docker tip" which you can find here https://cloud.google.com/sdk/docs/install
# under "Installation" for "Debian/Ubuntu"
RUN ...
Expand Down
12 changes: 12 additions & 0 deletions docs/usage/getting-started/installing-onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,18 @@ Once you're done selecting repositories for Renovate to run on, click the green
Unfortunately Mend's hosted GitLab app needed to be taken offline indefinitely until a viable security model for bots on GitLab.com is available.
For more details on GitLab security for bots, please see the [GitLab Bot Security](../gitlab-bot-security.md) doc.

### Self-hosting on Windows

We recommend you set [`core.autocrlf = input`](https://git-scm.com/docs/gitattributes#_text) in your Git config.
You can do this by running this Git command:

```bash
git config --global core.autocrlf input
```

This prevents the carriage return `\r\n` which may confuse Renovate bot.
You can also set the line endings in your repository by adding `* text=auto eol=lf` to your `.gitattributes` file.

## Repository onboarding

Once you have enabled Renovate on a repository, you will get a "Configure Renovate" Pull Request looking something like this:
Expand Down
2 changes: 2 additions & 0 deletions docs/usage/getting-started/running.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ Self-hosting Renovate means that you are the "administrator" of the bot, which e
- You ensure it's running regularly,
- You ensure Renovate bot itself is updated

Read our section on [Self-hosting on Windows](./installing-onboarding.md#self-hosting-on-windows) to prevent line endings from confusing Renovate bot.

### Available distributions

#### npm package (CLI)
Expand Down
25 changes: 24 additions & 1 deletion docs/usage/key-concepts/automerge.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,27 @@ Non-major updates in SemVer ecosystems shouldn't have breaking changes (if they

The `matchCurrentVersion` setting above is a rule to exclude any dependencies which are pre-1.0.0 because those can make breaking changes at _any_ time according to the SemVer spec.

### Faster merges with platform-native automerge

You can speed up merges by letting Renovate use your platform's native automerge.
The config option is called `platformAutomerge`.
If `automerge=true` and `automergeType=pr` then you can set `platformAutomerge=true`.

For example:

```json
{
"lockFileMaintenance": {
"enabled": true,
"automerge": true,
"automergeType": "pr",
"platformAutomerge": true
}
}
```

For more information read [`platformAutomerge`](https://docs.renovatebot.com/configuration-options/#platformautomerge).

## Automerging and scheduling

Automerging is particularly beneficial if you have configured a schedule, because Renovate on its own may be able to automerge the majority of your updates.
Expand Down Expand Up @@ -145,7 +166,9 @@ If you have configured your project to require Pull Requests before merging, it

If you have mandatory Pull Request reviews then it means Renovate can't automerge its own PR until such a review has happened.

If you are running the hosted Mend Renovate App on `github.com`, you can also install the helper apps [renovate-approve](https://github.com/apps/renovate-approve) and [renovate-approve-2](https://github.com/apps/renovate-approve-2) and they will mark all automerging Pull Requests by Renovate as approved.
If you're on `github.com` or GitHub Enterprise Server (`>=3.4`) you can let Renovate bypass the mandatory Pull Request reviews using the "[Allow specified actors to bypass required pull requests](https://github.blog/changelog/2021-11-19-allow-bypassing-required-pull-requests/)" option in your branch protection rules.

Alternatively, if you are running the hosted Mend Renovate App on `github.com`, you can also install the helper apps [renovate-approve](https://github.com/apps/renovate-approve) and [renovate-approve-2](https://github.com/apps/renovate-approve-2) and they will mark all automerging Pull Requests by Renovate as approved.
These approval helper apps are only available for GitHub.

### Codeowners
Expand Down
9 changes: 3 additions & 6 deletions docs/usage/self-hosted-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ To handle the case where the underlying Git processes appear to hang, configure
## gitUrl

Override the default resolution for Git remote, e.g. to switch GitLab from HTTPS to SSH-based.
Currently works for GitLab only.
Currently works for Bitbucket Server and GitLab only.

Possible values:

Expand Down Expand Up @@ -610,10 +610,6 @@ Set this to `"enabled"` to have Renovate maintain a JSON file cache per-reposito
Set to `"reset"` if you ever need to bypass the cache and have it overwritten.
JSON files will be stored inside the `cacheDir` beside the existing file-based package cache.

<!-- prettier-ignore -->
!!! warning
This is an experimental feature and may be modified or removed in a future non-major release.

## requireConfig

By default, Renovate needs a Renovate config file in each repository where it runs before it will propose any dependency updates.
Expand Down Expand Up @@ -686,7 +682,8 @@ This is currently applicable to `npm` and `lerna`/`npm` only, and only used in c

## unicodeEmoji

If enabled emoji shortcodes (`:warning:`) are replaced with their Unicode equivalents (`⚠️`).
If enabled emoji shortcodes are replaced with their Unicode equivalents.
For example: `:warning:` will be replaced with `⚠️`.

## username

Expand Down

0 comments on commit f82c138

Please sign in to comment.