Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 30 additions & 42 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,51 +1,39 @@
# bump and tag version
bump-patch:
@echo "Updating patch version..."
bumpver update --patch
.PHONY: changelog lint release help

bump-minor:
@echo "Updating minor version..."
bumpver update --minor

bump-major:
@echo "Updating major version..."
bumpver update --major

# generate changelog since last version tag
changelog:
@echo "## Changelog since $(shell git describe --tags --match 'v[0-9]*.[0-9]*.[0-9]*' --abbrev=0)" && \
changelog: ## Show changelog since last version tag
@tag=$$(git tag --sort=-version:refname --list 'v[0-9]*.[0-9]*.[0-9]*' | head -1) && \
echo "## Changelog since $$tag" && \
echo "" && \
git log --oneline $(shell git describe --tags --match 'v[0-9]*.[0-9]*.[0-9]*' --abbrev=0)..HEAD | sed 's/^/- /'
git log --oneline $$tag..HEAD | sed 's/^/- /'

# run linting checks
lint:
lint: ## Run linting checks
@echo "Running linting checks..."
uv run ruff check . --diff
@uv run ruff check . --diff

# push tag and create PR (for when we've already bumped the version)
push-release:
@echo "Creating release tag with v prefix..."
@CURRENT_VERSION=$$(uv run bumpver show | grep "Current Version:" | cut -d' ' -f3); \
git tag "v$$CURRENT_VERSION" $$CURRENT_VERSION; \
echo "Pushing tags to trigger build..."; \
git push origin --tags; \
echo "Creating PR to sync dev to main..."; \
release: lint ## Create a release. Usage: make release LEVEL=patch|minor|major
@if [ -z "$(LEVEL)" ]; then \
echo "Error: LEVEL is required. Usage: make release LEVEL=patch|minor|major"; \
exit 1; \
fi
@CHANGELOG=$$($(MAKE) --no-print-directory changelog) && \
echo "$$CHANGELOG" && \
echo "Updating $(LEVEL) version..." && \
uv run bumpver update --$(LEVEL) && \
CURRENT_VERSION=$$(uv run bumpver show | grep "Current Version:" | cut -d' ' -f3) && \
echo "Creating release tag v$$CURRENT_VERSION..." && \
git tag "v$$CURRENT_VERSION" && \
git push origin --tags && \
if gh pr view --base main --head dev > /dev/null 2>&1; then \
echo "PR already exists. Skipping PR creation."; \
echo "PR already exists, skipping PR creation."; \
else \
gh pr create --base main --head dev --title "Sync dev to main after release" --body "Automated PR to sync dev branch changes to main after release v$$CURRENT_VERSION\n\n## Changelog\n$$(make changelog)"; \
fi; \
gh pr create --base main --head dev \
--title "Sync dev to main after release v$$CURRENT_VERSION" \
--body "$$(printf '%s' "$$CHANGELOG")"; \
fi && \
echo "Release pushed successfully!"

# create release with specified level: make release LEVEL=patch|minor|major
release: lint
@echo "Creating release..."
@echo "Changelog for this release:" && \
$(MAKE) changelog
@read -p "Continue with release? [y/N] " confirm && \
if [ "$$confirm" != "y" ] && [ "$$confirm" != "Y" ]; then \
echo "Release cancelled."; exit 1; \
fi
@echo "Updating $(LEVEL) version..."
bumpver update --$(LEVEL)
$(MAKE) push-release
help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*##' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS = ":.*##"}; {printf " %-20s %s\n", $$1, $$2}'

.DEFAULT_GOAL := help
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "reskinner"
requires-python = ">=3.7"
description = "Instantaneous theme changing for PySimpleGUI and FreeSimpleGUI windows."
version = "4.2.1"
version = "4.2.2"
authors = [{ name = "Divine U. Afam-Ifediogor" }]
license = { file = "LICENSE" }
readme = "./res/DESCRIPTION.md"
Expand Down Expand Up @@ -88,7 +88,7 @@ target-version = "py37"
line-length = 88

[tool.bumpver]
current_version = "4.2.1"
current_version = "4.2.2"
version_pattern = "MAJOR.MINOR.PATCH"
commit_message = "bump version {old_version} -> {new_version}"
tag_message = "{new_version}"
Expand Down
6 changes: 3 additions & 3 deletions src/reskinner/reskinner.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
ElementFilter = Callable[[T], bool]

# Element reskinner instance
element_reskinner = ElementReskinner()
_element_reskinner = ElementReskinner()


def reskin(
Expand Down Expand Up @@ -169,11 +169,11 @@ def _reskin(
else window.element_list()
)

element_reskinner.update_colorizer(colorizer)
_element_reskinner.update_colorizer(colorizer)

# Per-element changes happen henceforth
for element in whitelist:
element_reskinner.reskin_element(element)
_element_reskinner.reskin_element(element)


def toggle_transparency(window: sg.Window) -> None:
Expand Down