Fix: Release artifact filtering for new naming convention#40
Merged
technicalpickles merged 2 commits intomainfrom Sep 4, 2025
Merged
Fix: Release artifact filtering for new naming convention#40technicalpickles merged 2 commits intomainfrom
technicalpickles merged 2 commits intomainfrom
Conversation
The release workflow was still looking for 'envsense-v*' pattern but
we updated the naming convention to 'envsense-{version}' without the 'v' prefix
in v0.2.2. This caused the Linux binary to be filtered out of releases.
Issue: Only the macOS universal binary appeared in the v0.2.2 release,
even though both binaries were built successfully.
Fix: Update the pattern from 'envsense-v*' to 'envsense-*' to match
the new naming convention.
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR fixes a critical issue where Linux binaries were being excluded from GitHub releases due to an outdated artifact filtering pattern in the release workflow. The fix updates the pattern to match the current naming convention that was changed in v0.2.2.
- Updates artifact filtering pattern from
envsense-v*toenvsense-*to match new naming convention - Ensures both Linux and macOS binaries are included in future releases
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Enhanced test scripts to prevent issues like the v0.2.2 Linux binary missing: 1. **Updated test-release.sh**: - Match actual release targets (Linux x64 + macOS Universal only) - Added release artifact filtering simulation - Verify all expected binaries would be included in releases - Simplified cross-platform logic to match current workflow 2. **Fixed test-release-scripts.yml**: - Updated to use new naming convention (removed 'v' prefix) - Fixed hardcoded version reference 3. **New validation**: - Simulates exact filtering logic from release.yml - Catches mismatched naming patterns before they reach production - Validates that all built binaries would be released This would have caught the v0.2.2 issue where the Linux binary was built but filtered out due to the naming pattern mismatch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The v0.2.2 release at https://github.com/technicalpickles/envsense/releases/tag/v0.2.2 is missing the Linux binary, even though the GitHub Actions run shows both binaries were built successfully.
Root Cause
The release workflow's artifact filtering step was still using the old naming pattern:
```bash
find dist/ -name "envsense-v*" -not -name "-test" -exec cp {} release-files/ ;
```
But in v0.2.2 we updated the naming convention to remove the "v" prefix:
This caused the Linux binary (`envsense-0.2.2-x86_64-unknown-linux-gnu`) to be filtered out.
Solution
🔧 Fixed Release Workflow
Updated the pattern from `envsense-v*` to `envsense-*` to match the new naming convention.
🧪 Enhanced Testing to Prevent Future Issues
Added comprehensive testing improvements to catch this type of issue early:
Release Artifact Filtering Simulation: `test-release.sh` now simulates the exact filtering logic from the release workflow and validates that all expected binaries would be included.
Updated Test Targets: Simplified test script to match actual release targets (Linux x64 + macOS Universal only).
Fixed Test Workflow: Updated `.github/workflows/test-release-scripts.yml` to use the new naming convention.
Testing
Impact
This comprehensive fix ensures both the immediate issue is resolved and similar problems are caught during development.