Skip to content
This repository has been archived by the owner on Sep 26, 2022. It is now read-only.

Fix issue 255: implement patches for pre-release channels #310

Closed
wants to merge 92 commits into from

Conversation

dennisvang
Copy link

@dennisvang dennisvang commented Dec 6, 2021

This is an attempt to fix the implementation of patches for pre-release channels, as discussed in issue #255 .

catch FileNotFoundError, due to missing manifest, in utils.make_archive()
add test for utils.make_archive(), reproducing issue 304
fix Package.name_regex
introduce a parse_archive_name function, with tests
use parse_archive_name to fix Package.extract_info
removed Package._parse_package_name, now unused
cherry-pick VALID_CHANNELS from bce7d36 (issue311)
introduce a gen_pep440_version(), similar to gen_user_friendly_version, with tests
refactor gen_pep440_version to handle stable (post) release versions
refactor get_highest_version() to use gen_pep440_version()
add test to verify packaging.version.parse() compatibility of gen_pep440_version output
remove redundant f-string specifiers
add test to show that alpha/beta patches are not applied
remove channel==stable condition for patch update
@dennisvang dennisvang marked this pull request as draft December 22, 2021 19:56
@dennisvang dennisvang changed the title update note in client-advanced docs: patches are created for each channel apply patches for pre-release channels Dec 22, 2021
add test to show that Patcher.__init__ messes up the current version.
move command line version check from utils.builder to cli.options and use packaging.version, with tests
add some typing for version string arguments, to prevent confusion
Merge branch 'issue299' into drop-dsdev-version
implement Package.channel as property, using packaging Version instead of dsdev-utils Version
fix cli app_version test
move VALID_CHANNELS from cli.options to settings, to prevent circular imports (and it's more obvious)
assign parts only after checking for TypeError, and fix Package tests
add todo notes for next release (backward incompatible changes)
remove parse_platform, as it has been replaced by parse_archive_name
rename PackageHandler private methods for consistency
add a LATEST_KEY for consistency
create a VersionShim class in utils, replacing the version functions from client.updates
adapt TestLibUpdate to use new version_manifest test fixture
add test for Patcher._get_required_patches
simplify fall_back return value for Patcher._get_patch_info()
remove redundant name arg from Patcher._get_required_patches
add tests for Patcher._get_patch_info()
remove args name and option from Patcher._get_info() and simplify (only option=file is ever used)
clean up test_patcher (DRY patcher kwargs)
remove unnecessary usefixtures from test_client
@dennisvang dennisvang changed the title apply patches for pre-release channels Fix issue 255: implement patches for pre-release channels Jan 6, 2022
rename PackageHandler._load_version_file to _load_version_data, because it does not load a file
remove PackageHandler._add_package_to_config, as it does not seem to serve any purpose
untangle config arguments from PyUpdater, PackageHandler, Uploader, and PluginManager, and amend tests
clean up package handler tests
rename variables in Package.extract_info, for consistency
remove all usage of py_repo_config from PackageHandler
remove all usage of py_repo_config from Patch, let patch filename match archive filename, except suffix
move get_latest_version from client to utils, and amend tests
Merge branch 'issue255' into issue323
remove strict arg from get_latest_version, Client.update_check, and LibUpdate (use channel=None instead of strict=True), amend tests
remove usage of 'latest' manifest object from Patch, use get_latest_version instead
remove unused _channel from Patch
remove Patch.channel, remove _test condition from Patch, improve test coverage for Patch
remove Package.channel property, and amend tests
remove last usage of 'latest' manifest object from PackageHandler, todo: create cli tool to create legacy versions.gz
rename Patch._pkg_info to _new_pkg for consistency
add None to VALID_CHANNELS
remove last remaining channel attributes
rename Client obj arg to client_config, for clarity
@JMSwag JMSwag closed this Sep 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants