-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Add release creation guide #11152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add release creation guide #11152
Conversation
Branch Targeting SuggestionYou've targeted the
If This is an automated suggestion to help route contributions to the appropriate branch. |
|
You are nearing your monthly Qodo Merge usage quota. For more information, please visit here. PR Compliance Guide 🔍All compliance sections have been disabled in the configurations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
High-level Suggestion
The new documentation outlines a complex manual release process. This process should be automated, for example via a GitHub Actions workflow, to improve reliability and reduce human error, using the new document as a blueprint. [High-level, importance: 9]
Solution Walkthrough:
Before:
# Manual process from docs/development/release-create.md
# 1. Manually update SITL binaries
curl -L -o /tmp/sitl-resources.zip ...
unzip ...
cp ...
git commit -m "Update SITL binaries for <version>"
# 2. Manually create tags in two repos
cd inav && git tag <version> && git push origin <version>
cd inav-configurator && git tag <version> && git push origin <version>
# 3. Manually generate changelog
gh pr list --state merged ...
# 4. Manually download, rename, and upload artifacts
gh release download <nightly-tag> ...
# ... manual renaming script ...
gh release create <version> --draft ...
gh release upload <version> *.hex
After:
# .github/workflows/create-release.yml
name: Create Release
on:
workflow_dispatch:
inputs:
version:
description: 'Release version (e.g., 8.0.0)'
required: true
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run Release Automation Script
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ github.inputs.version }}
run: |
./scripts/release.sh $VERSION
# This script would perform all steps:
# - Update SITL binaries
# - Tag both repositories
# - Generate changelog
# - Download, rename, and prepare artifacts
# - Create draft releases on GitHub with all assets
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
User description
Adds comprehensive documentation for creating INAV releases, covering:
PR Type
Documentation
Description
Adds comprehensive release creation guide for INAV firmware and configurator
Covers version numbering, pre-release checklist, and SITL binary updates
Documents tagging workflow, changelog generation, and artifact management
Includes GitHub release creation, asset naming conventions, and hotfix procedures
Diagram Walkthrough
File Walkthrough
release-create.md
Complete INAV release creation process documentationdocs/development/release-create.md
releases
CMakeLists.txtandpackage.jsondocumentation requirements
SITL binary updates, tagging, changelog generation, artifact
downloads, and GitHub release creation
procedures, and post-release tasks
process