Skip to content
Draft
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
c586820
Dependabot Tracker dependencies
dmytroye Feb 13, 2026
ed3331b
Update tracker-service.yaml
dmytroye Feb 13, 2026
19836c9
Update GitLeaks part
dmytroye Feb 13, 2026
bdcf575
Merge remote-tracking branch 'origin/main' into ITEP-83030/ci-tracker…
dmytroye Feb 13, 2026
ec10543
Coverity C++: For push events to main, compare commit to its parent
dmytroye Feb 13, 2026
f47c3f7
Merge branch 'main' into ITEP-83030/ci-tracker-service
dmytroye Feb 13, 2026
f0698bc
Zizmor alert workaround
dmytroye Feb 13, 2026
b2361d8
Update .github/workflows/tracker-service.yaml
dmytroye Feb 13, 2026
44d28b9
Change Bandit run names
dmytroye Feb 13, 2026
b47ea62
Merge branch 'main' into ITEP-83030/ci-tracker-service
dmytroye Feb 14, 2026
4c768cb
Merge branch 'main' into ITEP-83030/ci-tracker-service
dmytroye Feb 16, 2026
5b75b15
revert Coverity changes
dmytroye Feb 16, 2026
bda7812
Merge branch 'main' into ITEP-83030/ci-tracker-service
dmytroye Feb 16, 2026
4d9b220
Remove duplicating workflows
dmytroye Feb 16, 2026
c090302
Merge branch 'main' into ITEP-83030/ci-tracker-service
dmytroye Feb 17, 2026
d34e4da
Merge branch 'main' into ITEP-83030/ci-tracker-service
scenescapecicd Feb 17, 2026
87887f1
Configure Removate bot
dmytroye Feb 17, 2026
5398c7b
Add renovate self-hosted workflows
dmytroye Feb 17, 2026
1d833f8
Consistent workflow names
dmytroye Feb 17, 2026
2ca9ddd
Add license
dmytroye Feb 17, 2026
a03c09a
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 17, 2026
464a7ac
Apply suggestions from code review
dmytroye Feb 17, 2026
bba1242
Remove Dependabot updates from this PR
dmytroye Feb 17, 2026
ba3b330
Merge branch 'ITEP-83030/renovate-config' of https://github.com/open-…
dmytroye Feb 17, 2026
beb0e30
Remove tracker-service.yaml updates from this PR
dmytroye Feb 17, 2026
ffc9a98
typo fix
dmytroye Feb 17, 2026
d6329b4
Prettier-write
dmytroye Feb 17, 2026
dcf44d8
Enable only Conan package manager
dmytroye Feb 17, 2026
04afb86
Adjust Renovate workflow comments to be consisten with the Renovate c…
dmytroye Feb 17, 2026
4685410
Prettier
dmytroye Feb 17, 2026
5f2b248
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 17, 2026
61df841
bump version for .json validation
dmytroye Feb 17, 2026
1a478d5
Merge branch 'ITEP-83030/renovate-config' of https://github.com/open-…
dmytroye Feb 17, 2026
b9070f1
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 17, 2026
63a9f31
Merge branch 'main' into ITEP-83030/renovate-config
scenescapecicd Feb 17, 2026
7b4f15a
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 18, 2026
aa4c3f1
Remove instructions from removate yamls
dmytroye Feb 18, 2026
dcbea47
Group packages updates + enable osv alerts
dmytroye Feb 18, 2026
6fa6142
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 18, 2026
abb7a89
Add ltalarcz to reviewers
dmytroye Feb 18, 2026
682d011
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 18, 2026
7e45298
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 23, 2026
0c06bf7
Merge remote-tracking branch 'origin/main' into ITEP-83030/renovate-c…
dmytroye Feb 25, 2026
2cff420
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 27, 2026
7040116
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Feb 28, 2026
86beb35
Merge remote-tracking branch 'origin/main' into ITEP-83030/renovate-c…
dmytroye Mar 2, 2026
36bc35e
Merge branch 'ITEP-83030/renovate-config' of https://github.com/open-…
dmytroye Mar 2, 2026
803e578
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Mar 2, 2026
b1d90f9
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Mar 5, 2026
9c6e07c
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Mar 10, 2026
84d78f2
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Mar 11, 2026
4c651f9
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Mar 13, 2026
10a8d38
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Mar 16, 2026
9ea800d
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Mar 17, 2026
78bd1cf
Merge branch 'main' into ITEP-83030/renovate-config
dmytroye Mar 18, 2026
55a0f4a
Merge remote-tracking branch 'origin/main' into ITEP-83030/renovate-c…
dmytroye Mar 20, 2026
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
117 changes: 117 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
// SPDX-FileCopyrightText: (C) 2026 Intel Corporation
// # SPDX-License-Identifier: Apache-2.0

{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: ["config:base"],
description: "Renovate configuration for Tracker Service Conan C++ dependencies",
enabledManagers: ["conan"],
labels: ["dependencies", "renovate", "tracker"],
schedule: ["before 10am on the first day of the month"],
timezone: "UTC",
reviewers: ["saratpoluri", "dmytroye", "tdorauintc"],
packageRules: [
{
description: "Conan dependencies - group patch updates",
matchManagers: ["conan"],
matchUpdateTypes: ["patch"],
groupName: "tracker conan patch updates",
automerge: false,
},
{
description: "Conan dependencies - group minor updates",
matchManagers: ["conan"],
matchUpdateTypes: ["minor"],
groupName: "tracker conan minor updates",
},
{
description: "Conan dependencies - handle major updates individually",
matchManagers: ["conan"],
matchUpdateTypes: ["major"],
groupName: null,
labels: ["dependencies", "major-update", "tracker"],
},
{
description: "OpenCV updates - needs careful testing",
Copy link
Contributor

Choose a reason for hiding this comment

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

Why all dependencies are listed as separate rules? Won't they be caught by first rule in the list?
Another question is, does renovate support security patches like Dependabot does? That's probably the most important event that should trigger a dependency update.

Copy link
Member Author

Choose a reason for hiding this comment

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

Grouped - dcbea47

Yes, Renovate supports security updates.

Copy link
Member Author

Choose a reason for hiding this comment

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

... vulnerabilityAlerts: { enabled: true, labels: ["security", "tracker"], }, osvVulnerabilityAlerts: true, ...

matchPackageNames: ["opencv"],
matchManagers: ["conan"],
labels: ["dependencies", "opencv", "needs-testing", "tracker"],
prPriority: 10,
commitMessagePrefix: "Tracker:",
commitMessageTopic: "OpenCV",
},
{
description: "Testing libraries - GTest",
matchPackageNames: ["gtest"],
matchManagers: ["conan"],
labels: ["dependencies", "testing", "tracker"],
commitMessagePrefix: "Tracker:",
commitMessageTopic: "GTest",
},
{
description: "Logging libraries - Quill",
matchPackageNames: ["quill"],
matchManagers: ["conan"],
labels: ["dependencies", "logging", "tracker"],
commitMessagePrefix: "Tracker:",
commitMessageTopic: "Quill",
},
{
description: "MQTT libraries - Paho MQTT",
matchPackageNames: ["paho-mqtt-cpp"],
matchManagers: ["conan"],
labels: ["dependencies", "mqtt", "tracker"],
commitMessagePrefix: "Tracker:",
commitMessageTopic: "Paho MQTT",
},
{
description: "CLI libraries - CLI11",
matchPackageNames: ["cli11"],
matchManagers: ["conan"],
labels: ["dependencies", "cli", "tracker"],
commitMessagePrefix: "Tracker:",
commitMessageTopic: "CLI11",
},
{
description: "HTTP libraries - cpp-httplib",
matchPackageNames: ["cpp-httplib"],
matchManagers: ["conan"],
labels: ["dependencies", "http", "tracker"],
commitMessagePrefix: "Tracker:",
commitMessageTopic: "cpp-httplib",
},
{
description: "JSON libraries - RapidJSON",
matchPackageNames: ["rapidjson"],
matchManagers: ["conan"],
labels: ["dependencies", "json", "tracker"],
commitMessagePrefix: "Tracker:",
commitMessageTopic: "RapidJSON",
},
{
description: "Math libraries - Eigen",
matchPackageNames: ["eigen"],
matchManagers: ["conan"],
labels: ["dependencies", "math", "tracker"],
commitMessagePrefix: "Tracker:",
commitMessageTopic: "Eigen",
},
],
conan: {
enabled: true,
fileMatch: ["tracker/conanfile.txt$"],
},
prConcurrentLimit: 5,
prHourlyLimit: 2,
commitMessagePrefix: "Tracker Conan:",
semanticCommits: "enabled",
platformAutomerge: false,
rebaseWhen: "behind-base-branch",
separateMajorMinor: true,
separateMinorPatch: false,
rangeStrategy: "pin",
vulnerabilityAlerts: {
enabled: true,
labels: ["security", "tracker"],
},
}
47 changes: 47 additions & 0 deletions .github/workflows/renovate-config-validator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
# SPDX-FileCopyrightText: (C) 2026 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

# Renovate configuration validator
#
# This workflow validates changes proposed into Renovate configuration file
# (.github/renovate.json5) and prevents invalid configuration to be used by Renovate.
#
# Required Secrets:
# - None
#
# Automatically triggered on:
# - Pull requests to .github/renovate.json5.
#

name: "[Updates] Validate Renovate configuration"

on:
pull_request:
paths:
- ".github/renovate.json5"

permissions: {} # No permissions by default

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
validate:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: "Checkout configuration"
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false

- name: "Validate configuration"
run: |
# renovate: datasource=docker
export RENOVATE_IMAGE=ghcr.io/renovatebot/renovate:43.24
docker run --rm --entrypoint "renovate-config-validator" \
-v "${{ github.workspace }}/.github/renovate.json5":"/renovate.json5" \
${RENOVATE_IMAGE} "/renovate.json5"
94 changes: 94 additions & 0 deletions .github/workflows/renovate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
# SPDX-FileCopyrightText: (C) 2026 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

# Dependencies Management Workflow
#
# This workflow automates the dependency management for Tracker Service C++ dependencies
# using self-hosted Renovate to ensure dependencies remain up-to-date and security
# fixes are delivered regularly.
#
# Key Features:
# - Automated PR creation for Conan dependencies in tracker/conanfile.txt
# - Dry-run mode for debug purposes
# - Dependency dashboard maintenance (available in GitHub issues)
#
# Managed Dependencies:
# - Conan C++ packages: quill, cli11, cpp-httplib, rapidjson, gtest, opencv, eigen, paho-mqtt-cpp
# - Configuration: .github/renovate.json5
# - Target file: tracker/conanfile.txt
#
# Process Stages:
#
# 1. Dependencies Management:
# - Runs on a daily schedule
# - Identifies Conan dependencies that can be updated based on .github/renovate.json5 configuration
# - Opens corresponding PRs with respect to schedule defined in Renovate config (monthly)
# - Updates Renovate Dependency dashboard available in GitHub issues
#
# Required Secrets:
# - RENOVATE_APP_ID: application ID
# - RENOVATE_APP_PEM: application private key
#
# Example Usage:
Copy link
Contributor

Choose a reason for hiding this comment

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

This section provides no new information and copies code from the workflow itself. Remove it.

Copy link
Member Author

Choose a reason for hiding this comment

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

removed - aa4c3f1

# 1. Scheduled Run:
# Automatically runs daily (checks monthly schedule in config)
#
# 2. Manual Trigger:
Copy link
Contributor

Choose a reason for hiding this comment

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

This part of instructions just duplicates what's in a workflow. Users will use it from Actions tab so this can be removed

Copy link
Member Author

Choose a reason for hiding this comment

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

removed - aa4c3f1

# workflow_dispatch:
# inputs:
# dry-run:
# description: "Run Renovate in dry-run mode (no PR)"
# required: false
# default: false
# type: boolean
#
# Note: Renovate maintains and updates Dependency dashboard that is available in GitHub issues.

name: "[Updates] Renovate (Tracker Service)"
on:
schedule:
# daily
- cron: "0 2 * * *"

# allow to manually trigger this workflow
workflow_dispatch:
inputs:
dry-run:
description: "Run Renovate in dry-run mode (no PR)"
required: false
default: false
type: boolean

permissions: {}

jobs:
renovate:
permissions:
contents: read
runs-on: ubuntu-latest

steps:
- name: "Checkout code"
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false

- name: "Get token"
id: get-github-app-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
with:
app-id: ${{ secrets.RENOVATE_APP_ID }}
private-key: ${{ secrets.RENOVATE_APP_PEM }}

- name: "Self-hosted Renovate"
uses: renovatebot/github-action@8b7941943a108b2cc2150730963164aa8baeab8c # v44.2.2
with:
configurationFile: .github/renovate.json5
token: "${{ steps.get-github-app-token.outputs.token }}"
env:
LOG_LEVEL: ${{ github.event_name == 'workflow_dispatch' && 'debug' || 'info' }}
# Dry run if the event is workflow_dispatch AND the dry-run input is true
RENOVATE_DRY_RUN: ${{ (github.event_name == 'workflow_dispatch' && github.event.inputs.dry-run == 'true') && 'full' || null }}
RENOVATE_PLATFORM: github
RENOVATE_REPOSITORIES: ${{ github.repository }}
Loading