Skip to content

Commit d5ccf83

Browse files
authored
Merge branch 'main' into feat/rules
2 parents 76bff88 + 384d8ed commit d5ccf83

File tree

4 files changed

+120
-40
lines changed

4 files changed

+120
-40
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
title: "default_branch_security"
3+
---
4+
5+
## Configuration
6+
7+
<div className="config-wrapper"><div className="config">__name__: default_branch_security</div>
8+
<div className="config">__type__: string</div>
9+
<div className="config">__default__: ''</div></div>
10+
11+
```json showLineNumbers
12+
{
13+
"name": "company/project",
14+
"extra": {
15+
"violinist": {
16+
// highlight-next-line
17+
"default_branch_security": ""
18+
}
19+
}
20+
}
21+
```
22+
23+
Indicate what branch you want the Violinist pull requests created against, spefically if the update is a security update.
24+
25+
## Explanation
26+
27+
Different projects uses different workflows for their branches. For example, your default branch in your VCS provider might be your production branch (for example `main`) while you want the merge requests to be created towards a development branch (for example `develop`). By default, Violinist will use the default branch for the repository to create the merge requests, but if you want the base branch to differ from this setting when merge requests are security updates, you want to use the `default_branch_security` option.
28+
29+
## Example
30+
31+
If a project uses the `develop` branch as the default branch, and you want the merge requests that are security updates to go straigth to `main`, you might want to configure your project like so:
32+
33+
```json showLineNumbers
34+
{
35+
"name": "company/project",
36+
"description": "My awesome project",
37+
"extra": {
38+
"violinist": {
39+
// highlight-next-line
40+
"default_branch_security": "main"
41+
}
42+
}
43+
}
44+
```
45+
46+
If you do not enter anything in this field, leaving the default value for it in there (`""` - an empty string) the project will use the settings from the project repository. In the example above that would mean the branch `develop`.
47+
48+
Please also note that if you have a value for the configuration option [default_branch](/configuration/default_branch) then this will be used as a fallback for a default value of empty string (`""`) for this configuration option (`default_branch_security`).
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: "ignore_platform_requirements"
3+
date: 2026-01-25T10:00:00+01:00
4+
anchor: "ignore-platform-requirements"
5+
weight:
6+
---
7+
8+
## Configuration
9+
10+
<div className="config-wrapper"><div className="config">__name__: ignore_platform_requirements</div>
11+
<div className="config">__type__: int</div>
12+
<div className="config">__default__: 0</div></div>
13+
14+
```json showLineNumbers
15+
{
16+
"name": "company/project",
17+
"extra": {
18+
"violinist": {
19+
// highlight-next-line
20+
"ignore_platform_requirements": 0
21+
}
22+
}
23+
}
24+
```
25+
26+
Ignore PHP platform requirements when checking for updates.
27+
28+
## Explanation
29+
30+
When enabled, Violinist will set the `COMPOSER_IGNORE_PLATFORM_REQS` environment variable. This tells Composer to ignore platform requirements (PHP version, extensions, etc.) when resolving and updating dependencies.
31+
32+
This can be useful when the PHP version or extensions available in Violinist's environment differ from your production environment.
33+
34+
## Example
35+
36+
Say your production environment uses a PHP extension that isn't universally available. Without this option, Composer might refuse to update packages because the extension isn't present when checking for updates. To work around this, enable `ignore_platform_requirements`:
37+
38+
```json showLineNumbers
39+
{
40+
"name": "company/project",
41+
"description": "My awesome project",
42+
"require": {
43+
"php": "^8.2",
44+
"ext-acme": "*",
45+
"vendor/package": "~1.0.0"
46+
},
47+
"extra": {
48+
"violinist": {
49+
// highlight-next-line
50+
"ignore_platform_requirements": 1
51+
}
52+
}
53+
}
54+
```
55+
56+
:::note
57+
`ext-acme` is a fictional extension used for illustration purposes.
58+
:::
59+
60+
With this configuration, Violinist will ignore platform requirements and proceed with checking for updates. Your CI pipeline should still verify that the updated dependencies work correctly with your actual platform configuration.

package-lock.json

Lines changed: 10 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
"@mdx-js/react": "^3.1.1",
2121
"clsx": "^2.0.0",
2222
"prism-react-renderer": "^2.4.1",
23-
"react": "^19.2.3",
24-
"react-dom": "^19.2.3"
23+
"react": "^19.2.4",
24+
"react-dom": "^19.2.4"
2525
},
2626
"devDependencies": {
2727
"@docusaurus/module-type-aliases": "3.9.2",

0 commit comments

Comments
 (0)