Skip to content

feat: add renovate rules for GNOME extension submodules - #3570

Closed
castrojo wants to merge 1 commit into
mainfrom
issue-3569
Closed

feat: add renovate rules for GNOME extension submodules#3570
castrojo wants to merge 1 commit into
mainfrom
issue-3569

Conversation

@castrojo

@castrojo castrojo commented Nov 2, 2025

Copy link
Copy Markdown
Collaborator

Fixes #3569

This PR adds Renovate configuration to automatically track and update GNOME extension git submodules.

Changes

  • Enable git-submodules manager to track extension updates
  • Configure semantic versioning for extensions with releases:
    • appindicatorsupport (semver)
    • dash-to-dock (custom regex for extensions.gnome.org tags)
    • gsconnect (semver)
    • caffeine (semver)
  • Track branch updates for extensions without releases:
    • blur-my-shell
    • Logomenu
    • search-light
  • Disable automerge for manual review of extension updates
  • Use repository default update schedule for consistency

Testing

The configuration follows Renovate best practices and is compatible with the org-wide renovate config. Renovate will now automatically create PRs when new releases or commits are available for these extensions.

- Enable git-submodules manager to track extension updates
- Configure semantic versioning for extensions with releases:
  - appindicatorsupport (semver)
  - dash-to-dock (custom regex for extensions.gnome.org tags)
  - gsconnect (semver)
  - caffeine (semver)
- Track branch updates for extensions without releases:
  - blur-my-shell
  - Logomenu
  - search-light
- Disable automerge for manual review of extension updates
- Use repository default update schedule for consistency

Fixes #3569
Copilot AI review requested due to automatic review settings November 2, 2025 00:19
@dosubot dosubot Bot added the size/M This PR changes 30-99 lines, ignoring generated files. label Nov 2, 2025
@dosubot

dosubot Bot commented Nov 2, 2025

Copy link
Copy Markdown

Related Documentation

Checked 14 published document(s) in 1 knowledge base(s). No updates required.

How did I do? Any feedback?  Join Discord

@dosubot dosubot Bot added the dependencies Pull requests that update a dependency file label Nov 2, 2025

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enables automated dependency management for GNOME shell extension git submodules in Renovate. The configuration distinguishes between extensions that use versioned releases (with appropriate versioning schemes) and those that track the main/master branch.

Key changes:

  • Enables the git-submodules manager in Renovate
  • Configures versioning strategies for 4 GNOME extensions with stable releases
  • Sets up tracking for 3 GNOME extensions without releases

Comment thread .github/renovate.json5
{
"matchManagers": ["git-submodules"],
"matchPackagePatterns": ["micheleg/dash-to-dock"],
"versioning": "regex:^extensions\\.gnome\\.org-v(?<major>\\d+)$",

Copilot AI Nov 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The regex pattern only captures major version numbers. If dash-to-dock uses versions like 'extensions.gnome.org-v85' this will work, but consider if minor/patch versions might be needed in the future. Verify that this extension's tagging strategy truly only uses major versions.

Suggested change
"versioning": "regex:^extensions\\.gnome\\.org-v(?<major>\\d+)$",
"versioning": "regex:^extensions\\.gnome\\.org-v(?<version>\\d+(?:\\.\\d+){0,2})$",

Copilot uses AI. Check for mistakes.
Comment thread .github/renovate.json5
Comment on lines +47 to +71
// GNOME extensions git-submodules - track stable releases where available
{
"matchManagers": ["git-submodules"],
"matchPackagePatterns": ["ubuntu/gnome-shell-extension-appindicator"],
"versioning": "semver",
"automerge": false
},
{
"matchManagers": ["git-submodules"],
"matchPackagePatterns": ["micheleg/dash-to-dock"],
"versioning": "regex:^extensions\\.gnome\\.org-v(?<major>\\d+)$",
"automerge": false
},
{
"matchManagers": ["git-submodules"],
"matchPackagePatterns": ["GSConnect/gnome-shell-extension-gsconnect"],
"versioning": "semver",
"automerge": false
},
{
"matchManagers": ["git-submodules"],
"matchPackagePatterns": ["eonpatapon/gnome-shell-extension-caffeine"],
"versioning": "semver",
"automerge": false
},

Copilot AI Nov 2, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Each git-submodule rule repeats 'matchManagers' and 'automerge' fields. Consider consolidating rules with the same versioning strategy to reduce duplication. For example, the three semver extensions (lines 48-53, 60-65, 66-71) could be combined into a single rule with multiple matchPackagePatterns.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot open a new pull request to apply changes based on this feedback

Copilot AI commented Nov 2, 2025

Copy link
Copy Markdown
Contributor

@castrojo I've opened a new pull request, #3571, to work on those changes. Once the pull request is ready, I'll request review from you.

@castrojo castrojo closed this Nov 2, 2025
Comment thread .github/renovate.json5
Comment on lines +47 to +53
// GNOME extensions git-submodules - track stable releases where available
{
"matchManagers": ["git-submodules"],
"matchPackagePatterns": ["ubuntu/gnome-shell-extension-appindicator"],
"versioning": "semver",
"automerge": false
},

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These rules shouldn't be needed. Renovate will use semver already

@p5 p5 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should add branch = <latest-tag> to the .gitmodules to tell Renovate to pin on tags, rather than commits on the main branch

@castrojo
castrojo deleted the issue-3569 branch November 2, 2025 03:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file size/M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add renovate rules to update gnome extensions

4 participants