Skip to content

Commit 8700c26

Browse files
committed
ci: add release-please automation
- .release-please-manifest.json: tracks current version (0.1.0) - release-please-config.json: Python release type, changelog-sections - .github/workflows/release-please.yml: workflow for automated releases - CHANGELOG.md: initial changelog Commit types that trigger releases: feat, fix, perf, security, revert Hidden types (no release): docs, chore, refactor, style, test, ci, build
1 parent 7ce81e2 commit 8700c26

File tree

4 files changed

+81
-0
lines changed

4 files changed

+81
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
permissions:
8+
contents: write
9+
pull-requests: write
10+
11+
jobs:
12+
release-please:
13+
runs-on: ubuntu-latest
14+
outputs:
15+
release_created: ${{ steps.release.outputs.release_created }}
16+
tag_name: ${{ steps.release.outputs.tag_name }}
17+
version: ${{ steps.release.outputs.version }}
18+
steps:
19+
- name: Run release-please
20+
id: release
21+
uses: googleapis/release-please-action@v4
22+
with:
23+
release-type: python
24+
manifest-file: .release-please-manifest.json
25+
config-file: release-please-config.json
26+
token: ${{ secrets.GITHUB_TOKEN }}
27+
28+
# Future: Add PyPI publish job here
29+
# publish:
30+
# needs: release-please
31+
# if: needs.release-please.outputs.release_created
32+
# runs-on: ubuntu-latest
33+
# steps:
34+
# - uses: actions/checkout@v4
35+
# - name: Build and publish to PyPI
36+
# ...

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "0.1.0"
3+
}

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.1.0](https://github.com/cachekit-io/cachekit-py/releases/tag/v0.1.0) (2025-12-11)
9+
10+
### Features
11+
12+
* Initial release of cachekit
13+
* Two-tier caching (L1 in-memory + L2 Redis)
14+
* Zero-knowledge encryption with `@cache.secure`
15+
* Circuit breaker for Redis fault tolerance
16+
* Distributed locking to prevent cache stampedes
17+
* Adaptive timeouts based on Redis latency
18+
* MessagePack serialization with LZ4 compression

release-please-config.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3+
"release-type": "python",
4+
"changelog-sections": [
5+
{"type": "feat", "section": "Features"},
6+
{"type": "fix", "section": "Bug Fixes"},
7+
{"type": "perf", "section": "Performance Improvements"},
8+
{"type": "security", "section": "Security"},
9+
{"type": "revert", "section": "Reverts"},
10+
{"type": "docs", "section": "Documentation", "hidden": true},
11+
{"type": "chore", "section": "Miscellaneous", "hidden": true},
12+
{"type": "refactor", "section": "Code Refactoring", "hidden": true},
13+
{"type": "style", "section": "Styles", "hidden": true},
14+
{"type": "test", "section": "Tests", "hidden": true},
15+
{"type": "ci", "section": "CI/CD", "hidden": true},
16+
{"type": "build", "section": "Build System", "hidden": true}
17+
],
18+
"packages": {
19+
".": {
20+
"package-name": "cachekit",
21+
"changelog-path": "CHANGELOG.md"
22+
}
23+
}
24+
}

0 commit comments

Comments
 (0)