├── 00-definitions.sh # Configuration and variable definitions
├── 01-import-release.sh # Import a new SDK release
├── 02-merge-release-target-branch.sh # Merge release into target branch
├── 99-run-import-n-merge.sh # Run full import and merge workflow
├── create-patch-branch.sh # Create a patch branch from a release
├── delete-references.sh # Delete tags/branches for a release
├── delete-references-integration-branch.sh
├── get-references.sh # List tags/branches for a release
├── push_releases.sh # Push release refs to remote
├── _lib/ # Shared functions
├── _resources/ # .gitattributes / .gitignore templates
├── source_releases/ # Extracted SDK releases (input)
└── beo-airoha/ # Target repository (submodule)
Place the extracted SDK release folder(s) in source_releases/ with naming matching V<major>.<minor>.<patch> (e.g. V5.9.0).
release=V5.9.0 \
issue_reference=SDK-1234 \
debug=true \
bash ./01-import-release.sh| Variable | Default | Description |
|---|---|---|
release |
auto-detected from source_releases/ |
Release version to import |
issue_reference |
(none) | Issue/ticket reference for commit messages |
debug |
false |
Enable verbose output (set -x) |
git_push_release |
true |
Push release branch/tags to remote |
copy_gitfiles |
true |
Copy .gitattributes/.gitignore from _resources/ |
append_mode |
false |
Append to existing content instead of replacing |
duplicate_ref_designs |
false |
Duplicate ab159x reference designs for ab158x |
release=V5.9.0 \
target_branch=main \
commit_merge=false \
debug=false \
bash ./02-merge-release-target-branch.shThis will leave the repo in an unmerged state so you can resolve conflicts locally.
To auto-commit the merge (conflicts included):
release=V5.9.0 \
target_branch=main \
commit_merge=true \
git_push_release=true \
bash ./02-merge-release-target-branch.sh| Variable | Default | Description |
|---|---|---|
target_branch |
master |
Branch to merge the release into |
commit_merge |
true |
Commit the merge result (even with conflicts) |
integration_branch |
<release>-<target_branch> |
Name of the integration branch |
target_repo |
origin |
Remote to use |
Imports all releases found in source_releases/ sequentially, then merges the last one into target branches:
debug=false \
issue_reference=SDK-1234 \
target_branch=main \
bash ./99-run-import-n-merge.shrelease=V5.9.0 \
issue_reference=SDK-1234 \
bash ./create-patch-branch.shList all local/remote branches and tags associated with a release:
[ release=V5.9.0 ] bash ./get-references.shDelete all branches and tags for a release (local and remote):
[ release=V5.9.0 ] [ dryrun=true ] bash ./delete-references.shPush release branches and tags to remote:
[ release=V5.9.0 ] [ dryrun=true ] bash ./push_releases.sh