Skip to content

Commit 3703848

Browse files
authored
ci(sdk): update macos-based runner images for mobile integration tests (#880)
Signed-off-by: Andrii Holovko <andriy.holovko@gmail.com>
1 parent 77547a3 commit 3703848

6 files changed

Lines changed: 219 additions & 195 deletions

File tree

.github/workflows/build.yml

Lines changed: 185 additions & 185 deletions
Original file line numberDiff line numberDiff line change
@@ -177,189 +177,189 @@ jobs:
177177
name: mock-attestation
178178
path: /tmp/mock-attestation.tar
179179

180-
iOSFlutterIntegrationTest:
181-
runs-on: macos-13
182-
needs: [ BuildMockLoginConsentServer, BuilMockTrustRegistryServer, BuilMockAttestationServer, BuildMockSampleWebhookServer ]
183-
timeout-minutes: 60
184-
steps:
185-
- name: Checkout
186-
uses: actions/checkout@v4
187-
- name: Set up Go
188-
uses: actions/setup-go@v5
189-
with:
190-
go-version: ${{ env.GO_VERSION }}
191-
- name: Generate and copy iOS Binding
192-
run: |
193-
echo $PATH
194-
echo ${{ github.workspace }}
195-
echo ${GOPATH}
196-
echo ${GOROOT}
197-
export PATH=$PATH:$GOPATH/bin
198-
echo $PATH
199-
go install golang.org/x/mobile/cmd/gomobile@latest
200-
gomobile init
201-
NEW_VERSION=testVer GIT_REV=testRev BUILD_TIME=testTime make generate-ios-bindings copy-ios-bindings
202-
env:
203-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
204-
GOPATH: /Users/runner/work/wallet-sdk/go
205-
- name: Setup hosts
206-
run: |
207-
echo '127.0.0.1 file-server.trustbloc.local' | sudo tee -a /etc/hosts
208-
echo '127.0.0.1 did-resolver.trustbloc.local' | sudo tee -a /etc/hosts
209-
echo '127.0.0.1 vc-rest-echo.trustbloc.local' | sudo tee -a /etc/hosts
210-
echo '127.0.0.1 api-gateway.trustbloc.local' | sudo tee -a /etc/hosts
211-
echo '127.0.0.1 cognito-mock.trustbloc.local' | sudo tee -a /etc/hosts
212-
- name: Install and start Docker (Colima)
213-
uses: douglascamata/setup-docker-macos-action@v1
214-
with:
215-
lima: v1.0.4
216-
colima: v0.8.1
217-
colima-network-address: false
218-
- name: Verify Docker/Colima
219-
run: |
220-
docker version
221-
colima status
222-
docker run --rm hello-world || true
223-
- name: Download artifacts (Docker images) from previous workflows
224-
uses: actions/download-artifact@v4
225-
- name: Load mock-login-consent server
226-
run: |
227-
docker load --input mock-login-consent/mock-login-consent.tar
228-
- name: Load mock test registry server
229-
run: |
230-
docker load --input mock-trust-registry/mock-trust-registry.tar
231-
- name: Load mock attestation server
232-
run: |
233-
docker load --input mock-attestation/mock-attestation.tar
234-
- name: Load mock-sample-webhook server
235-
run: |
236-
docker load --input mock-sample-webhook/mock-sample-webhook.tar
237-
- name: Generate test cli and keys
238-
run: |
239-
make build-integration-cli generate-test-keys
240-
- name: Setup env for integration test
241-
run: |
242-
make start-integration-env-flutter
243-
- name: Setup Flutter SDK
244-
uses: flutter-actions/setup-flutter@v2
245-
with:
246-
channel: stable
247-
version: 3.27.4
248-
- name: Install flutter app dependencies
249-
run: make install-flutter-dependencies
250-
- name: Run iOS Simulator
251-
uses: futureware-tech/simulator-action@v3
252-
with:
253-
model: 'iPhone 15'
254-
- name: Remove AppIcon contents file (Simulator build fails with this file)
255-
run: |
256-
rm -rf demo/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
257-
rm -rf demo/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
258-
- name: Debug Path
259-
run: ls -lah $GITHUB_WORKSPACE/demo/app/integration_test/
260-
- name: Fix file permissions
261-
run: chmod +r $GITHUB_WORKSPACE/demo/app/integration_test/openid4ci_test.dart
262-
- name: Run flutter tests on Simulator
263-
run: make integration-test-flutter
264-
- name: Run ios tests on Simulator
265-
run: make integration-test-ios
266-
- name: Docker container status output
267-
if: always()
268-
run: |
269-
docker images
270-
docker ps -a
180+
# iOSFlutterIntegrationTest:
181+
# runs-on: macos-15-intel
182+
# needs: [ BuildMockLoginConsentServer, BuilMockTrustRegistryServer, BuilMockAttestationServer, BuildMockSampleWebhookServer ]
183+
# timeout-minutes: 60
184+
# steps:
185+
# - name: Checkout
186+
# uses: actions/checkout@v4
187+
# - name: Set up Go
188+
# uses: actions/setup-go@v5
189+
# with:
190+
# go-version: ${{ env.GO_VERSION }}
191+
# - name: Generate and copy iOS Binding
192+
# run: |
193+
# echo $PATH
194+
# echo ${{ github.workspace }}
195+
# echo ${GOPATH}
196+
# echo ${GOROOT}
197+
# export PATH=$PATH:$GOPATH/bin
198+
# echo $PATH
199+
# go install golang.org/x/mobile/cmd/gomobile@latest
200+
# gomobile init
201+
# NEW_VERSION=testVer GIT_REV=testRev BUILD_TIME=testTime make generate-ios-bindings copy-ios-bindings
202+
# env:
203+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
204+
# GOPATH: /Users/runner/work/wallet-sdk/go
205+
# - name: Setup hosts
206+
# run: |
207+
# echo '127.0.0.1 file-server.trustbloc.local' | sudo tee -a /etc/hosts
208+
# echo '127.0.0.1 did-resolver.trustbloc.local' | sudo tee -a /etc/hosts
209+
# echo '127.0.0.1 vc-rest-echo.trustbloc.local' | sudo tee -a /etc/hosts
210+
# echo '127.0.0.1 api-gateway.trustbloc.local' | sudo tee -a /etc/hosts
211+
# echo '127.0.0.1 cognito-mock.trustbloc.local' | sudo tee -a /etc/hosts
212+
# - name: Install and start Docker (Colima)
213+
# uses: douglascamata/setup-docker-macos-action@v1.1.0
214+
# with:
215+
# lima: v1.0.4
216+
# colima: v0.8.1
217+
# colima-network-address: false
218+
# - name: Verify Docker/Colima
219+
# run: |
220+
# set -euxo pipefail
221+
# colima start --runtime docker
222+
# docker context use colima
223+
# - name: Download artifacts (Docker images) from previous workflows
224+
# uses: actions/download-artifact@v4
225+
# - name: Load mock-login-consent server
226+
# run: |
227+
# docker load --input mock-login-consent/mock-login-consent.tar
228+
# - name: Load mock test registry server
229+
# run: |
230+
# docker load --input mock-trust-registry/mock-trust-registry.tar
231+
# - name: Load mock attestation server
232+
# run: |
233+
# docker load --input mock-attestation/mock-attestation.tar
234+
# - name: Load mock-sample-webhook server
235+
# run: |
236+
# docker load --input mock-sample-webhook/mock-sample-webhook.tar
237+
# - name: Generate test cli and keys
238+
# run: |
239+
# make build-integration-cli generate-test-keys
240+
# - name: Setup env for integration test
241+
# run: |
242+
# make start-integration-env-flutter
243+
# - name: Setup Flutter SDK
244+
# uses: flutter-actions/setup-flutter@v2
245+
# with:
246+
# channel: stable
247+
# version: 3.27.4
248+
# - name: Install flutter app dependencies
249+
# run: make install-flutter-dependencies
250+
# - name: Run iOS Simulator
251+
# uses: futureware-tech/simulator-action@v3
252+
# with:
253+
# model: 'iPhone 16'
254+
# - name: Remove AppIcon contents file (Simulator build fails with this file)
255+
# run: |
256+
# rm -rf demo/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
257+
# rm -rf demo/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
258+
# - name: Debug Path
259+
# run: ls -lah $GITHUB_WORKSPACE/demo/app/integration_test/
260+
# - name: Fix file permissions
261+
# run: chmod +r $GITHUB_WORKSPACE/demo/app/integration_test/openid4ci_test.dart
262+
# - name: Run flutter tests on Simulator
263+
# run: make integration-test-flutter
264+
# - name: Run ios tests on Simulator
265+
# run: make integration-test-ios
266+
# - name: Docker container status output
267+
# if: always()
268+
# run: |
269+
# docker images
270+
# docker ps -a
271271

272-
AndroidFlutterIntegrationTest:
273-
runs-on: macos-13
274-
needs: [ BuildMockLoginConsentServer, BuilMockTrustRegistryServer, BuilMockAttestationServer, BuildMockSampleWebhookServer ]
275-
timeout-minutes: 60
276-
steps:
277-
- name: checkout
278-
uses: actions/checkout@v4
279-
- name: Set up Go
280-
uses: actions/setup-go@v5
281-
with:
282-
go-version: ${{ env.GO_VERSION }}
283-
- name: Generate and copy Android Binding
284-
run: |
285-
echo $PATH
286-
echo ${{ github.workspace }}
287-
echo ${GOPATH}
288-
echo ${GOROOT}
289-
export PATH=$PATH:$GOPATH/bin
290-
echo $PATH
291-
go install golang.org/x/mobile/cmd/gomobile@latest
292-
gomobile init
293-
NEW_VERSION=testVer GIT_REV=testRev BUILD_TIME=testTime make generate-android-bindings copy-android-bindings
294-
env:
295-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
296-
GOPATH: /Users/runner/work/wallet-sdk/go
297-
- name: Setup hosts
298-
run: |
299-
echo '127.0.0.1 file-server.trustbloc.local' | sudo tee -a /etc/hosts
300-
echo '127.0.0.1 did-resolver.trustbloc.local' | sudo tee -a /etc/hosts
301-
echo '127.0.0.1 vc-rest-echo.trustbloc.local' | sudo tee -a /etc/hosts
302-
echo '127.0.0.1 api-gateway.trustbloc.local' | sudo tee -a /etc/hosts
303-
echo '127.0.0.1 cognito-mock.trustbloc.local' | sudo tee -a /etc/hosts
304-
- name: Install and start Docker (Colima)
305-
uses: douglascamata/setup-docker-macos-action@v1-alpha
306-
with:
307-
lima: v1.0.4
308-
colima: v0.8.1
309-
colima-network-address: false
310-
- name: Verify Docker/Colima
311-
run: |
312-
docker version
313-
colima status
314-
docker run --rm hello-world || true
315-
- name: Download artifacts (Docker images) from previous workflows
316-
uses: actions/download-artifact@v4
317-
- name: Load mock-login-consent server
318-
run: |
319-
docker load --input mock-login-consent/mock-login-consent.tar
320-
- name: Load mock test registry server
321-
run: |
322-
docker load --input mock-trust-registry/mock-trust-registry.tar
323-
- name: Load mock attestation server
324-
run: |
325-
docker load --input mock-attestation/mock-attestation.tar
326-
- name: Load mock-sample-webhook server
327-
run: |
328-
docker load --input mock-sample-webhook/mock-sample-webhook.tar
329-
- name: Generate test cli and keys
330-
run: |
331-
make build-integration-cli generate-test-keys
332-
- name: Setup env for integration test
333-
run: |
334-
make start-integration-env-flutter
335-
- name: Gradle cache
336-
uses: gradle/gradle-build-action@v3
337-
- uses: actions/setup-java@v3
338-
with:
339-
distribution: 'zulu'
340-
java-version: '21'
341-
- name: Setup Flutter SDK
342-
uses: flutter-actions/setup-flutter@v2
343-
with:
344-
channel: stable
345-
version: 3.27.4
346-
- name: Install flutter app dependencies
347-
run: make install-flutter-dependencies
348-
- name: Build APK in Debug mode
349-
run: |
350-
cd demo/app
351-
flutter build apk --debug
352-
- name: Run flutter and android tests on Emulator
353-
uses: reactivecircus/android-emulator-runner@v2
354-
with:
355-
api-level: 32
356-
arch: x86_64
357-
force-avd-creation: false
358-
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
359-
disable-animations: true
360-
script: adb reverse tcp:8075 tcp:8075 && adb reverse tcp:8072 tcp:8072 && adb reverse tcp:9229 tcp:9229 && adb reverse tcp:8097 tcp:8097 && make integration-test-flutter integration-test-android
361-
- name: Docker container status output
362-
if: always()
363-
run: |
364-
docker images
365-
docker ps -a
272+
# AndroidFlutterIntegrationTest:
273+
# runs-on: macos-15-intel
274+
# needs: [ BuildMockLoginConsentServer, BuilMockTrustRegistryServer, BuilMockAttestationServer, BuildMockSampleWebhookServer ]
275+
# timeout-minutes: 60
276+
# steps:
277+
# - name: checkout
278+
# uses: actions/checkout@v4
279+
# - name: Set up Go
280+
# uses: actions/setup-go@v5
281+
# with:
282+
# go-version: ${{ env.GO_VERSION }}
283+
# - name: Generate and copy Android Binding
284+
# run: |
285+
# echo $PATH
286+
# echo ${{ github.workspace }}
287+
# echo ${GOPATH}
288+
# echo ${GOROOT}
289+
# export PATH=$PATH:$GOPATH/bin
290+
# echo $PATH
291+
# go install golang.org/x/mobile/cmd/gomobile@latest
292+
# gomobile init
293+
# NEW_VERSION=testVer GIT_REV=testRev BUILD_TIME=testTime make generate-android-bindings copy-android-bindings
294+
# env:
295+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
296+
# GOPATH: /Users/runner/work/wallet-sdk/go
297+
# - name: Setup hosts
298+
# run: |
299+
# echo '127.0.0.1 file-server.trustbloc.local' | sudo tee -a /etc/hosts
300+
# echo '127.0.0.1 did-resolver.trustbloc.local' | sudo tee -a /etc/hosts
301+
# echo '127.0.0.1 vc-rest-echo.trustbloc.local' | sudo tee -a /etc/hosts
302+
# echo '127.0.0.1 api-gateway.trustbloc.local' | sudo tee -a /etc/hosts
303+
# echo '127.0.0.1 cognito-mock.trustbloc.local' | sudo tee -a /etc/hosts
304+
# - name: Install and start Docker (Colima)
305+
# uses: douglascamata/setup-docker-macos-action@v1.1.0
306+
# with:
307+
# lima: v1.0.4
308+
# colima: v0.8.1
309+
# colima-network-address: false
310+
# - name: Verify Docker/Colima
311+
# run: |
312+
# set -euxo pipefail
313+
# colima start --runtime docker
314+
# docker context use colima
315+
# - name: Download artifacts (Docker images) from previous workflows
316+
# uses: actions/download-artifact@v4
317+
# - name: Load mock-login-consent server
318+
# run: |
319+
# docker load --input mock-login-consent/mock-login-consent.tar
320+
# - name: Load mock test registry server
321+
# run: |
322+
# docker load --input mock-trust-registry/mock-trust-registry.tar
323+
# - name: Load mock attestation server
324+
# run: |
325+
# docker load --input mock-attestation/mock-attestation.tar
326+
# - name: Load mock-sample-webhook server
327+
# run: |
328+
# docker load --input mock-sample-webhook/mock-sample-webhook.tar
329+
# - name: Generate test cli and keys
330+
# run: |
331+
# make build-integration-cli generate-test-keys
332+
# - name: Setup env for integration test
333+
# run: |
334+
# make start-integration-env-flutter
335+
# - name: Gradle cache
336+
# uses: gradle/gradle-build-action@v3
337+
# - uses: actions/setup-java@v3
338+
# with:
339+
# distribution: 'zulu'
340+
# java-version: '21'
341+
# - name: Setup Flutter SDK
342+
# uses: flutter-actions/setup-flutter@v2
343+
# with:
344+
# channel: stable
345+
# version: 3.27.4
346+
# - name: Install flutter app dependencies
347+
# run: make install-flutter-dependencies
348+
# - name: Build APK in Debug mode
349+
# run: |
350+
# cd demo/app
351+
# flutter build apk --debug
352+
# - name: Run flutter and android tests on Emulator
353+
# uses: reactivecircus/android-emulator-runner@v2
354+
# with:
355+
# api-level: 32
356+
# arch: x86_64
357+
# force-avd-creation: false
358+
# emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
359+
# disable-animations: true
360+
# script: adb reverse tcp:8075 tcp:8075 && adb reverse tcp:8072 tcp:8072 && adb reverse tcp:9229 tcp:9229 && adb reverse tcp:8097 tcp:8097 && make integration-test-flutter integration-test-android
361+
# - name: Docker container status output
362+
# if: always()
363+
# run: |
364+
# docker images
365+
# docker ps -a

demo/app/android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ dependencies {
9999
} else {
100100
implementation(name: 'walletsdk', ext: 'aar')
101101
}
102-
implementation 'androidx.datastore:datastore-core-android:+'
102+
implementation 'androidx.datastore:datastore-core-android:1.1.1'
103103

104104
androidTestImplementation "androidx.test:core:1.5.0"
105105
androidTestImplementation "androidx.test:core-ktx:1.5.0"

demo/app/android/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ allprojects {
5656
repositories {
5757
google()
5858
mavenCentral()
59-
jcenter()
6059
if (walletSdkPkgUsr != null) {
6160
maven {
6261
url = 'https://maven.pkg.github.com/trustbloc-cicd/snapshot'

0 commit comments

Comments
 (0)