Skip to content

Commit 8a1efcc

Browse files
committed
Create release on tag
1 parent b257451 commit 8a1efcc

File tree

2 files changed

+61
-20
lines changed

2 files changed

+61
-20
lines changed

.github/workflows/release.yml

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
name: release
22
on:
3-
workflow_dispatch:
4-
inputs:
5-
publish:
6-
type: boolean
7-
required: false
8-
default: false
9-
description: Set to true to publish artifacts to external targets such as Maven Central
3+
push:
4+
tags:
5+
- v[0-9]+.[0-9]+.[0-9]+
106
jobs:
117
draft_release:
128
if: github.event_name == 'workflow_dispatch'
@@ -63,7 +59,6 @@ jobs:
6359
name: android-library
6460

6561
- name: Publish to Maven Central
66-
if: ${{ inputs.publish }}
6762
run: |
6863
curl --request POST \
6964
--header 'Authorization: Bearer ${{ secrets.CENTRAL_AUTH }}' \
@@ -313,3 +308,49 @@ jobs:
313308
repo-token: ${{ secrets.GITHUB_TOKEN }}
314309
file-name: libpowersync-wasm.a
315310
tag: ${{ needs.draft_release.outputs.tag }}
311+
312+
create_sdk_issue:
313+
name: "Create issue for SDK updates"
314+
permissions:
315+
issues: write
316+
runs-on: macos-latest
317+
needs:
318+
- draft_release
319+
- publish_android
320+
- publish_ios_pod_and_spm_package
321+
- publish_linux_x86_64
322+
- publish_linux_aarch64
323+
- publish_windows_x64
324+
- publish_macOS_aarch64
325+
- publish_macOS_x64
326+
- publish_wasm
327+
steps:
328+
- name: Create issue
329+
run: |
330+
gh issue create \
331+
--title "$TITLE" \
332+
--assignee "$ASSIGNEES" \
333+
--body "$BODY"
334+
env:
335+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
336+
GH_REPO: ${{ github.repository }}
337+
TITLE: "Release checklist: ${{ needs.draft_release.outputs.tag }}"
338+
ASSIGNES: ${{ github.event.push.sender }}
339+
BODY: |
340+
This is a checklist to track the release of ${{ needs.draft_release.outputs.tag }}.
341+
342+
Core build (this repo):
343+
* [x] GitHub Release
344+
* [ ] Android aar released on Maven Central
345+
* [ ] Cocoapod released
346+
347+
SQLite + powersync bundles:
348+
* [ ] react-native-quick-sqlite:
349+
* [ ] wa-sqlite build:
350+
* [ ] sql.js dev adapter:
351+
352+
User-facing SDK updates:
353+
* [ ] powersync.dart:
354+
* [ ] powersync-js:
355+
* [ ] kotlin:
356+
* [ ] swift:
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Preparing Release
22

3-
Bump the version number in these places:
3+
First, bump the version number in these places:
44

55
1. Cargo.toml
66
2. powersync-sqlite-core.podspec.
@@ -9,29 +9,29 @@ Bump the version number in these places:
99
5. tool/build_xcframework.sh - `VERSION` variable.
1010
6. `cargo build` to update Cargo.lock
1111

12-
Create a tag:
13-
14-
```sh
15-
git tag -am v1.2.3 v1.2.3
16-
git push --tags
17-
```
12+
Next, open a PR with these changes and wait for it to get approved and merged.
1813

1914
# Perform Release
2015

21-
Build:
16+
Create a tag, which will trigger a release workflow when pushed:
2217

23-
```
24-
gh workflow run release --ref v1.2.3 -f publish=true
18+
```sh
19+
git tag -am v1.2.3 v1.2.3
20+
git push --tags
2521
```
2622

27-
The above does the following:
23+
The publishing workflow does the following:
2824

2925
1. Create a draft GitHub release.
3026
2. Build the xcframework for iOS and macOS, and upload to GitHub (attached to the above release).
3127
3. Build and publish an Android aar to Sonatype. Afterwards, you can monitor the status of the publishing step [here](https://central.sonatype.com/publishing/deployments).
3228

33-
Publish the cocoapod:
29+
The cocoapod needs to be published manually:
3430

3531
```sh
3632
pod trunk push powersync-sqlite-core.podspec
3733
```
34+
35+
# Updating SDKs
36+
37+
The release workflow will create an issue with a list of items to update the individual SDKs and intermediate packages.

0 commit comments

Comments
 (0)