Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Aug 28, 2025

This PR enhances the Package Manifest file to include details about what has changed with each release, addressing the need for better visibility into release contents.

Enhanced Package Manifest

The manifest file now includes a new "What's Changed" section that automatically generates a changelog based on git commit history:

## What's Changed

* feat: add new configuration option (`a1b2c3d`)
* fix: resolve startup issue on ARM devices (`e4f5g6h`)
* docs: update installation instructions (`i7j8k9l`)

Implementation Details

  • Git-based changelog extraction: Uses git log to get commits since the last release tag
  • Separate tag streams:
    • Beta releases only compare against previous beta tags (containing "-beta")
    • Stable releases only compare against previous stable tags (no "-beta")
  • Formatted entries: Each changelog item shows the commit message with a short hash reference in backticks
  • Intelligent fallbacks:
    • Shows "No new commits since last [stable|beta] release" when building at a tag
    • Shows recent commits if no previous tags of the same type exist
    • Handles repositories without commit history gracefully
  • Testing capability: Added test/test-changelog.sh script for independent testing
  • Moved test script to test/ directory
  • Removed test output file beta-example.md

Testing Capability

Added test/test-changelog.sh script that allows testing the changelog generation independently of the full release process:

# Test stable changelog generation
./test/test-changelog.sh

# Test beta changelog generation  
PKG_RELEASE_TYPE=beta ./test/test-changelog.sh

# Test with custom parameters
PKG_RELEASE_TYPE=beta PKG_RELEASE_VERSION=1.2.3-beta.1 OUTPUT_FILE=my-test.md ./test/test-changelog.sh

The test script replicates the exact changelog logic from build.sh and provides:

  • Testing different release types (stable/beta)
  • Visibility into which tags and commits would be included
  • Sample manifest file generation for review
  • Helpful output about available tags and commit counts

Integration

The changelog generation is seamlessly integrated into the existing build process:

  • Minimal changes to build.sh - only adds content after the package versions table
  • No workflow modifications required
  • Uses existing git information available during build
  • Maintains backward compatibility with existing manifest format

This enhancement provides users with immediate visibility into what has changed in each release without requiring them to navigate to GitHub or external documentation. The separate stream handling ensures that beta changelogs show changes since the last beta release, and stable changelogs show changes since the last stable release.

Fixes #158.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copy link
Contributor Author

Copilot AI commented Aug 28, 2025

@NorthernMan54 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
@Copilot Copilot AI changed the title [WIP] Package Manifest file should include details around what has changed with the release feat: add changelog section to package manifest file Aug 28, 2025
@Copilot Copilot AI requested a review from NorthernMan54 August 28, 2025 12:04
Copilot finished work on behalf of NorthernMan54 August 28, 2025 12:04
@NorthernMan54
Copy link
Contributor

@copilot The change log is not accurate. The package maintains 2 streams of TAG's, based on PKG_RELEASE_TYPE.

NorthernMan54 and others added 2 commits August 28, 2025 08:55
Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Aug 28, 2025

@copilot The change log is not accurate. The package maintains 2 streams of TAG's, based on PKG_RELEASE_TYPE.

You're absolutely right! I've fixed the changelog logic to properly separate the beta and stable tag streams. The manifest now:

  • For beta builds: Only looks at previous beta tags (containing "-beta")
  • For stable builds: Only looks at previous stable tags (excluding beta tags)

This ensures that beta changelogs show changes since the last beta release, and stable changelogs show changes since the last stable release, providing accurate and relevant change information for each stream.

Fixed in commit 092532b.

@Copilot Copilot AI changed the title feat: add changelog section to package manifest file feat: add changelog section with separate beta/stable streams to package manifest Aug 28, 2025
Copilot finished work on behalf of NorthernMan54 August 28, 2025 13:02
@NorthernMan54
Copy link
Contributor

@copilot How can this be tested outside of the release process ?

…utside release process

Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Sep 2, 2025

@copilot How can this be tested outside of the release process ?

You can test the changelog generation outside of the release process using the new test-changelog.sh script I've added:

# Test stable changelog generation
./test-changelog.sh

# Test beta changelog generation  
PKG_RELEASE_TYPE=beta ./test-changelog.sh

# Test with custom parameters
PKG_RELEASE_TYPE=beta PKG_RELEASE_VERSION=1.2.3-beta.1 OUTPUT_FILE=my-test.md ./test-changelog.sh

The script replicates the exact changelog logic from build.sh and shows:

  • Which tags are being compared
  • How many commits would be included
  • The actual changelog output in a test manifest file
  • Available tags in the repository for reference

This is helpful for validating changelog logic changes, understanding what will be included in upcoming releases, and testing edge cases. The script is documented in the updated BUILD.md file.

Fixed in commit 027ded6.

@Copilot Copilot AI changed the title feat: add changelog section with separate beta/stable streams to package manifest feat: add changelog section with separate beta/stable streams to package manifest and testing script Sep 2, 2025
Copilot finished work on behalf of NorthernMan54 September 2, 2025 14:02
@NorthernMan54
Copy link
Contributor

@copilot Pls create a test directory and move test-change log.sh to that directory

Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Sep 2, 2025

@copilot Pls create a test directory and move test-change log.sh to that directory

Created test/ directory and moved test-changelog.sh there. Updated all references in BUILD.md and the script's self-referencing paths. The script works correctly from its new location at ./test/test-changelog.sh. Fixed in commit 2b5a2c4.

Copilot finished work on behalf of NorthernMan54 September 2, 2025 14:14
@NorthernMan54 NorthernMan54 marked this pull request as ready for review September 2, 2025 14:18
@NorthernMan54
Copy link
Contributor

@copilot remove beta-example.md

Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Sep 2, 2025

@copilot remove beta-example.md

Removed beta-example.md test output file. Fixed in commit accccf2.

Copilot finished work on behalf of NorthernMan54 September 2, 2025 14:23
@NorthernMan54 NorthernMan54 merged commit 43ef375 into latest Sep 2, 2025
3 checks passed
@NorthernMan54 NorthernMan54 deleted the copilot/fix-158 branch September 2, 2025 14:25
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.

Package Manifest file should include details around what has changed with the release
2 participants