Skip to content

feat: Add release workflow and changelog configuration for GitHub Act…#35

Merged
OGR-67 merged 3 commits into
devfrom
33-chore-setup-release-pipeline
Mar 22, 2026
Merged

feat: Add release workflow and changelog configuration for GitHub Act…#35
OGR-67 merged 3 commits into
devfrom
33-chore-setup-release-pipeline

Conversation

@OGR-67

@OGR-67 OGR-67 commented Mar 22, 2026

Copy link
Copy Markdown
Owner

Description

This pull request introduces a GitHub Actions workflow for automated multi-platform releases and configures changelog generation using git-cliff. It also standardizes the CLI assembly name for consistency across builds. The most important changes are:

Release Automation:

  • Added a .github/workflows/release.yml workflow to automate building and releasing the CLI for Windows, Linux, and macOS on tag or release events. This includes publishing self-contained binaries, uploading them as artifacts, and attaching them to GitHub Releases.

Changelog Generation:

  • Added a cliff.toml configuration file to enable automated changelog generation using git-cliff, grouping commits by type and formatting the output for releases.

Build Configuration:

  • Set the AssemblyName property to al2dbml in the CLI project file (AL2DBML.CLI.csproj) to ensure consistent naming of the output binaries.

Closes

closes #33

Copilot AI review requested due to automatic review settings March 22, 2026 09:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds automated release tooling for the AL2DBML CLI: a GitHub Actions workflow to publish self-contained binaries for multiple platforms and a git-cliff configuration to generate release changelogs, plus a standardized CLI output name for consistent artifact naming.

Changes:

  • Introduces .github/workflows/release.yml to build/publish Windows/Linux/macOS binaries and attach them to GitHub Releases.
  • Adds cliff.toml to generate structured changelogs via git-cliff during releases.
  • Sets CLI AssemblyName to al2dbml to align produced binary names with release artifacts.

Reviewed changes

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

File Description
src/AL2DBML.CLI/AL2DBML.CLI.csproj Standardizes output binary/assembly name to al2dbml for consistent release artifacts.
cliff.toml Defines git-cliff changelog templating and commit grouping for release notes generation.
.github/workflows/release.yml Implements multi-platform publish + artifact upload and creates/updates GitHub Releases with generated changelog content.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cliff.toml Outdated
{ message = ".*", group = "Other" },
]
filter_commits = false
tag_pattern = "v[0-9]*"

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

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

tag_pattern = "v[0-9]*" won’t match typical SemVer tags like v1.2.3 (the regex only allows digits after v, no dots). This will cause git-cliff --latest to pick the wrong tag or generate an "Unreleased" section during releases. Update the regex to match your actual tag format (e.g., v\d+\.\d+\.\d+.* or similar).

Suggested change
tag_pattern = "v[0-9]*"
tag_pattern = "v[0-9]+\\.[0-9]+\\.[0-9]+.*"

Copilot uses AI. Check for mistakes.
Comment on lines +3 to +9
on:
push:
tags:
- 'v*'
release:
types: [published]

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

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

This workflow triggers on both push tags and release: published. For the same version, that can run the pipeline twice and potentially try to recreate/update the same GitHub Release and re-upload assets, causing failures or duplicate work. Consider triggering from only one event (commonly push tags) or gating the release job with an if: so only one path creates/uploads release assets.

Copilot uses AI. Check for mistakes.
@OGR-67 OGR-67 merged commit 6703a08 into dev Mar 22, 2026
1 check passed
@OGR-67 OGR-67 deleted the 33-chore-setup-release-pipeline branch March 22, 2026 09:35
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.

2 participants