Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
6eb4746
More SDKs
N2D4 Jan 17, 2026
493f6e7
Spec updates
N2D4 Jan 19, 2026
e5f80ce
Finish specs
N2D4 Jan 19, 2026
66b066d
Swift SDK
N2D4 Jan 19, 2026
bcb4aa8
Lots!
N2D4 Jan 19, 2026
1c2c584
Reduce error handling on failed email renders
N2D4 Jan 19, 2026
2f0d34d
Mute unenecessary feature warning error
N2D4 Jan 19, 2026
154d2a6
fix sign in bug on dev (#1119)
BilalG1 Jan 19, 2026
0220219
More Swift SDK fixes
N2D4 Jan 19, 2026
999956b
fixes
N2D4 Jan 19, 2026
6597d7e
many small fixes
N2D4 Jan 19, 2026
f9a4a17
Merge branch 'dev' into spec-sdks
N2D4 Jan 19, 2026
1034d2e
github actions script
N2D4 Jan 19, 2026
33e3291
Swift test in E2E tests
N2D4 Jan 20, 2026
a8869ea
Merge branch 'dev' into spec-sdks
N2D4 Jan 20, 2026
a64c59f
Use Swift Crypto
N2D4 Jan 20, 2026
f183e07
fix
N2D4 Jan 20, 2026
a91e652
Merge branch 'dev' into spec-sdks
N2D4 Jan 20, 2026
7a2a324
Fix build
N2D4 Jan 20, 2026
738ded9
more fixes
N2D4 Jan 20, 2026
1b493ca
Merge branch 'dev' into spec-sdks
N2D4 Jan 21, 2026
c062d70
fix: signUpWithOAuth now actually signs up
nams1570 Jan 21, 2026
4e9ba66
refactor: get rid of support for relativeurls, remove handlerurls bei…
nams1570 Jan 22, 2026
b2851f1
refactor: get rid of support for relativeurls, remove handlerurls bei…
nams1570 Jan 22, 2026
08393bf
fix: make tokenstore mandatory, and give option to override it
nams1570 Jan 22, 2026
f5ac8aa
fix: add token refreshing
nams1570 Jan 23, 2026
89c5f9a
fix: lock no longer allows multiple refreshes, logic fix for if refre…
nams1570 Jan 23, 2026
9ef42ed
feat: Keychain and memory stores are now singletons
nams1570 Jan 23, 2026
bafd0e6
Refactor: rename tokenstore to tokenstore init to match spec/js sdk
nams1570 Jan 23, 2026
99c77ab
fix: remove tokenStoreOverride option in verifyEmail
nams1570 Jan 23, 2026
707964c
chore: minor spec and error text updates
nams1570 Jan 23, 2026
c5e3d2f
fix: StackClientApp init now hits singleton memory/keychain store
nams1570 Jan 24, 2026
44226ad
fix: explicitly release lock at end of func
nams1570 Jan 24, 2026
2ad6172
refactor: scope native app check to just oauth redirects, change sche…
nams1570 Jan 26, 2026
b13073d
WIP: Implement Apple-Native sign in on swift sdk
nams1570 Jan 27, 2026
c4fa7f1
temporary mock credentials
nams1570 Jan 27, 2026
6656f92
string implementation of multiple bundle ids
nams1570 Jan 27, 2026
f4e4e59
wip: object implementation of bundle ids
nams1570 Jan 27, 2026
b774b8a
Merge remote-tracking branch 'origin/dev' into add-oauth-to-swift-sdk
nams1570 Jan 27, 2026
e94bdd8
fix: stronger key rule enforcement, persist bundle ids
nams1570 Jan 27, 2026
d98a4ea
Apple bundle IDs
N2D4 Jan 27, 2026
8531b66
fix: UI issue with resetting bundleids when entered
nams1570 Jan 27, 2026
7f4dacf
refactor: improve error responses for native sign in
nams1570 Jan 27, 2026
44247fd
Merge remote-tracking branch 'origin/dev' into add-oauth-to-swift-sdk
nams1570 Jan 27, 2026
5355253
refactor: deduplicate oauth route code
nams1570 Jan 27, 2026
cbf5314
refactor: make known error on server side more specific
nams1570 Jan 27, 2026
9223407
chore: clean up mock credentials on swift app
nams1570 Jan 27, 2026
ad69a3d
chore: clean up specs
nams1570 Jan 27, 2026
8e286cf
refactor: panic on iNVALID_APPLE_CREDENTIALS
nams1570 Jan 27, 2026
88ef0a2
chore: clearer text on apple provider modal
nams1570 Jan 27, 2026
03b2d3b
fix: minor bugfix in case prop.open is undefined
nams1570 Jan 27, 2026
863f8c1
fix: align getUser with specs to throw, chore: spec indentation
nams1570 Jan 27, 2026
71d2d70
refactor: cache refreshes in admin_app
nams1570 Jan 28, 2026
1190c0a
Merge remote-tracking branch 'origin/dev' into add-oauth-to-swift-sdk
nams1570 Jan 28, 2026
6e9db92
Merge branch 'dev' into add-oauth-to-swift-sdk
nams1570 Jan 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions .github/workflows/swift-sdk-publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Publish Swift SDK to prerelease repo

on:
push:
branches:
- main
paths:
- 'sdks/implementations/swift/**'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false # Don't cancel publishing in progress

jobs:
publish:
runs-on: ubuntu-latest

steps:
- name: Checkout source repo
uses: actions/checkout@v4
with:
path: source

- name: Read version from package.json
id: version
run: |
VERSION=$(jq -r '.version' source/sdks/implementations/swift/package.json)
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Swift SDK version: $VERSION"

- name: Check if tag already exists in target repo
id: check-tag
run: |
TAG="v${{ steps.version.outputs.version }}"
echo "Checking if tag $TAG exists in stack-auth/swift-sdk-prerelease..."

# Use the GitHub API to check if the tag exists
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer ${{ secrets.SWIFT_SDK_PUBLISH_TOKEN }}" \
-H "Accept: application/vnd.github+json" \
"https://api.github.com/repos/stack-auth/swift-sdk-prerelease/git/refs/tags/$TAG")

if [ "$HTTP_STATUS" = "200" ]; then
echo "Tag $TAG already exists, skipping publish"
echo "exists=true" >> $GITHUB_OUTPUT
else
echo "Tag $TAG does not exist, will publish"
echo "exists=false" >> $GITHUB_OUTPUT
fi

- name: Clone target repo
if: steps.check-tag.outputs.exists == 'false'
run: |
git clone https://x-access-token:${{ secrets.SWIFT_SDK_PUBLISH_TOKEN }}@github.com/stack-auth/swift-sdk-prerelease.git target

- name: Copy Swift SDK to target repo
if: steps.check-tag.outputs.exists == 'false'
run: |
# Remove all files except .git from target
cd target
find . -maxdepth 1 -not -name '.git' -not -name '.' -exec rm -rf {} +
cd ..

# Copy everything from Swift SDK
cp -r source/sdks/implementations/swift/* target/
cp source/sdks/implementations/swift/.gitignore target/ 2>/dev/null || true

# Remove package.json (it's only for turborepo integration, not part of the Swift package)
rm -f target/package.json

- name: Commit and push to target repo
if: steps.check-tag.outputs.exists == 'false'
run: |
cd target
git config user.email "github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"

git add -A

# Check if there are changes to commit
if git diff --staged --quiet; then
echo "No changes to commit"
else
git commit -m "Release v${{ steps.version.outputs.version }}"
fi

# Create and push tag
TAG="v${{ steps.version.outputs.version }}"
git tag "$TAG"
git push origin main --tags

echo "Successfully published Swift SDK v${{ steps.version.outputs.version }}"

- name: Summary
run: |
if [ "${{ steps.check-tag.outputs.exists }}" = "true" ]; then
echo "::notice::Skipped publishing - tag v${{ steps.version.outputs.version }} already exists"
else
echo "::notice::Published Swift SDK v${{ steps.version.outputs.version }} to stack-auth/swift-sdk-prerelease"
fi
Loading