Skip to content

Commit 5af88cf

Browse files
TypeScript and Java release (#98)
Signed-off-by: teodordelibasic-db <teodor.delibasic@databricks.com>
1 parent d327193 commit 5af88cf

15 files changed

Lines changed: 364 additions & 82 deletions

File tree

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
name: SDK Issue
2-
description: Report a bug or issue with a Zerobus Ingest SDK.
3-
title: "[ISSUE] "
4-
labels: []
1+
name: Bug
2+
description: Report a bug or issue with a Zerobus SDK.
3+
type: Bug
54
body:
65
- type: dropdown
76
id: sdk
87
attributes:
98
label: SDK
10-
description: Which SDK is this issue for?
9+
description: Which SDK is this bug for?
1110
options:
1211
- Rust
1312
- TypeScript
14-
- All / General
13+
- Java
14+
- Python
15+
- Go
16+
- All
1517
validations:
1618
required: true
1719
- type: input
@@ -28,7 +30,7 @@ body:
2830
label: Operating System
2931
placeholder: "e.g. macOS 14, Ubuntu 22.04, Windows 11"
3032
validations:
31-
required: true
33+
required: false
3234
- type: textarea
3335
id: description
3436
attributes:
@@ -58,17 +60,17 @@ body:
5860
options:
5961
- "No"
6062
- "Yes"
61-
- Not sure
63+
- "Not sure"
6264
validations:
6365
required: true
6466
- type: textarea
6567
id: logs
6668
attributes:
67-
label: Debug Logs
68-
description: The SDK logs helpful debugging information when debug logging is enabled. Paste any relevant log output here.
69+
label: Logs
70+
description: Paste any relevant logs here.
6971
render: shell
7072
- type: textarea
7173
id: context
7274
attributes:
7375
label: Additional context
74-
description: Add any other context about the problem here.
76+
description: Add any other context about the bug here.

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Feature
2+
description: Suggest a new feature for a Zerobus SDK.
3+
type: Feature
4+
body:
5+
- type: dropdown
6+
id: sdk
7+
attributes:
8+
label: SDK
9+
description: Which SDK is this feature request for?
10+
options:
11+
- Rust
12+
- TypeScript
13+
- Java
14+
- Python
15+
- Go
16+
- All
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: description
21+
attributes:
22+
label: Description
23+
description: A clear description of the feature.
24+
validations:
25+
required: true
26+
- type: textarea
27+
id: solution
28+
attributes:
29+
label: Proposed Solution
30+
description: A clear description of the solution.
31+
validations:
32+
required: true
33+
- type: textarea
34+
id: context
35+
attributes:
36+
label: Additional Context
37+
description: Add any other context about the feature here.

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/task.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Task
2+
description: Internal task or work item for a Zerobus SDK.
3+
type: Task
4+
body:
5+
- type: dropdown
6+
id: sdk
7+
attributes:
8+
label: SDK
9+
description: Which SDK is this task for?
10+
options:
11+
- Rust
12+
- TypeScript
13+
- Java
14+
- Python
15+
- Go
16+
- All
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: description
21+
attributes:
22+
label: Description
23+
description: A clear description of the task.
24+
validations:
25+
required: true
26+
- type: textarea
27+
id: solution
28+
attributes:
29+
label: Proposed Solution
30+
description: A clear description of the solution.
31+
validations:
32+
required: true
33+
- type: textarea
34+
id: context
35+
attributes:
36+
label: Additional Context
37+
description: Add any other context about the task here.

.github/workflows/issue-label.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Label Issues
2+
3+
on:
4+
issues:
5+
types: [opened]
6+
7+
permissions:
8+
issues: write
9+
10+
jobs:
11+
add-sdk-prefix:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Add SDK prefix to title
15+
uses: actions/github-script@v7
16+
with:
17+
script: |
18+
const body = context.payload.issue.body || '';
19+
const title = context.payload.issue.title;
20+
21+
const match = body.match(/### SDK\s*\n\s*\n\s*(.+)/);
22+
if (!match) return;
23+
24+
const sdk = match[1].trim();
25+
26+
const prefix = `[${sdk}]`;
27+
if (title.startsWith(prefix)) return;
28+
29+
await github.rest.issues.update({
30+
owner: context.repo.owner,
31+
repo: context.repo.repo,
32+
issue_number: context.issue.number,
33+
title: `${prefix} ${title}`
34+
});

.github/workflows/release-java.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Release Java
2+
3+
on:
4+
push:
5+
tags:
6+
- "java/v*"
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
publish:
13+
name: Publish to Maven Central
14+
runs-on:
15+
group: databricks-protected-runner-group
16+
labels: linux-ubuntu-latest
17+
defaults:
18+
run:
19+
working-directory: java
20+
21+
steps:
22+
- uses: actions/checkout@v4
23+
24+
- name: Set up Java
25+
uses: actions/setup-java@v4
26+
with:
27+
java-version: 11
28+
distribution: temurin
29+
server-id: central
30+
server-username: MAVEN_CENTRAL_USERNAME
31+
server-password: MAVEN_CENTRAL_PASSWORD
32+
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
33+
gpg-passphrase: GPG_PASSPHRASE
34+
35+
- name: Publish to Maven Central
36+
run: mvn -DskipTests=true --batch-mode deploy
37+
env:
38+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
39+
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
40+
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
41+
42+
release:
43+
name: Create GitHub Release
44+
runs-on:
45+
group: databricks-protected-runner-group
46+
labels: linux-ubuntu-latest
47+
needs: publish
48+
49+
steps:
50+
- uses: actions/checkout@v4
51+
52+
- name: Extract version from tag
53+
id: version
54+
run: echo "version=${GITHUB_REF#refs/tags/java/v}" >> "$GITHUB_OUTPUT"
55+
56+
- name: Extract release notes from changelog
57+
run: |
58+
version="v${{ steps.version.outputs.version }}"
59+
awk "/^## Release ${version}/{found=1; next} /^## /{if(found) exit} found{print}" java/CHANGELOG.md > /tmp/release-notes.md
60+
61+
- name: Create GitHub Release
62+
uses: softprops/action-gh-release@v2
63+
with:
64+
name: Java SDK v${{ steps.version.outputs.version }}
65+
body_path: /tmp/release-notes.md

0 commit comments

Comments
 (0)