studylife-cli 1.8.2__tar.gz → 1.8.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/.github/workflows/ci.yml +46 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/CHANGELOG.md +7 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/PKG-INFO +1 -1
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/src/studylife_cli/_version.py +2 -2
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/.github/dependabot.yml +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/.gitignore +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/.releaserc.json +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/LICENSE +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/README.md +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/pyproject.toml +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/src/studylife_cli/__init__.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/src/studylife_cli/cli.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/src/studylife_cli/client.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/src/studylife_cli/credentials.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/src/studylife_cli/login.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/src/studylife_cli/models.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/src/studylife_cli/tui.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/tests/test_cli.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/tests/test_client.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/tests/test_login.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/tests/test_tui.py +0 -0
- {studylife_cli-1.8.2 → studylife_cli-1.8.3}/uv.lock +0 -0
|
@@ -53,6 +53,29 @@ jobs:
|
|
|
53
53
|
- uses: actions/checkout@v7.0.1
|
|
54
54
|
with:
|
|
55
55
|
fetch-depth: 0
|
|
56
|
+
# Ruleset bypass for the release commit (2026-09-11 main-protection rollout): main is
|
|
57
|
+
# protected by a ruleset (pull request + green test stage) that the GitHub Actions app
|
|
58
|
+
# cannot be a bypass actor for on a personal repository, so semantic-release pushes over
|
|
59
|
+
# SSH as a write-enabled DEPLOY KEY instead, which can. No-op while the secret is unset -
|
|
60
|
+
# the push then goes through the GITHUB_TOKEN https remote exactly as before. Needed in
|
|
61
|
+
# get-version too: @semantic-release/git's verifyConditions runs `git push --dry-run`
|
|
62
|
+
# even in dry-run mode. Same mechanism as lukislp/studylife's ci-cd.yml.
|
|
63
|
+
- name: Push as the semantic-release deploy key (if configured)
|
|
64
|
+
env:
|
|
65
|
+
DEPLOY_KEY: ${{ secrets.SEMANTIC_RELEASE_DEPLOY_KEY }}
|
|
66
|
+
run: |
|
|
67
|
+
if [ -z "$DEPLOY_KEY" ]; then
|
|
68
|
+
echo "SEMANTIC_RELEASE_DEPLOY_KEY is not set - semantic-release pushes with GITHUB_TOKEN"
|
|
69
|
+
exit 0
|
|
70
|
+
fi
|
|
71
|
+
mkdir -p ~/.ssh && chmod 700 ~/.ssh
|
|
72
|
+
printf '%s\n' "$DEPLOY_KEY" > ~/.ssh/semantic_release
|
|
73
|
+
chmod 600 ~/.ssh/semantic_release
|
|
74
|
+
# github.com's published ed25519 host key, pinned instead of ssh-keyscan'd at runtime:
|
|
75
|
+
# https://docs.github.com/en/authentication/keychain/githubs-ssh-key-fingerprints
|
|
76
|
+
echo "github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl" >> ~/.ssh/known_hosts
|
|
77
|
+
git remote set-url origin "git@github.com:${{ github.repository }}.git"
|
|
78
|
+
echo "GIT_SSH_COMMAND=ssh -i ~/.ssh/semantic_release -o IdentitiesOnly=yes" >> "$GITHUB_ENV"
|
|
56
79
|
- name: Sync to the current tip of main
|
|
57
80
|
run: |
|
|
58
81
|
git fetch origin main
|
|
@@ -83,6 +106,29 @@ jobs:
|
|
|
83
106
|
- uses: actions/checkout@v7.0.1
|
|
84
107
|
with:
|
|
85
108
|
fetch-depth: 0
|
|
109
|
+
# Ruleset bypass for the release commit (2026-09-11 main-protection rollout): main is
|
|
110
|
+
# protected by a ruleset (pull request + green test stage) that the GitHub Actions app
|
|
111
|
+
# cannot be a bypass actor for on a personal repository, so semantic-release pushes over
|
|
112
|
+
# SSH as a write-enabled DEPLOY KEY instead, which can. No-op while the secret is unset -
|
|
113
|
+
# the push then goes through the GITHUB_TOKEN https remote exactly as before. Needed in
|
|
114
|
+
# get-version too: @semantic-release/git's verifyConditions runs `git push --dry-run`
|
|
115
|
+
# even in dry-run mode. Same mechanism as lukislp/studylife's ci-cd.yml.
|
|
116
|
+
- name: Push as the semantic-release deploy key (if configured)
|
|
117
|
+
env:
|
|
118
|
+
DEPLOY_KEY: ${{ secrets.SEMANTIC_RELEASE_DEPLOY_KEY }}
|
|
119
|
+
run: |
|
|
120
|
+
if [ -z "$DEPLOY_KEY" ]; then
|
|
121
|
+
echo "SEMANTIC_RELEASE_DEPLOY_KEY is not set - semantic-release pushes with GITHUB_TOKEN"
|
|
122
|
+
exit 0
|
|
123
|
+
fi
|
|
124
|
+
mkdir -p ~/.ssh && chmod 700 ~/.ssh
|
|
125
|
+
printf '%s\n' "$DEPLOY_KEY" > ~/.ssh/semantic_release
|
|
126
|
+
chmod 600 ~/.ssh/semantic_release
|
|
127
|
+
# github.com's published ed25519 host key, pinned instead of ssh-keyscan'd at runtime:
|
|
128
|
+
# https://docs.github.com/en/authentication/keychain/githubs-ssh-key-fingerprints
|
|
129
|
+
echo "github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl" >> ~/.ssh/known_hosts
|
|
130
|
+
git remote set-url origin "git@github.com:${{ github.repository }}.git"
|
|
131
|
+
echo "GIT_SSH_COMMAND=ssh -i ~/.ssh/semantic_release -o IdentitiesOnly=yes" >> "$GITHUB_ENV"
|
|
86
132
|
- id: semrel
|
|
87
133
|
uses: cycjimmy/semantic-release-action@b12c8f6015dc215fe37bc154d4ad456dd3833c90 # v6.0.0
|
|
88
134
|
with:
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [1.8.3](https://github.com/lukislp/studylife-cli/compare/v1.8.2...v1.8.3) (2026-09-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **ci:** push release commits as a deploy key so the default branch can be ruleset-protected ([deb7440](https://github.com/lukislp/studylife-cli/commit/deb7440b07cd58380deda44711e0bce342968c42))
|
|
7
|
+
|
|
1
8
|
## [1.8.2](https://github.com/lukislp/studylife-cli/compare/v1.8.1...v1.8.2) (2026-09-04)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: studylife-cli
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.3
|
|
4
4
|
Summary: Command-line client for StudyLife (self-hosted study organizer) - notes, sessions, course goals, and webhooks from your terminal.
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Requires-Python: >=3.12
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.8.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 8,
|
|
21
|
+
__version__ = version = '1.8.3'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 8, 3)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|