You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support releasing individual packages in nimi-python (#2090)
* Update of changelog and python scripts to support the indivitual versioning .
* Updated files are per new implementation
* CHangelog Sample
* New ChangeLog
* Updated changelog
* ni Dc power to Test
* Added for nidmm and digital
* Fixed for all drviers
* Including seperator
* Spacing issue fixed
* Updated Contributing.md file
* Updated alignment
* Alignment fixed
* Updated help in UpdateReleaseInfo.py
* Accept only one input
* Updated changelog and contributing.md
* Contibuting MD version change.
* changes for flake command
* Will be moving the changelog changes to different PR
* Included changes for code reveiw comments.
* Revert "Included changes for code reveiw comments."
This reverts commit 9de9d57.
* Reapply "Included changes for code reveiw comments."
This reverts commit cc126e8.
* Minor bug fix.
* Code Review comments implementations
* Removed build version increment
* Updated review comments
* Code review comments incorporated.
* Updating example.rst.mako and check_latest_release.yml file
* Incorporated review comments.
* check_latest_release.ywm file updated
---------
Co-authored-by: dummy <dummy@ni.com>
1. Create a release on GitHub using the portion from the changelog for this release for the description
176
-
* Add the ZIP files under `generated/examples`for each module as a release artifact.
196
+
1. For each package released, create a release on GitHub using the module's portion from the changelog for this release for the description
197
+
* The release tag should be named as follows: `MODULE_NAME-version`.
198
+
* Example: `nidcpower-1.5.0`.
199
+
* This tag format allows the individual `Read the Docs` projects to determine whether a release applies to them.
200
+
* Add the ZIP files under `generated/examples` for each module (not just the releasing one) as a release artifact.
201
+
* Internal test code will only look for the latest release tag and expect it to have examples attached for any module
177
202
* This should trigger the [check_latest_release](.github/workflows/check_latest_release.yml) workflow. Check the [results](https://github.com/ni/nimi-python/actions/workflows/check_latest_release.yml) before continuing.
178
203
1. Post-Release Steps
179
204
1. Create and checkout another branch for post-release changes
180
-
1. Update the module versions
181
-
*`python3 tools/build_release.py --update`
182
-
* This will update the version to X.X.(N+1).dev0
205
+
1. Update the module version for a patch version upgrade. This will update the version to X.X.(N+1).dev0
1. Clean and build to update generated files with new version
185
214
* `python3 tools/build_release.py --build`
215
+
* Ensure that all changes made as part of build command are specific to intended drivers.
186
216
* Commit to branch
187
217
1. Update changelog
188
218
* Copy Unreleased section from the bottom of the changelog. Modify the package name in the example and TOC. Paste the modified section at the top of intended package's changelog and add a corresponding link to it in the package's TOC.
build_group.add_argument("--release", action="store_true", default=False, help="This is a release build, so only remove '.devN'. build, then update with .dev0")
37
36
build_group.add_argument("--upload", action="store_true", default=False, help="Upload build distributions to PyPI")
38
-
build_group.add_argument("--update", action="store_true", default=False, help="Update version in config.py files")
39
37
build_group.add_argument("--build", action="store_true", default=False, help="Clean and build")
40
38
build_group.add_argument("--python-cmd", action="store", default=None, help=f"Command to use for invoking python. Default: {default_python_cmd}")
39
+
build_group.add_argument("--drivers", action="store", default=None, help="Comma-separated list of drivers to update. Default: All Drivers")
40
+
build_group.add_argument("--increment-major-version", action="store_true", default=False, help="Increment the major version")
41
+
build_group.add_argument("--increment-minor-version", action="store_true", default=False, help="Increment the minor version")
42
+
build_group.add_argument("--increment-patch-version", action="store_true", default=False, help="Increment the patch version")
43
+
build_group.add_argument("--update-for-release", action="store_true", default=False, help="This is a release build, so only remove '.devN'. build, then update with .dev0")
verbosity_group.add_argument("--preview", action="store_true", default=False, help="Show what would happen when running with given parameters")
45
48
verbosity_group.add_argument("--log-file", action="store", default=None, help="Send logging to listed file instead of stdout")
46
49
args=parser.parse_args()
47
50
51
+
# Validate that only one of the version-related flags is provided
52
+
version_flags= [
53
+
args.increment_major_version,
54
+
args.increment_minor_version,
55
+
args.increment_patch_version,
56
+
args.update_for_release,
57
+
]
58
+
ifsum(version_flags) >1:
59
+
raiseValueError("Only one of --increment-major-version, --increment-minor-version, --increment-patch-version or --update-for-release can be provided.")
file_group.add_argument("--release", action="store_true", default=False, help="This is a release build, so only remove '.devN'. Error if not there")
36
+
file_group.add_argument("--update-type", action="store", default=None, choices=["major", "minor", "patch"], help="Specify the type of update: major, minor or patch. ")
0 commit comments