Skip to content

Commit 83b136e

Browse files
committed
Merge branch 'feature/ci' into development
2 parents ed8031d + 88b4e52 commit 83b136e

30 files changed

Lines changed: 100 additions & 100 deletions

File tree

.agents/skills/ci-cd/SKILL.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -260,16 +260,16 @@ The PyPI workflow is also exempt because maturin is already pointed at the right
260260

261261
### Current runners and targets
262262

263-
| Platform | Runner | Target | Notes |
264-
| ------------- | ------------------ | --------------------------- | ------------------------- |
265-
| Linux x86_64 | `ubuntu-latest` | `x86_64-unknown-linux-gnu` | Native |
266-
| Linux arm64 | `ubuntu-24.04-arm` | `aarch64-unknown-linux-gnu` | Native — do not use QEMU |
267-
| Windows x64 | `windows-2022` | `x86_64-pc-windows-msvc` | Native |
268-
| Windows arm64 | `windows-2022` | `aarch64-pc-windows-msvc` | Cross-compile on x64 host |
269-
| macOS x64 | `macos-15-intel` | `x86_64-apple-darwin` | Native Intel runner |
270-
| macOS arm64 | `macos-latest` | `aarch64-apple-darwin` | Native Apple Silicon |
263+
| Platform | Runner | Target | Notes |
264+
| ------------- | ------------------ | --------------------------- | -------------------------- |
265+
| Linux x86_64 | `ubuntu-latest` | `x86_64-unknown-linux-gnu` | Native |
266+
| Linux arm64 | `ubuntu-24.04-arm` | `aarch64-unknown-linux-gnu` | Native — do not use QEMU |
267+
| Windows x64 | `windows-2022` | `x86_64-pc-windows-msvc` | Native |
268+
| Windows arm64 | `windows-2022` | `aarch64-pc-windows-msvc` | Do not use for PyPI wheels |
269+
| macOS x64 | `macos-15-intel` | `x86_64-apple-darwin` | Native Intel runner |
270+
| macOS arm64 | `macos-latest` | `aarch64-apple-darwin` | Native Apple Silicon |
271271

272-
For npm and GitHub Release, use native runners. For PyPI (maturin), the macOS x64 build uses `macos-latest` with cross-compilation because maturin handles it transparently inside its container.
272+
For npm and GitHub Release, use native runners. For PyPI (maturin), the macOS x64 build uses `macos-latest` with cross-compilation because maturin handles it transparently inside its container. Windows arm64 is the exception: GitHub's hosted Windows runners only provide x64 Python, so maturin will refuse to build an `aarch64-pc-windows-msvc` wheel when the interpreter reports `win-amd64`.
273273

274274
### Do not use QEMU for arm64 Linux
275275

@@ -708,6 +708,9 @@ This reads whatever version is currently in `Cargo.toml` on the checked-out bran
708708
**QEMU for arm64 Linux**
709709
Using `ubuntu-latest` (x86_64) to build `aarch64-unknown-linux-gnu` via QEMU inside manylinux is slow and causes container mismatch errors. Use `ubuntu-24.04-arm`.
710710

711+
**Windows arm64 PyPI wheels on hosted runners**
712+
Maturin needs a matching Python interpreter for wheel generation. On GitHub-hosted Windows runners, the available interpreter reports `win-amd64`, so an `aarch64-pc-windows-msvc` wheel build gets skipped and then fails. Unless you have an arm64 Windows runner with arm64 Python installed, leave Windows arm64 out of the PyPI wheel matrix.
713+
711714
**`yum` vs `apt` in manylinux**
712715
manylinux2014 is CentOS 7. Use `yum`, not `apt`. For manylinux_2_28 (AlmaLinux 8) use `dnf`.
713716

.github/workflows/release-github.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ jobs:
172172
files: release/*
173173

174174
- name: Trigger Homebrew release
175-
uses: actions/github-script@v7
175+
uses: actions/github-script@v8
176176
with:
177177
script: |
178178
await github.rest.actions.createWorkflowDispatch({

.github/workflows/release-pypi.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
name: PyPI CLI Release
22

3+
# Windows arm64 wheels are intentionally not built here. GitHub's hosted
4+
# Windows runners provide x64 Python, and maturin refuses to build an arm64
5+
# wheel when the interpreter reports win-amd64.
6+
37
on:
48
workflow_dispatch:
59
inputs:
@@ -40,11 +44,7 @@ jobs:
4044
OS: windows-2022,
4145
TARGET: x86_64-pc-windows-msvc,
4246
}
43-
- {
44-
NAME: win32-arm64-msvc,
45-
OS: windows-2022,
46-
TARGET: aarch64-pc-windows-msvc,
47-
}
47+
4848
- { NAME: darwin-x64, OS: macos-latest, TARGET: x86_64-apple-darwin }
4949
- {
5050
NAME: darwin-arm64,

.github/workflows/release-sdk-gem.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
name: SDK Ruby Gem Release
22

33
# Publishes the smbcloud-auth Ruby gem (sdk/gems/auth) to RubyGems.
4-
# Builds pre-compiled native gems for each supported platform, plus a source
5-
# gem as a fallback for unsupported platforms.
4+
# Builds pre-compiled native gems for the supported Unix platforms, plus a
5+
# source gem as a fallback for unsupported environments.
66
#
77
# Required secrets:
88
# RUBYGEMS_API_KEY — RubyGems.org API key with push access to smbcloud-auth
@@ -64,13 +64,13 @@ jobs:
6464
shell: bash
6565
run: |
6666
for crate_name in smbcloud-auth-sdk smbcloud-model smbcloud-network; do
67-
for attempt in 1 2 3 4 5 6; do
67+
for attempt in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
6868
if curl -fsS "https://crates.io/api/v1/crates/${crate_name}/${RELEASE_VERSION}" >/dev/null 2>&1; then
6969
echo "${crate_name} ${RELEASE_VERSION} is available on crates.io"
7070
break
7171
fi
7272
73-
if [ "$attempt" -eq 6 ]; then
73+
if [ "$attempt" -eq 20 ]; then
7474
echo "Timed out waiting for ${crate_name} ${RELEASE_VERSION} on crates.io" >&2
7575
exit 1
7676
fi
@@ -145,7 +145,7 @@ jobs:
145145
- name: Verify gem version matches tag
146146
shell: bash
147147
run: |
148-
GEM_VERSION=$(sed -n "s/.*VERSION = '\\(.*\\)'/\\1/p" sdk/gems/auth/lib/auth/version.rb)
148+
GEM_VERSION=$(sed -n "s/.*VERSION = '\(.*\)'/\1/p" sdk/gems/auth/lib/auth/version.rb)
149149
150150
echo "Gem version : ${GEM_VERSION}"
151151
echo "Tag version : ${RELEASE_VERSION}"

.github/workflows/release-sdk-pypi.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ name: SDK PyPI Release
33
# Publishes smbcloud-sdk-auth (sdk/python) to PyPI.
44
# Triggered by the crates release workflow when wrapped Rust crates change,
55
# or manually via workflow_dispatch.
6+
#
7+
# Windows arm64 wheels are intentionally not built here. GitHub's hosted
8+
# Windows runners provide x64 Python, and maturin refuses to build an arm64
9+
# wheel when the interpreter reports win-amd64.
610

711
on:
812
workflow_dispatch:
@@ -44,11 +48,6 @@ jobs:
4448
OS: windows-2022,
4549
TARGET: x86_64-pc-windows-msvc,
4650
}
47-
- {
48-
NAME: win32-arm64-msvc,
49-
OS: windows-2022,
50-
TARGET: aarch64-pc-windows-msvc,
51-
}
5251
- {
5352
NAME: darwin-x64,
5453
OS: macos-15-intel,

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
/sdk/python/dist/
2121
/sdk/python/.venv/
2222

23-
# Generated NuGet release artifacts
23+
# Generated .NET / NuGet build outputs
2424
/nuget/dist/
25-
/nuget/smbcloud-cli/bin/
26-
/nuget/smbcloud-cli/obj/
25+
/nuget/**/bin/
26+
/nuget/**/obj/
2727
/nuget/smbcloud-cli/native/

README.MD

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<br>smbCloud CLI
66
</h1>
77
<p align="center">
8-
Deploy to the cloud in one command.
8+
Deploy with smbCloud from your terminal.
99
<br />
1010
<br />
1111
<a href="https://smbcloud.xyz/">Website</a>
@@ -22,19 +22,19 @@
2222
<a href="https://www.nuget.org/packages/SmbCloud.Cli"><img alt="NuGet" src="https://img.shields.io/nuget/v/SmbCloud.Cli"></a>
2323
<a href="https://github.com/smbcloudXYZ/homebrew-tap"><img alt="Homebrew" src="https://img.shields.io/badge/homebrew-tap-orange?logo=homebrew"></a>
2424
<a href="https://pypi.org/project/smbcloud-cli/"><img alt="PyPI" src="https://img.shields.io/pypi/v/smbcloud-cli"></a>
25-
<a href="https://github.com/smbcloudXYZ/smbcloud-cli/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/smbcloudXYZ/smbcloud-cli"></a>
25+
<a href="https://github.com/smbcloudXYZ/smbcloud-cli/blob/main/LICENSE"><img alt="Apache-2.0 License" src="https://img.shields.io/badge/license-Apache%202.0-blue.svg"></a>
2626
</p>
2727
</p>
2828

2929
## About
3030

31-
**`smb`** is the command-line interface for [smbCloud](https://smbcloud.xyz/) — the modern cloud deployment platform. We've eliminated the friction of cloud infrastructure so you can focus on what matters: building an incredible product.
31+
**`smb`** is the command-line interface for [smbCloud](https://smbcloud.xyz/).
3232

33-
Ship your Rust, Node.js, Ruby, or Swift app with a single, magical command.
33+
Deploy Rust, Node.js, Ruby, or Swift apps from your terminal.
3434

3535
## Install
3636

37-
We highly recommend using our **pre-built native binaries** for the fastest, frictionless setup.
37+
If you want the quickest setup, use a pre-built native binary.
3838

3939
### Homebrew (macOS & Linux)
4040

@@ -83,17 +83,17 @@ smb init
8383
smb deploy
8484
```
8585

86-
That's it. Your app is live.
86+
That gets you from login to first deploy.
8787

8888
## Documentation
8989

9090
See the [`docs/`](./docs) directory for guides on authentication, project configuration, and deployment workflows.
9191

9292
## Contributing
9393

94-
Read [CONTRIBUTING.md](CONTRIBUTING.md) to get started. All contributions are welcome.
94+
Read [CONTRIBUTING.md](CONTRIBUTING.md) to get started. Contributions are welcome.
9595

96-
> Explore more on the [smbCloud Services](https://smbcloud.xyz/services) page.
96+
For the broader product, see [smbCloud](https://smbcloud.xyz/) and the [deployment docs](https://smbcloud.xyz/posts).
9797

9898
## License
9999

crates/cli/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<br>smbCloud CLI
66
</h1>
77
<p align="center">
8-
Deploy to the cloud in one command.
8+
Deploy with smbCloud from your terminal.
99
<br />
1010
<br />
1111
<a href="https://smbcloud.xyz/">Website</a>
@@ -76,7 +76,9 @@ pip uninstall smbcloud-cli
7676
smb --help
7777
```
7878

79-
## Contribution
79+
## Contributing
80+
81+
To work on the CLI locally:
8082

8183
- Set up your Rust tooling.
8284
- Clone the repo.
@@ -89,7 +91,7 @@ This repo draws inspiration from [Sugar](https://github.com/metaplex-foundation/
8991

9092
It also borrows ideas from [the 12 factor CLI app](https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46).
9193

92-
> Explore more on the [smbCloud Services](https://smbcloud.xyz/services) page.
94+
More CLI and deployment guides live in the [smbCloud docs](https://smbcloud.xyz/posts).
9395

9496
## License
9597

crates/smbcloud-auth-sdk-py/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# smbcloud-auth-sdk-py
22

3-
PyO3 bindings for the smbCloud Auth SDK.
3+
PyO3 bindings for smbCloud Auth.
44

5-
> Explore more on the [smbCloud Services](https://smbcloud.xyz/services) page.
5+
For higher-level SDK docs, see the [smbCloud developer guides](https://smbcloud.xyz/posts).
66

77
## License
88

crates/smbcloud-auth-sdk-wasm/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
# smbcloud-auth-sdk-wasm
22

3-
Wasm bindings for the smbCloud Auth SDK.
3+
Wasm bindings for smbCloud Auth.
44

5-
This crate is intended to be published as an npm package via `wasm-pack` and
6-
consumed by browser clients that need tenant auth-app signup, sign-in, profile
7-
lookup, and account deletion against the smbCloud Auth service.
5+
This crate is published as an npm package through `wasm-pack` and used by browser clients that need signup, sign-in, profile lookup, logout, and account deletion against smbCloud Auth.
86

97
## Exports
108

@@ -41,7 +39,7 @@ await signup_with_client(
4139
);
4240
```
4341

44-
> Explore more on the [smbCloud Services](https://smbcloud.xyz/services) page.
42+
More browser SDK context is available in the [smbCloud docs](https://smbcloud.xyz/posts).
4543

4644
## License
4745

0 commit comments

Comments
 (0)