Skip to content

Commit a16a974

Browse files
chore: release v0.0.1 dogfood for internal testing
- Version all SDK artifacts as 0.0.1 (podspec, android publishing, changelog) - Update publish workflow to build and attach sample app APK and IPA - Mark dogfood/beta/rc tags as prerelease on GitHub Releases - Add release badge and downloads table to README - Include prior fixes: template engine, OCR validation, test scripts
1 parent d4cfd53 commit a16a974

5 files changed

Lines changed: 132 additions & 65 deletions

File tree

.github/workflows/publish.yml

Lines changed: 104 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,18 @@ permissions:
2121

2222
jobs:
2323
publish-ios:
24-
name: Publish iOS SDK
24+
name: Publish iOS SDK & Sample App
2525
runs-on: macos-latest
26-
26+
2727
steps:
2828
- name: Checkout code
2929
uses: actions/checkout@v4
30-
30+
3131
- name: Setup Xcode
3232
uses: maxim-lobanov/setup-xcode@v1
3333
with:
3434
xcode-version: '15.2'
35-
35+
3636
- name: Get version
3737
id: version
3838
run: |
@@ -41,46 +41,67 @@ jobs:
4141
else
4242
echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
4343
fi
44-
44+
4545
- name: Build iOS Package
4646
working-directory: ios
4747
run: swift build -c release
48-
48+
4949
- name: Run Tests
5050
working-directory: ios
5151
run: swift test
52-
53-
- name: Create Release Archive
52+
53+
- name: Create SDK Release Archive
5454
run: |
5555
cd ios
5656
tar -czf ../AdaptiveCards-iOS-${{ steps.version.outputs.version }}.tar.gz \
5757
Package.swift Sources/ README.md LICENSE
58-
59-
- name: Upload Release Asset
58+
59+
- name: Build Sample App (Simulator)
60+
run: |
61+
xcodebuild -project ios/SampleApp.xcodeproj \
62+
-scheme ACVisualizer \
63+
-configuration Release \
64+
-sdk iphonesimulator \
65+
-destination 'generic/platform=iOS Simulator' \
66+
-derivedDataPath build/ios-derived \
67+
CODE_SIGN_IDENTITY=- CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO \
68+
clean build
69+
70+
- name: Package Sample App IPA
71+
run: |
72+
APP_PATH=$(find build/ios-derived -name "ACVisualizer.app" -type d | head -1)
73+
mkdir -p Payload
74+
cp -r "$APP_PATH" Payload/
75+
zip -r ACVisualizer-${{ steps.version.outputs.version }}.ipa Payload/
76+
rm -rf Payload
77+
78+
- name: Upload Release Assets
6079
uses: softprops/action-gh-release@v1
6180
if: startsWith(github.ref, 'refs/tags/')
6281
with:
63-
files: AdaptiveCards-iOS-${{ steps.version.outputs.version }}.tar.gz
82+
files: |
83+
AdaptiveCards-iOS-${{ steps.version.outputs.version }}.tar.gz
84+
ACVisualizer-${{ steps.version.outputs.version }}.ipa
6485
draft: false
65-
prerelease: false
86+
prerelease: ${{ contains(github.ref, 'dogfood') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
6687
env:
6788
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68-
89+
6990
publish-android:
70-
name: Publish Android SDK
91+
name: Publish Android SDK & Sample App
7192
runs-on: ubuntu-latest
72-
93+
7394
steps:
7495
- name: Checkout code
7596
uses: actions/checkout@v4
76-
97+
7798
- name: Setup JDK 17
7899
uses: actions/setup-java@v4
79100
with:
80101
distribution: 'temurin'
81102
java-version: '17'
82103
cache: 'gradle'
83-
104+
84105
- name: Get version
85106
id: version
86107
run: |
@@ -89,20 +110,20 @@ jobs:
89110
else
90111
echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
91112
fi
92-
113+
93114
- name: Grant execute permission for gradlew
94115
working-directory: android
95116
run: chmod +x gradlew || echo "No gradlew found"
96-
97-
- name: Build Android Library
117+
118+
- name: Build Android Library & Sample App
98119
working-directory: android
99120
run: |
100121
if [ -f gradlew ]; then
101122
./gradlew clean assembleRelease
102123
else
103124
gradle clean assembleRelease
104125
fi
105-
126+
106127
- name: Run Tests
107128
working-directory: android
108129
run: |
@@ -111,93 +132,115 @@ jobs:
111132
else
112133
gradle test
113134
fi
114-
135+
115136
- name: Publish to Maven Local (preparation for publishing)
116137
working-directory: android
117138
run: |
118139
if [ -f gradlew ]; then
119140
./gradlew publishToMavenLocal || echo "Maven publish not configured"
120141
fi
121-
122-
- name: Create Release Archive
142+
143+
- name: Create SDK Release Archive
123144
run: |
124145
cd android
125146
find . -name "*.aar" -type f > aar-files.txt
126147
tar -czf ../AdaptiveCards-Android-${{ steps.version.outputs.version }}.tar.gz \
127148
--files-from=aar-files.txt \
128149
build.gradle.kts settings.gradle.kts gradle.properties README.md
129-
130-
- name: Upload Release Asset
150+
151+
- name: Collect Sample App APK
152+
run: |
153+
APK_PATH=$(find android/sample-app/build -name "*.apk" -path "*/release/*" | head -1)
154+
if [ -n "$APK_PATH" ]; then
155+
cp "$APK_PATH" ACVisualizer-${{ steps.version.outputs.version }}.apk
156+
else
157+
echo "Warning: Release APK not found, looking for any APK..."
158+
APK_PATH=$(find android/sample-app/build -name "*.apk" | head -1)
159+
cp "$APK_PATH" ACVisualizer-${{ steps.version.outputs.version }}.apk
160+
fi
161+
162+
- name: Upload Release Assets
131163
uses: softprops/action-gh-release@v1
132164
if: startsWith(github.ref, 'refs/tags/')
133165
with:
134-
files: AdaptiveCards-Android-${{ steps.version.outputs.version }}.tar.gz
166+
files: |
167+
AdaptiveCards-Android-${{ steps.version.outputs.version }}.tar.gz
168+
ACVisualizer-${{ steps.version.outputs.version }}.apk
135169
draft: false
136-
prerelease: false
170+
prerelease: ${{ contains(github.ref, 'dogfood') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
137171
env:
138172
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
139-
173+
140174
create-release:
141175
name: Create GitHub Release
142176
needs: [publish-ios, publish-android]
143177
runs-on: ubuntu-latest
144178
if: startsWith(github.ref, 'refs/tags/')
145-
179+
146180
steps:
147181
- name: Checkout code
148182
uses: actions/checkout@v4
149-
183+
150184
- name: Get version
151185
id: version
152186
run: echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
153-
187+
154188
- name: Create Release Notes
155189
run: |
156-
cat > release-notes.md << EOF
190+
cat > release-notes.md << 'EOF'
157191
# Adaptive Cards Mobile SDK v${{ steps.version.outputs.version }}
158-
159-
## 🎉 New Release
160-
161-
This release includes both iOS and Android SDKs with complete feature parity.
162-
163-
### 📦 Packages
164-
165-
- **iOS SDK**: AdaptiveCards-iOS-${{ steps.version.outputs.version }}.tar.gz
166-
- **Android SDK**: AdaptiveCards-Android-${{ steps.version.outputs.version }}.tar.gz
167-
168-
### 📝 Installation
169-
192+
193+
## Dogfood Release
194+
195+
This release includes both iOS and Android SDKs with complete feature parity,
196+
plus sample apps for hands-on testing.
197+
198+
### Packages
199+
200+
| Asset | Description |
201+
|-------|-------------|
202+
| `AdaptiveCards-iOS-${{ steps.version.outputs.version }}.tar.gz` | iOS SDK (SPM sources) |
203+
| `AdaptiveCards-Android-${{ steps.version.outputs.version }}.tar.gz` | Android SDK (AAR libraries) |
204+
| `ACVisualizer-${{ steps.version.outputs.version }}.ipa` | iOS Sample App (simulator build) |
205+
| `ACVisualizer-${{ steps.version.outputs.version }}.apk` | Android Sample App (install via `adb install`) |
206+
207+
### Installation
208+
170209
#### iOS (Swift Package Manager)
171-
\`\`\`swift
210+
```swift
172211
dependencies: [
173212
.package(url: "https://github.com/VikrantSingh01/AdaptiveCards-Mobile", from: "${{ steps.version.outputs.version }}")
174213
]
175-
\`\`\`
176-
214+
```
215+
177216
#### Android (Gradle)
178-
\`\`\`kotlin
217+
```kotlin
179218
dependencies {
180219
implementation("com.microsoft.adaptivecards:ac-core:${{ steps.version.outputs.version }}")
181220
implementation("com.microsoft.adaptivecards:ac-rendering:${{ steps.version.outputs.version }}")
182221
}
183-
\`\`\`
184-
185-
### 🚀 Features
186-
222+
```
223+
224+
#### Sample App (Android)
225+
```bash
226+
adb install ACVisualizer-${{ steps.version.outputs.version }}.apk
227+
```
228+
229+
### What's Changed
230+
187231
See [CHANGELOG.md](CHANGELOG.md) for detailed changes.
188-
189-
### 📖 Documentation
190-
191-
- [iOS README](ios/README.md)
192-
- [Android README](android/README.md)
193-
- [Sample Apps](README.md#sample-apps)
232+
233+
### Documentation
234+
235+
- [iOS Integration Guide](docs/guides/IOS_INTEGRATION_GUIDE.md)
236+
- [Android Integration Guide](docs/guides/ANDROID_INTEGRATION_GUIDE.md)
194237
EOF
195-
238+
196239
- name: Create Release
197240
uses: softprops/action-gh-release@v1
198241
with:
199242
body_path: release-notes.md
200243
draft: false
201-
prerelease: false
244+
prerelease: ${{ contains(github.ref, 'dogfood') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
202245
env:
203246
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

AdaptiveCards-Mobile.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'AdaptiveCards-Mobile'
3-
s.version = '2.0.0'
3+
s.version = '0.0.1'
44
s.summary = 'Cross-platform Adaptive Cards v1.6 rendering SDK for iOS'
55
s.description = <<-DESC
66
SwiftUI-based rendering library for Adaptive Cards v1.6. Provides standalone parsing,

CHANGELOG.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,20 @@ All notable changes to the Adaptive Cards Mobile SDK will be documented in this
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [1.1.0-dev] - Unreleased
8+
## [0.0.1] - 2026-03-13
9+
10+
### Dogfood Release
11+
12+
First dogfood release of the Adaptive Cards Mobile SDK for internal testing.
13+
14+
### Highlights
15+
- **SDK Public API**: `AdaptiveCards.parse()`, `CardConfiguration`, `CardCache`, `CardHandle`, `PerformanceGuardrails`
16+
- **UIKit/View bridges**: `AdaptiveCardUIView` (iOS), `AdaptiveCardAndroidView` (Android)
17+
- **Template engine**: 60+ functions on iOS, 50+ on Android with full `${...}` expression support
18+
- **Schema v1.6**: Complete element/action coverage with cross-platform parity
19+
- **Sample apps**: Deep link routing, gallery filters, card editor, Teams simulator
20+
21+
---
922

1023
### Extended Deep Link Routing, Gallery Filters & Cart Icon (2026-03-11)
1124

@@ -271,5 +284,6 @@ Built following the [Adaptive Cards specification](https://adaptivecards.io/) by
271284

272285
---
273286

287+
[0.0.1]: https://github.com/VikrantSingh01/AdaptiveCards-Mobile/releases/tag/v0.0.1
274288
[1.0.0]: https://github.com/VikrantSingh01/AdaptiveCards-Mobile/releases/tag/v1.0.0
275-
[Unreleased]: https://github.com/VikrantSingh01/AdaptiveCards-Mobile/compare/v1.0.0...HEAD
289+
[Unreleased]: https://github.com/VikrantSingh01/AdaptiveCards-Mobile/compare/v0.0.1...HEAD

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ Native [Adaptive Cards](https://adaptivecards.io/) rendering for iOS (SwiftUI) a
77
[![Swift 5.9](https://img.shields.io/badge/Swift-5.9-orange.svg)](https://swift.org/)
88
[![Kotlin 1.9](https://img.shields.io/badge/Kotlin-1.9-purple.svg)](https://kotlinlang.org/)
99
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
10+
[![Release](https://img.shields.io/github/v/release/VikrantSingh01/AdaptiveCards-Mobile?include_prereleases&label=release)](https://github.com/VikrantSingh01/AdaptiveCards-Mobile/releases/latest)
11+
12+
## Downloads
13+
14+
| Asset | Description |
15+
|-------|-------------|
16+
| [iOS SDK](https://github.com/VikrantSingh01/AdaptiveCards-Mobile/releases/latest/download/AdaptiveCards-iOS-0.0.1.tar.gz) | SPM sources archive |
17+
| [Android SDK](https://github.com/VikrantSingh01/AdaptiveCards-Mobile/releases/latest/download/AdaptiveCards-Android-0.0.1.tar.gz) | AAR libraries archive |
18+
| [iOS Sample App (.ipa)](https://github.com/VikrantSingh01/AdaptiveCards-Mobile/releases/latest/download/ACVisualizer-0.0.1.ipa) | Simulator build |
19+
| [Android Sample App (.apk)](https://github.com/VikrantSingh01/AdaptiveCards-Mobile/releases/latest/download/ACVisualizer-0.0.1.apk) | Install via `adb install` |
1020

1121
## Demo
1222

android/publishing.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
apply(plugin = "maven-publish")
66

7-
val sdkVersion = findProperty("version")?.toString() ?: "2.0.0-SNAPSHOT"
7+
val sdkVersion = findProperty("version")?.toString() ?: "0.0.1"
88
val sdkGroup = "com.microsoft.adaptivecards"
99

1010
configure<PublishingExtension> {

0 commit comments

Comments
 (0)