Skip to content

Commit 5015d52

Browse files
authored
Bump to version 0.2.3 (#323)
* Build natively for targets in GHA release workflows * Bump to version 0.2.3
1 parent 1e16a68 commit 5015d52

16 files changed

Lines changed: 151 additions & 39 deletions

File tree

.github/workflows/release-jupyter.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,14 @@ jobs:
3333

3434
linux:
3535
needs: generate
36-
runs-on: ubuntu-latest
36+
runs-on: ${{ matrix.runner }}
3737
strategy:
3838
matrix:
39-
target: [x86_64, aarch64]
39+
include:
40+
- target: x86_64
41+
runner: ubuntu-latest
42+
- target: aarch64
43+
runner: ubuntu-24.04-arm
4044
env:
4145
GGSQL_SKIP_GENERATE: "1"
4246
steps:
@@ -71,9 +75,9 @@ jobs:
7175
matrix:
7276
include:
7377
- target: x86_64
74-
runner: macos-latest
78+
runner: macos-15-intel
7579
- target: aarch64
76-
runner: macos-latest
80+
runner: macos-15
7781
env:
7882
GGSQL_SKIP_GENERATE: "1"
7983
steps:

.github/workflows/release-packages.yml

Lines changed: 117 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ jobs:
8686
path: src/target/release/packager/*.msi
8787
retention-days: 30
8888

89-
build-macos:
90-
name: Build macOS Installers
91-
runs-on: macos-latest
89+
build-macos-x86_64:
90+
name: Build macOS Installers (x86_64)
91+
runs-on: macos-15-intel
9292

9393
steps:
9494
- name: Checkout code
@@ -108,7 +108,7 @@ jobs:
108108
- name: Install Rust toolchain
109109
uses: dtolnay/rust-toolchain@stable
110110
with:
111-
targets: x86_64-apple-darwin, aarch64-apple-darwin
111+
targets: x86_64-apple-darwin
112112

113113
- name: Set up Apple notarization key
114114
run: |
@@ -144,26 +144,80 @@ jobs:
144144
APPLE_API_KEY: ${{ secrets.GWS_APPLE_API_KEY }}
145145
APPLE_API_ISSUER: ${{ secrets.GWS_APPLE_API_ISSUER }}
146146

147+
- name: Upload DMG installer (x86_64)
148+
uses: actions/upload-artifact@v4
149+
with:
150+
name: ggsql-macos-dmg-x86_64
151+
path: src/target/release/packager/*.dmg
152+
retention-days: 30
153+
154+
build-macos-aarch64:
155+
name: Build macOS Installers (aarch64)
156+
runs-on: macos-15
157+
158+
steps:
159+
- name: Checkout code
160+
uses: actions/checkout@v4
161+
162+
- name: Install Node.js
163+
uses: actions/setup-node@v4
164+
with:
165+
node-version: "22"
166+
167+
- name: Install tree-sitter-cli
168+
run: npm install -g tree-sitter-cli
169+
170+
- name: Install ODBC
171+
run: brew install unixodbc
172+
173+
- name: Install Rust toolchain
174+
uses: dtolnay/rust-toolchain@stable
175+
with:
176+
targets: aarch64-apple-darwin
177+
178+
- name: Set up Apple notarization key
179+
run: |
180+
mkdir -p ~/.private_keys
181+
echo -n "$APPLE_API_KEY_BASE64" | base64 --decode -o ~/.private_keys/AuthKey_${APPLE_API_KEY}.p8
182+
chmod 600 ~/.private_keys/AuthKey_${APPLE_API_KEY}.p8
183+
env:
184+
APPLE_API_KEY_BASE64: ${{ secrets.GWS_APPLE_API_KEY_BASE64 }}
185+
APPLE_API_KEY: ${{ secrets.GWS_APPLE_API_KEY }}
186+
187+
- name: Configure macOS installer signing
188+
env:
189+
APPLE_SIGN_IDENTITY: ${{ secrets.GWS_APPLE_SIGN_IDENTITY }}
190+
run: |
191+
cat <<EOF >> src/Cargo.toml
192+
193+
[package.metadata.packager.macos]
194+
signing-identity = "${APPLE_SIGN_IDENTITY}"
195+
entitlements = "entitlements.plist"
196+
EOF
197+
198+
- name: Install cargo-packager
199+
run: cargo install cargo-packager --locked
200+
147201
- name: Build ggsql binary (aarch64)
148-
run: cargo build --release --bin ggsql --bin ggsql-jupyter --target aarch64-apple-darwin
202+
run: cargo build --release --bin ggsql --bin ggsql-jupyter
149203

150204
- name: Build DMG installer (aarch64)
151-
run: cargo packager --release --target aarch64-apple-darwin --formats dmg
205+
run: cargo packager --release --formats dmg
152206
env:
153207
APPLE_CERTIFICATE: ${{ secrets.GWS_APPLE_SIGN_P12 }}
154208
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.GWS_APPLE_SIGN_PW }}
155209
APPLE_API_KEY: ${{ secrets.GWS_APPLE_API_KEY }}
156210
APPLE_API_ISSUER: ${{ secrets.GWS_APPLE_API_ISSUER }}
157211

158-
- name: Upload DMG installers
212+
- name: Upload DMG installer (aarch64)
159213
uses: actions/upload-artifact@v4
160214
with:
161-
name: ggsql-macos-dmg
215+
name: ggsql-macos-dmg-aarch64
162216
path: src/target/release/packager/*.dmg
163217
retention-days: 30
164218

165-
build-linux:
166-
name: Build Linux Installers
219+
build-linux-x86_64:
220+
name: Build Linux Installers (x86_64)
167221
runs-on: ubuntu-latest
168222

169223
steps:
@@ -197,16 +251,64 @@ jobs:
197251
- name: Install cargo-packager
198252
run: cargo install cargo-packager --locked
199253

200-
- name: Build ggsql binary
254+
- name: Build ggsql binary (x86_64)
255+
run: cargo build --release --bin ggsql --bin ggsql-jupyter
256+
257+
- name: Build Debian package (x86_64)
258+
run: cargo packager --release --formats deb
259+
260+
- name: Upload Debian package (x86_64)
261+
uses: actions/upload-artifact@v4
262+
with:
263+
name: ggsql-linux-deb-x86_64
264+
path: src/target/release/packager/*.deb
265+
retention-days: 30
266+
267+
build-linux-aarch64:
268+
name: Build Linux Installers (aarch64)
269+
runs-on: ubuntu-24.04-arm
270+
271+
steps:
272+
- name: Checkout code
273+
uses: actions/checkout@v4
274+
275+
- name: Install Node.js
276+
uses: actions/setup-node@v4
277+
with:
278+
node-version: "22"
279+
280+
- name: Install tree-sitter-cli
281+
run: npm install -g tree-sitter-cli
282+
283+
- name: Install Rust toolchain
284+
uses: dtolnay/rust-toolchain@stable
285+
with:
286+
targets: aarch64-unknown-linux-gnu
287+
288+
- name: Install system dependencies
289+
run: |
290+
sudo apt-get update
291+
sudo apt-get install -y \
292+
libgtk-3-dev \
293+
libwebkit2gtk-4.1-dev \
294+
libappindicator3-dev \
295+
librsvg2-dev \
296+
patchelf \
297+
unixodbc-dev
298+
299+
- name: Install cargo-packager
300+
run: cargo install cargo-packager --locked
301+
302+
- name: Build ggsql binary (aarch64)
201303
run: cargo build --release --bin ggsql --bin ggsql-jupyter
202304

203-
- name: Build Debian package
305+
- name: Build Debian package (aarch64)
204306
run: cargo packager --release --formats deb
205307

206-
- name: Upload Debian package
308+
- name: Upload Debian package (aarch64)
207309
uses: actions/upload-artifact@v4
208310
with:
209-
name: ggsql-linux-deb
311+
name: ggsql-linux-deb-aarch64
210312
path: src/target/release/packager/*.deb
211313
retention-days: 30
212314

@@ -265,7 +367,7 @@ jobs:
265367

266368
create-release:
267369
name: Create GitHub Release
268-
needs: [build-windows, build-macos, build-linux, build-cargo]
370+
needs: [build-windows, build-macos-x86_64, build-macos-aarch64, build-linux-x86_64, build-linux-aarch64, build-cargo]
269371
runs-on: ubuntu-latest
270372
permissions:
271373
contents: write

Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ default-members = [
1616
resolver = "2"
1717

1818
[workspace.package]
19-
version = "0.2.2"
19+
version = "0.2.3"
2020
edition = "2021"
2121
authors = ["ggsql Team"]
2222
license = "MIT"
@@ -26,8 +26,8 @@ description = "A declarative visualization language that extends SQL with powerf
2626

2727
[workspace.dependencies]
2828
# workspace packages
29-
tree-sitter-ggsql = { path = "tree-sitter-ggsql", version = "0.2.2" }
30-
ggsql = { path = "src", version = "0.2.2" }
29+
tree-sitter-ggsql = { path = "tree-sitter-ggsql", version = "0.2.3" }
30+
ggsql = { path = "src", version = "0.2.3" }
3131

3232
# Parsing
3333
csscolorparser = "0.8.1"

ggsql-jupyter/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "maturin"
44

55
[project]
66
name = "ggsql-jupyter"
7-
version = "0.2.2"
7+
version = "0.2.3"
88
description = "Jupyter kernel for ggsql - SQL extension for declarative data visualization"
99
readme = "README.md"
1010
license = { text = "MIT" }

ggsql-python/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ggsql-python"
3-
version = "0.2.2"
3+
version = "0.2.3"
44
edition = "2021"
55
authors.workspace = true
66
license.workspace = true

ggsql-python/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "maturin"
44

55
[project]
66
name = "ggsql"
7-
version = "0.2.2"
7+
version = "0.2.3"
88
description = "SQL extension for declarative data visualization"
99
readme = "README.md"
1010
requires-python = ">=3.10"

ggsql-python/python/ggsql/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"execute",
2828
"render_altair",
2929
]
30-
__version__ = "0.2.2"
30+
__version__ = "0.2.3"
3131

3232
# Type alias for any Altair chart type
3333
AltairChart = Union[

ggsql-vscode/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 0.2.3
4+
5+
Alpha release.
6+
7+
- Build natively for targets in GHA release workflows
8+
39
## 0.2.2
410

511
Alpha release.

ggsql-vscode/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)