From e73f3e130cd75fb8dd2f6d8a5815966b2342e66d Mon Sep 17 00:00:00 2001 From: Luca Vitucci Date: Sun, 3 May 2026 12:16:46 +0200 Subject: [PATCH 1/2] Refresh Renovate workflow and policy --- .github/renovate.json | 64 ++++++++++++++++++++++++++++++++-- .github/workflows/renovate.yml | 14 ++++---- 2 files changed, 69 insertions(+), 9 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index 79e7420..f32f1f7 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,10 +1,68 @@ { + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:best-practices", + ":dependencyDashboard", + ":semanticCommits", + ":separateMajorReleases", + ":prHourlyLimitNone", + ":prConcurrentLimit10" + ], "baseBranches": [ "main" ], - "rebaseWhen": "conflicted", + "timezone": "Europe/Zurich", + "schedule": [ + "after 4am and before 8am every weekday" + ], "labels": [ "dependencies" ], - "automergeStrategy": "merge-commit" -} \ No newline at end of file + "rebaseWhen": "conflicted", + "prCreation": "not-pending", + "assignees": [ + "vexdev" + ], + "packageRules": [ + { + "description": "Group GitHub Actions updates together.", + "matchManagers": [ + "github-actions" + ], + "groupName": "github actions" + }, + { + "description": "Group Gradle dependency and plugin updates together.", + "matchManagers": [ + "gradle" + ], + "groupName": "gradle" + }, + { + "description": "Group release tooling updates together.", + "matchManagers": [ + "npm" + ], + "groupName": "release tooling", + "matchDepNames": [ + "semantic-release", + "@semantic-release/changelog", + "@semantic-release/commit-analyzer", + "@semantic-release/exec", + "@semantic-release/git", + "@semantic-release/github", + "@semantic-release/release-notes-generator" + ] + }, + { + "description": "Avoid surprise major upgrades for release tooling.", + "matchManagers": [ + "npm" + ], + "matchUpdateTypes": [ + "major" + ], + "dependencyDashboardApproval": true + } + ] +} diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index b764f13..05d264e 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -1,7 +1,7 @@ name: Renovate on: schedule: - - cron: '0 3 * * *' + - cron: '0 4 * * 1-5' workflow_dispatch: inputs: logLevel: @@ -17,19 +17,21 @@ on: jobs: renovate: runs-on: ubuntu-latest + permissions: + contents: read steps: - name: Checkout - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.2.2 - name: Validate Renovate JSON run: jq type .github/renovate.json - - name: Get token + - name: Create GitHub App token id: get_token - uses: tibdex/github-app-token@v2.1.0 + uses: actions/create-github-app-token@v2.1.4 with: app_id: ${{ secrets.RENOVATE_APP_ID }} private_key: ${{ secrets.RENOVATE_PRIVATE_KEY }} - name: Self-hosted Renovate - uses: renovatebot/github-action@v39.2.1 + uses: renovatebot/github-action@v44.0.2 env: RENOVATE_REPOSITORIES: ${{ github.repository }} RENOVATE_ONBOARDING: "false" @@ -40,4 +42,4 @@ jobs: LOG_LEVEL: ${{ inputs.logLevel || 'info' }} with: configurationFile: .github/renovate.json - token: '${{ steps.get_token.outputs.token }}' \ No newline at end of file + token: '${{ steps.get_token.outputs.token }}' From 83b3f21ce80047adcea405e83ed64b4a6b2790e3 Mon Sep 17 00:00:00 2001 From: Luca Vitucci Date: Sun, 3 May 2026 12:21:51 +0200 Subject: [PATCH 2/2] Stabilize CI validation workflow --- .github/workflows/validate.yml | 12 ++++++------ build.gradle.kts | 14 +++++++++++++- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index e0fe330..7b22702 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -5,14 +5,14 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/checkout@v4.2.2 + - uses: actions/setup-java@v5 with: java-version: '17' distribution: 'temurin' - name: Validate Gradle wrapper - uses: gradle/wrapper-validation-action@v1.1.0 + uses: gradle/actions/wrapper-validation@v4 + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v4 - name: Run the Gradle test task - uses: gradle/gradle-build-action@v2.10.0 - with: - arguments: test + run: ./gradlew ciTest diff --git a/build.gradle.kts b/build.gradle.kts index 3475a78..396ddde 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -42,6 +42,18 @@ tasks.named("test") { useJUnitPlatform() } +tasks.register("ciTest") { + description = "Runs the deterministic test suite used in CI." + group = "verification" + useJUnitPlatform() + testClassesDirs = sourceSets.test.get().output.classesDirs + classpath = sourceSets.test.get().runtimeClasspath + filter { + excludeTestsMatching("jamule.AmuleClientTest") + excludeTestsMatching("jamule.AmuleFailedConnectionTest") + } +} + group = "com.vexdev" signing { @@ -104,4 +116,4 @@ nexusPublishing { repositories { sonatype() } -} \ No newline at end of file +}