Skip to content

[WIP] Finalize desktop build process and execute v2.1.0 release#13

Closed
Copilot wants to merge 2 commits into
masterfrom
copilot/create-release-tag-v2-1-0
Closed

[WIP] Finalize desktop build process and execute v2.1.0 release#13
Copilot wants to merge 2 commits into
masterfrom
copilot/create-release-tag-v2-1-0

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 13, 2026

  • Assess repository state and existing configurations
  • Create docs/RELEASE_CHECKLIST.md — step-by-step release checklist with pre-release validation, tag creation, build monitoring, artifact verification, download testing, manual testing, post-release steps, and troubleshooting
  • Create docs/RELEASE_NOTES_TEMPLATE.md — template for authoring release notes for future versions
  • Verify workflow configurations are correct:
    • .github/workflows/release-desktop.yml: triggers on v*.*.*, 4 matrix jobs (Windows/Linux/macOS-x64/macOS-arm64), uses softprops/action-gh-release@v2, contents: write permission ✅
    • desktop/package.json: correct artifactName patterns for all platforms ✅
  • Validated with parallel_validation (CodeQL: no code changes; Code Review: branch name master confirmed correct)
Original prompt

Finalize Desktop Build Process and Execute v2.1.0 Release

Objective

Complete the desktop application build preparation and create the v2.1.0 GitHub Release with automated installer builds for all platforms.

Current State

All infrastructure is ready:

Tasks Required

Task 1: Create Release Tag and Trigger Build

Create and push the git tag v2.1.0 to trigger the automated release workflow:

Tag Message:

Release v2.1.0 - First Official Release

✨ Features:
- Desktop applications for Windows, macOS (Intel + ARM), Linux
- Mobile app with TypeScript-ported analysis detectors
- 9 analysis engines (fiscal, constitutional, surveillance, etc.)
- Offline-first architecture
- Privacy-focused design

🎨 Improvements:
- Professional app icons for all platforms
- Native installers with proper signing preparation
- Multi-architecture macOS support (M-series + Intel)
- Automated release workflow with proper artifact naming

📦 Deliverables:
- Windows installer (x64): ODIA-Setup-2.1.0.exe
- macOS Intel: ODIA-2.1.0-x64.dmg
- macOS Apple Silicon: ODIA-2.1.0-arm64.dmg
- Linux AppImage: ODIA-2.1.0.AppImage

🔒 Security:
- All processing is local and offline
- No external API calls required
- Full SHA-256 provenance tracking

Task 2: Verify Workflow Configuration

Ensure these files are correctly configured for the release build:

.github/workflows/release-desktop.yml:

  • Trigger on tag pattern v*.*.*
  • 4 matrix jobs (Windows, Linux, macOS-Intel, macOS-ARM)
  • Correct artifact naming per platform
  • Uses action-gh-release@v2
  • Uploads platform-specific artifacts

desktop/package.json:

  • Correct artifactName patterns:
    • Windows: ${productName}-Setup-${version}.${ext}
    • macOS: ${productName}-${version}-${arch}.${ext}
    • Linux: ${productName}-${version}.${ext}

Task 3: Create Pre-Release Checklist Documentation

Add a file docs/RELEASE_CHECKLIST.md with the complete release process:

# ODIA Release Checklist

## Pre-Release Validation

- [ ] All tests passing on master
- [ ] Version numbers synchronized:
  - [ ] `pyproject.toml` version matches
  - [ ] `desktop/package.json` version matches
- [ ] CHANGELOG.md updated (if exists)
- [ ] Desktop app icons present in `desktop/resources/`
- [ ] README.md download links point to correct version

## Release Process

### 1. Create Release Tag

\`\`\`bash
git checkout master
git pull origin master
git tag -a v2.1.0 -m "Release message here"
git push origin v2.1.0
\`\`\`

### 2. Monitor Automated Build

- Go to: https://github.com/SynTechRev/ODIA/actions
- Watch "Build and Release Desktop Apps" workflow
- Expected duration: ~20 minutes
- 4 parallel jobs should complete successfully

### 3. Verify Release Artifacts

Release should be created at: https://github.com/SynTechRev/ODIA/releases/tag/v2.1.0

Expected artifacts:
- [ ] ODIA-Setup-2.1.0.exe (~180 MB)
- [ ] ODIA-2.1.0-x64.dmg (~200 MB)
- [ ] ODIA-2.1.0-arm64.dmg (~195 MB)
- [ ] ODIA-2.1.0.AppImage (~175 MB)

### 4. Test Download Links

Verify these URLs return actual files:
- https://github.com/SynTechRev/ODIA/releases/download/v2.1.0/ODIA-Setup-2.1.0.exe
- https://github.com/SynTechRev/ODIA/releases/download/v2.1.0/ODIA-2.1.0-x64.dmg
- https://github.com/SynTechRev/ODIA/releases/download/v2.1.0/ODIA-2.1.0-arm64.dmg
- https://github.com/SynTechRev/ODIA/releases/download/v2.1.0/ODIA-2.1.0.AppImage

### 5. Manual Testing (Recommended)

- [ ] Download Windows installer and verify it installs
- [ ] Download macOS DMG and verify it opens
- [ ] Download Linux AppImage and verify it executes
- [ ] Test app launches on each platform
- [ ] Verify analysis functionality works offline

### 6. Post-Release

- [ ] Mark release as "Latest release" (usually automatic)
- [ ] Announce release (optional)
- [ ] Close related issues/PRs
- [ ] Plan next version features

## Troubleshooting

### Build Fails

1. Check workflow logs: https://github.com/SynTechRev/ODIA/actions
2. Common issues:
   - npm ci errors → verify package-lock.json exists
   - Python dependencies → check requirements.txt
   - Platform-specific errors → review runner logs

### Release Not Created

- Verify tag was pushed: `git ls-remote --tags origin`
- Check tag format matches `v*.*.*` pattern
- Ensure workflow has `contents: write` permission

### Installers Missing

- Check if workflow completed all 4 jobs
- Verify artifact upload succeeded
- Check file patterns in release-desktop.yml match actual output
\`\`\`

### Task 4: Add Release Notes Template

Create `docs/RELEASE_NOTES_TEMPLATE.md`:

```markdown
# Release Notes Template

Use this template when creating release tags:

...

</details>



<!-- START COPILOT CODING AGENT SUFFIX -->

*This pull request was created from Copilot chat.*
>

Copilot stopped work on behalf of SynTechRev due to an error April 13, 2026 18:28
Copilot AI requested a review from SynTechRev April 13, 2026 18:28
@SynTechRev
Copy link
Copy Markdown
Owner

Closing: this was accidentally triggered. The v2.1.1 release (desktop icons, macOS multi-arch build, CI fixes) is already complete and merged to master via PR #12.

@SynTechRev SynTechRev closed this Apr 13, 2026
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