Skip to content

Commit 3ad5bbe

Browse files
authored
Add release automation (#49)
* Add release automation * Format
1 parent 63f666f commit 3ad5bbe

File tree

3 files changed

+48
-1
lines changed

3 files changed

+48
-1
lines changed

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
python 3.13.5
22
uv 0.8.12
3+
protoc 33.0

release-automation/bump-version.sh

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Usage: ./bump-version.sh <version>
5+
VERSION="$1"
6+
7+
if [ -z "$VERSION" ]; then
8+
echo "Usage: $0 <version>"
9+
exit 1
10+
fi
11+
12+
BRANCH_NAME="release-$VERSION"
13+
git checkout -b "$BRANCH_NAME"
14+
15+
echo "Installing asdf dependencies..."
16+
# add plugins from .tool-versions
17+
while read -r line; do
18+
PLUGIN_NAME=$(echo "$line" | awk '{print $1}')
19+
if ! asdf plugin list | grep -q "^$PLUGIN_NAME$"; then
20+
echo "Adding asdf plugin: $PLUGIN_NAME"
21+
asdf plugin add "$PLUGIN_NAME"
22+
else
23+
echo "asdf plugin $PLUGIN_NAME already added"
24+
fi
25+
done < .tool-versions
26+
27+
asdf install
28+
29+
uv version "$VERSION"
30+
uv run ./compile_proto.sh
31+
32+
# Update OpenAPI client
33+
curl -H "Authorization: token $GH_TOKEN" \
34+
-H "Accept: application/vnd.github.v3.raw" \
35+
-L "https://raw.githubusercontent.com/fishjam-cloud/fishjam/main/openapi.yaml" \
36+
-o openapi.yaml
37+
38+
uv run update_client ./openapi.yaml
39+
rm openapi.yaml
40+
41+
echo "✅ Version bump complete for $VERSION"
42+
echo "BRANCH_NAME:$BRANCH_NAME"

scripts.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,13 @@ def update_client():
8585
if len(sys.argv) < 2:
8686
raise RuntimeError("Missing fishjam openapi.yaml raw url positional argument")
8787

88+
url_or_path = sys.argv[1]
89+
is_url = url_or_path.startswith("http://") or url_or_path.startswith("https://")
90+
file_arg = f"--url {url_or_path}" if is_url else f"--path {url_or_path}"
91+
8892
check_exit_code(
8993
f"openapi-python-client generate \
90-
--url {sys.argv[1]} \
94+
{file_arg} \
9195
--config openapi-python-client-config.yaml \
9296
--meta=none \
9397
--overwrite \

0 commit comments

Comments
 (0)