Skip to content

Conversation

@vcastellm
Copy link
Contributor

🔄 Changes Summary

This pull request introduces major improvements to the release automation and changelog generation process, along with workflow enhancements for testing and security. The key changes are the adoption of git-cliff for dynamic changelog generation, restructuring of the release workflow to use automated pre-release creation, and consolidation of Go vulnerability checks into a reusable workflow. Deprecated manual release note templates are removed in favor of the new automated approach.

Release and Changelog Automation:

  • Added a comprehensive cliff.toml configuration to enable automated and convention-based changelog generation using git-cliff, supporting features like breaking change detection and config updates.
  • Refactored .github/workflows/release.yml to introduce a setup job that parses test configuration, generates release notes with git-cliff, and creates a pre-release via the GitHub API. The workflow now conditionally triggers build and test jobs based on previous job results.
  • Removed the old static .github/RELEASE_TEMPLATE.md in favor of the new dynamic changelog process.

Testing and Security Workflow Enhancements:

  • Added workflow_call triggers to test-unit.yml and test-e2e.yml to allow these jobs to be invoked from other workflows, improving modularity and reusability. [1] [2]
  • Migrated the Go vulnerability check workflow to .github/workflows/test-security.yml as a reusable workflow, and removed the old .github/workflows/govulncheck.yml. [1] [2]

🐞 Issues

Adds a new setup job for generating release notes using git-cliff,
injects test configuration into notes, and creates pre-releases via
GitHub API. Refactors workflow for improved clarity and maintainability.
- Move breaking changes section to end of PR template
- Standardize config and breaking change markers for parsing
- Update cliff.toml to match new PR template tokens
@sonarqubecloud
Copy link

sonarqubecloud bot commented Sep 9, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
3 Security Hotspots

See analysis details on SonarQube Cloud

@vcastellm vcastellm requested a review from Copilot September 12, 2025 13:49
Copy link
Contributor

Copilot AI left a comment

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 introduces a major CI/CD workflow revamp focused on modernizing release automation and enhancing workflow modularity. The changes implement git-cliff for automated conventional commit-based changelog generation, restructure the release workflow to use pre-release creation with conditional job execution, and consolidate security testing into reusable workflows.

  • Implemented automated changelog generation using git-cliff with comprehensive configuration for conventional commits
  • Restructured release workflow with setup job for pre-release creation and conditional test execution
  • Enhanced workflow modularity by adding workflow_call triggers to testing workflows

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
cliff.toml Comprehensive git-cliff configuration for automated changelog generation with breaking changes and config update detection
.github/workflows/test-unit.yml Added workflow_call trigger and formatting consistency improvements
.github/workflows/test-security.yml New reusable Go vulnerability check workflow replacing govulncheck.yml
.github/workflows/test-e2e.yml Added workflow_call trigger and updated concurrency group naming
.github/workflows/release.yml Major restructure with setup job for pre-release creation and conditional test execution
.github/PULL_REQUEST_TEMPLATE.md Updated template to use conventional commit footer format for breaking changes and config updates
Comments suppressed due to low confidence (1)

.github/workflows/test-unit.yml:22

  • Go version 1.25.0 does not exist. The latest Go version as of January 2025 was 1.23.x. This should be updated to a valid Go version.
                go-version: [1.25.0]

- "v*.*.*-*"
push:
branches:
- feat/ci-revamp
Copy link

Copilot AI Sep 12, 2025

Choose a reason for hiding this comment

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

The release workflow is configured to trigger on pushes to 'feat/ci-revamp' branch, which appears to be a temporary testing configuration that should be removed before merging to production.

Suggested change
- feat/ci-revamp

Copilot uses AI. Check for mistakes.
build:
runs-on: amd-runner-2204
needs: [setup, unit-tests, security-scan, integration-tests]
if: needs.setup.outputs.version-changed == 'true' && needs.unit-tests.result == 'success' && needs.integration-tests.result == 'success' && needs.security-scan.result == 'success'
Copy link

Copilot AI Sep 12, 2025

Choose a reason for hiding this comment

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

The condition references 'needs.setup.outputs.version-changed' but the setup job does not define this output. This will cause the build job to be skipped.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Improve CI Release workflow

2 participants