-
-
Notifications
You must be signed in to change notification settings - Fork 4
meta(client): Release setup #157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
85 commits
Select commit
Hold shift + click to select a range
eb22f80
feat(client-py): Add a (empty) package for the Python client
lcian d37032c
use workspace, use internal PyPI for whole workspace, uv sync
lcian 86c75cb
specify build system, install client as editable
lcian 8f932f2
uv sync --all-packages in envrc for unified venv
lcian 987c9c6
rebased
lcian 1e9388c
lockfile
lcian ac5bc03
adjst commands
lcian a29e932
add pre-commit
lcian 58d5309
disclaimer on pre-commit
lcian daca135
readme
lcian ca248cb
build_system
lcian 1c93543
os matrix
lcian 33ff8b4
os matrix
lcian 1f5d760
improve
lcian 790e69a
improve
lcian e209b31
only tests in matrix
lcian ad1a998
exclude mypy on windows
lcian 25c4df6
exclude precommit on windows
lcian 5296238
make internal pypi not exclusive - packages are missing on win
lcian 41c5edf
ci only on win and macos
lcian 5c2305e
default = true
lcian 7a6d503
lower py version, regenerate uv.lock
lcian e0c1a52
lower .python-version as well for CI
lcian 1ac9c9c
just require 3.11
lcian 5c0e09f
lower req to 3.11.9 due to GH runners availability
lcian b7ebd66
regerate lockfile with 3.11
lcian 08fd439
feat(py-client): Add Python client implementation
lcian 984888c
improve
lcian d24bf59
improve
lcian f62f754
regerate lockfile for 3.11
lcian 53d7f41
vendor in itertools.batched
lcian ce3dcb6
improve
lcian db5229d
move flake8 config to pyproject.toml
lcian 5cffe3f
improve
lcian 8ab5467
readd back setup.cfg
lcian 75c6065
use public PyPI for now
lcian 06d8d11
Merge branch 'main' into lcian/feat/python-client-devsetup
lcian 074da70
back to python 3.13
lcian e1b78e9
use ruff; less pre-commit hooks; less overriding things
lcian 0bbe63b
use uv run for CI
lcian b592a34
test only on ubuntu-latest
lcian 10d6c92
specify workflow permissions; remove concurrency
lcian 114e0d4
format py file in devenv dir
lcian 96c25d5
move pytest to top level; run uv sync in CI
lcian 664e211
try removing uv run prefix from CI commands
lcian 76c8943
delete gitignore
lcian 395963c
ignore just dist
lcian 0bb4a6f
unify CI
lcian 2e19ec3
fix workflow file
lcian 088fd48
improve
lcian 7d1d979
improve
lcian 6f6a046
improve
lcian 5389be3
change mypy rules slightly
lcian 10fb7cd
pin minor python version
lcian 28f41b4
simplify build requirement
lcian 93ada0e
improve
lcian 1f49192
Merge branch 'lcian/feat/python-client-devsetup' into lcian/feat/pyth…
lcian 1687ac2
remove metrics.timing in favor of distribution
lcian e861c49
Update .pre-commit-config.yaml
lcian de40c3e
Merge branch 'lcian/feat/python-client-devsetup' into lcian/feat/pyth…
lcian e9b2306
remove vendored itertools thingy; satisfy linter
lcian 3fd52f2
Merge branch 'main' into lcian/feat/python-client-initial-code
lcian bb300b6
remove setup.cfg
lcian 2ea00c5
ref(client): Move clients to a clients subdirectory
lcian d2d92b6
adjust workflow
lcian 4d445b2
meta(client): Release setup
lcian 357ee69
improve metadata
lcian cbcde00
improve
lcian 30e5a6c
improve
lcian 38fb9e5
Merge branch 'main' into lcian/feat/move-clients
lcian 441af88
Merge branch 'lcian/feat/move-clients' into lcian/feat/client-release…
lcian d0a481d
improve
lcian 4a45446
improve
lcian 2408aba
symlink?
lcian ba6750b
improve
lcian 48cf72c
improve
lcian 7bd3cd9
Merge branch 'main' into lcian/feat/client-release-setup-clean
jan-auer bc22e83
partially address comments
lcian 1a7eeea
put client build in separate workflow
lcian 74978f0
temporary changes to test release
lcian 13cb559
labeled
lcian 876ef67
fix prerelease commands
lcian c918beb
fix workflow
lcian eee2039
temporary change
lcian 2c365f6
undo temporary changes
lcian File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| name: Build Python client | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - release/** | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| build: | ||
| name: Build and upload artifacts | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2 | ||
|
|
||
| - name: Build artifacts | ||
| run: uv build --package objectstore-client | ||
|
|
||
| - uses: actions/upload-artifact@v5 | ||
| with: | ||
| path: dist/* | ||
| if-no-files-found: 'error' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| name: Release client libraries | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| version: | ||
| description: Version to release | ||
| required: true | ||
| force: | ||
| description: Force a release even when there are release-blockers (optional) | ||
| required: false | ||
| merge_target: | ||
| description: Target branch to merge into. Uses the default branch as a fallback (optional) | ||
| required: false | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| release: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 | ||
| id: token | ||
| with: | ||
| app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }} | ||
| private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }} | ||
|
|
||
| - uses: actions/checkout@v5 | ||
| with: | ||
| token: ${{ steps.token.outputs.token }} | ||
| fetch-depth: 0 | ||
|
|
||
| - uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2 | ||
|
|
||
| - name: Prepare release | ||
| uses: getsentry/action-prepare-release@v1 | ||
| env: | ||
| GITHUB_TOKEN: ${{ steps.token.outputs.token }} | ||
| with: | ||
| version: ${{ github.event.inputs.version }} | ||
| force: ${{ github.event.inputs.force }} | ||
| merge_target: ${{ github.event.inputs.merge_target }} | ||
| path: clients |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| changelogPolicy: auto | ||
| preReleaseCommand: ../scripts/bump-version-clients.sh | ||
|
|
||
| targets: | ||
| - name: github | ||
| - name: crates | ||
| - name: pypi | ||
| - name: sentry-pypi | ||
| internalPypiRepo: getsentry/pypi | ||
|
|
||
| requireNames: | ||
| - /.*objectstore_client.*whl$/ | ||
| - /.*objectstore_client.*tar\.gz$/ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| # Unreleased | ||
|
|
||
| This is the first release of the Objectstore client SDKs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| ../../LICENSE.md |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,14 @@ | ||
| [project] | ||
| name = "objectstore-client" | ||
| version = "0.1.0" | ||
| description = "Python client for the Sentry Objectstore service" | ||
| description = "Client SDK for Objectstore, the Sentry object storage platform" | ||
| readme = "README.md" | ||
| authors = [ | ||
| {name = "Sentry", email = "[email protected]"}, | ||
| ] | ||
| homepage = "https://getsentry.github.io/objectstore/" | ||
| repository = "https://github.com/getsentry/objectstore" | ||
| license = { file = "LICENSE.md" } | ||
| requires-python = ">=3.13.1" | ||
| dependencies = [ | ||
| "sentry-sdk>=2.42.1", | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,7 +4,7 @@ authors = ["Sentry <[email protected]>"] | |
| description = "Client SDK for Objectstore, the Sentry object storage platform" | ||
| homepage = "https://getsentry.github.io/objectstore/" | ||
| repository = "https://github.com/getsentry/objectstore" | ||
| license-file = "../LICENSE.md" | ||
| license-file = "../../LICENSE.md" | ||
| version = "0.1.0" | ||
| edition = "2024" | ||
| rust-version = "1.89" | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| #!/bin/bash | ||
lcian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| set -euxo pipefail | ||
|
|
||
| ROOT_DIR="$(realpath $(dirname "$0")/..)" | ||
|
|
||
| OLD_VERSION="${1}" | ||
| NEW_VERSION="${2}" | ||
|
|
||
| echo "Current version: $OLD_VERSION" | ||
| echo "Bumping to version: $NEW_VERSION" | ||
|
|
||
| # =================== Rust =================== | ||
|
|
||
| cd $ROOT_DIR | ||
| cd clients/rust | ||
|
|
||
| perl -pi -e "s/^version = \".*?\"/version = \"$NEW_VERSION\"/" Cargo.toml | ||
| cargo metadata --format-version 1 >/dev/null # update `Cargo.lock` | ||
|
|
||
| # ==================== PY ==================== | ||
|
|
||
| cd $ROOT_DIR | ||
| cd clients/python | ||
|
|
||
| uv version "$NEW_VERSION" | ||
lcian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's please double-check if we also need to upload to
sentry-sdk-assets.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no idea what that does.
An org-wide search for this bucket name is not very helpful: https://github.com/search?q=org%3Agetsentry%20sentry-sdk-assets&type=code
Any pointers?