Skip to content
Draft

Crypto2 #1954

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
e67718a
Merge branch 'main' into feat/portal2
JakeFernandes98 Jul 9, 2026
8ccc7c1
add clientId for verifier
JakeFernandes98 Jul 10, 2026
1a26a84
add clientid option
JakeFernandes98 Jul 13, 2026
01b109f
Merge branch 'main' into feat/portal2
JakeFernandes98 Jul 13, 2026
e8c6cad
add env level overrides for verifier crypto
JakeFernandes98 Jul 13, 2026
789d8b3
add links to demo portal to readme
JakeFernandes98 Jul 13, 2026
dc11216
add member state PIDs
JakeFernandes98 Jul 13, 2026
aa3ce17
fix qr code overflow, add state preservation, add invalid button state
JakeFernandes98 Jul 14, 2026
5d2c1bf
fix event callback and added eudi x509 hash
JakeFernandes98 Jul 14, 2026
7910443
Merge branch 'main' into feat/portal2
JakeFernandes98 Jul 14, 2026
a6a96c3
clarify comment regarding iss in auth req
JakeFernandes98 Jul 14, 2026
43e1f65
Merge pull request #1896 from walt-id/fix/add-iss-to-auth-req
JakeFernandes98 Jul 14, 2026
2416880
fix german eudi example
JakeFernandes98 Jul 14, 2026
6a52583
Merge pull request #1906 from walt-id/wal-1169
chsavvaidis Jul 15, 2026
563b489
Merge branch 'main' into wallet2-updates-and-refactor
waltkb Jul 15, 2026
fde1ae6
add policy results
JakeFernandes98 Jul 15, 2026
c816d6f
Merge pull request #1903 from walt-id/ci/android-selective-run
JakeFernandes98 Jul 15, 2026
3bb0821
learn more about dcql hyperlink
JakeFernandes98 Jul 15, 2026
cd253b3
clean up swagger docs
JakeFernandes98 Jul 15, 2026
f2b1bb5
enrich wallet info endpoint
JakeFernandes98 Jul 15, 2026
ccec9b4
chore: ignore SwiftPM lock scratch dirs
szijpeter Jul 15, 2026
7e38147
add transaction data UI components
JakeFernandes98 Jul 15, 2026
0c2c056
Merge branch 'main' into feature/wal-751-openid4vp-mobile
szijpeter Jul 15, 2026
b25723f
Merge branch 'feature/wal-751-openid4vp-mobile' into feature/wal-1077…
szijpeter Jul 15, 2026
ef91fcf
Merge pull request #1911 from walt-id/chore/ignore-swiftpm-locks
szijpeter Jul 15, 2026
312d8d9
Added holder-key extraction from the mdoc MSO device key
waltkb Jul 15, 2026
74c5913
Added a multiplatform test verifying exact P-256 holder-key extraction
waltkb Jul 15, 2026
6a0f970
Added a suspendable callback invoked before successful or rejected HT…
waltkb Jul 15, 2026
e17c21a
Merge branch 'main' into eidas-audit-log-main
waltkb Jul 15, 2026
6312b41
fix(ci): restore mobile eligibility label detection
szijpeter Jul 15, 2026
f7711a5
Merge pull request #1882 from walt-id/feature/wal-751-openid4vp-mobile
szijpeter Jul 15, 2026
dbe0b9c
Merge pull request #1915 from walt-id/fix/mobile-eligibility-label-de…
szijpeter Jul 15, 2026
05ac1ad
Merge branch 'main' into feat/wal-1178
chsavvaidis Jul 15, 2026
8089040
chore: refresh transaction data branch CI
szijpeter Jul 15, 2026
bed9393
Merge pull request #1893 from walt-id/feature/wal-1077-transaction-da…
szijpeter Jul 15, 2026
0b733f5
fix(openid4vci): keep transaction codes out of offers
szijpeter Jul 15, 2026
744e260
test(mobile): pass EUDI transaction codes separately
szijpeter Jul 15, 2026
049eed3
test(mobile): require EUDI transaction codes explicitly
szijpeter Jul 15, 2026
9762c18
Delete old abandoned parts
waltkb Jul 16, 2026
ed0b774
test(openid4vci): validate transaction code metadata
szijpeter Jul 16, 2026
8bb0cd0
feat(mobile): add credential receive flow
szijpeter Jul 15, 2026
73efe2f
fix(mobile): harden credential receive flow
szijpeter Jul 15, 2026
b191776
fix(mobile): scope offer tx code metadata to mobile sdk
szijpeter Jul 15, 2026
bd8829d
fix(demo): cancel stale credential receive work
szijpeter Jul 15, 2026
ac17b90
refactor(mobile): simplify transaction code requirement
szijpeter Jul 15, 2026
b880692
test(mobile): cover transaction code retry flows
szijpeter Jul 15, 2026
c19411a
test(mobile): align transaction code coverage
szijpeter Jul 15, 2026
d16b6d7
fix(mobile): finalize transaction code receive flow
szijpeter Jul 16, 2026
caeb46e
refactor(demo): remove redundant offer resolution model
szijpeter Jul 16, 2026
0f33e51
Merge branch 'main' into feat/wal-1178
chsavvaidis Jul 16, 2026
01d3053
Merge branch 'main' into feat/portal2
dinkar-jain Jul 16, 2026
53d1035
fix: add reject duplications
chsavvaidis Jul 16, 2026
908ad7d
test: add tests
chsavvaidis Jul 16, 2026
6807ae7
Merge branch 'main' into feat/wal-1180
chsavvaidis Jul 16, 2026
365e6c1
Merge pull request #1917 from walt-id/fix/openid4vci-standard-tx-code
szijpeter Jul 16, 2026
f2edd67
Merge pull request #1913 from walt-id/agent/wal-750-mobile-receive-flow
szijpeter Jul 16, 2026
ba901fd
test: update par test endpoint
chsavvaidis Jul 16, 2026
36bfae8
Merge branch 'main' into feat/wal-1178
chsavvaidis Jul 16, 2026
f12cd4d
Merge branch 'main' into feat/wal-1180
chsavvaidis Jul 16, 2026
15fd431
Merge branch 'main' into feat/wal-1178
chsavvaidis Jul 16, 2026
7ab334e
Merge branch 'feat/wal-1178' of https://github.com/walt-id/waltid-ide…
chsavvaidis Jul 16, 2026
3138969
Merge branch 'main' into feat/portal2
dinkar-jain Jul 16, 2026
6432e2a
Merge pull request #1883 from walt-id/feat/portal2
dinkar-jain Jul 16, 2026
e3d4e7a
feat(openid4vci): add credential encryption provider hooks
chsavvaidis Jul 16, 2026
467b82a
feat(openid4vci): add encrypted credential request imports
chsavvaidis Jul 16, 2026
09c8496
feat(openid4vci): reject plaintext response encryption requests
chsavvaidis Jul 16, 2026
e4e75fe
feat(openid4vci): add encrypted credential request overload
chsavvaidis Jul 16, 2026
ed7623c
feat(openid4vci): map encrypted request payload parameters
chsavvaidis Jul 16, 2026
f050265
feat(openid4vci): encrypt credential response payloads
chsavvaidis Jul 16, 2026
ec5eb0d
refactor(openid4vci): extract credential access token verification
chsavvaidis Jul 16, 2026
c369544
feat(openid4vci): expose encrypted credential response bodies
chsavvaidis Jul 16, 2026
98bf9e9
feat(openid4vci): add credential response body model
chsavvaidis Jul 16, 2026
3a8affd
feat(openid4vci): serialize credential response payloads
chsavvaidis Jul 16, 2026
61640a2
feat(openid4vci): carry response encryption on requests
chsavvaidis Jul 16, 2026
c89285a
feat(openid4vci): parse response encryption parameters
chsavvaidis Jul 16, 2026
dd3e996
feat(openid4vci): add response encryption validation errors
chsavvaidis Jul 16, 2026
8349437
feat(openid4vci): validate encryption parameters in requests
chsavvaidis Jul 16, 2026
c065b36
feat(openid4vci): derive response encryption metadata
chsavvaidis Jul 16, 2026
9c8cd18
feat(openid4vci): add credential encryption profile constants
chsavvaidis Jul 16, 2026
f861477
feat(openid4vci): add credential request decryptor contract
chsavvaidis Jul 16, 2026
f590876
feat(openid4vci): add encryption unsupported exception
chsavvaidis Jul 16, 2026
66716d1
feat(openid4vci): add response encryption parameter model
chsavvaidis Jul 16, 2026
5710d1f
feat(openid4vci): add JWE credential request decryptor
chsavvaidis Jul 16, 2026
10a96a0
feat(openid4vci): add credential response encryptor contract
chsavvaidis Jul 16, 2026
9f2d5d6
feat(openid4vci): add JWE credential response encryptor
chsavvaidis Jul 16, 2026
d0f60f4
test(openid4vci): configure credential encryption test defaults
chsavvaidis Jul 16, 2026
4955705
test(openid4vci): cover derived encryption metadata
chsavvaidis Jul 16, 2026
bfe6cc2
test(openid4vci): cover encryption parameter validation
chsavvaidis Jul 16, 2026
f96fbc6
test(openid4vci): cover encrypted credential endpoint flow
chsavvaidis Jul 16, 2026
f4f13f6
config(issuer2): add credential encryption key setting
chsavvaidis Jul 16, 2026
3bb270e
feat(issuer2): add credential encryption key config
chsavvaidis Jul 16, 2026
2160a48
feat(issuer2): validate credential encryption key material
chsavvaidis Jul 16, 2026
461b174
config(issuer2): include credential encryption key example
chsavvaidis Jul 16, 2026
f1b9a0d
feat(issuer2): wire credential request decryptor
chsavvaidis Jul 16, 2026
d010091
feat(issuer2): expose encrypted credential request processing
chsavvaidis Jul 16, 2026
bdcdcdc
feat(issuer2): handle credential endpoint jwt content
chsavvaidis Jul 16, 2026
d53757a
feat(issuer2): write encrypted credential responses
chsavvaidis Jul 16, 2026
d9f00d5
docs(issuer2): document jwt credential endpoint content
chsavvaidis Jul 16, 2026
6008207
feat(issuer2): build credential request encryption metadata
chsavvaidis Jul 16, 2026
0a70e6b
feat(issuer2): pass encryption metadata through issuer metadata
chsavvaidis Jul 16, 2026
74dbf40
test(issuer2): cover credential encryption service config
chsavvaidis Jul 16, 2026
9131424
test(issuer2): assert metadata endpoint encryption values
chsavvaidis Jul 16, 2026
04ab5f2
test(issuer2): assert metadata service encryption values
chsavvaidis Jul 16, 2026
55334fb
test(issuer2): cover metadata without encryption key
chsavvaidis Jul 16, 2026
fc193b6
test(issuer2): cover configured encryption key metadata
chsavvaidis Jul 16, 2026
a18d814
Merge branch 'main' into feat/client-encryption
chsavvaidis Jul 16, 2026
ae84f03
fix: baseurl leftover
chsavvaidis Jul 16, 2026
3c4e6dc
Introduce credential offer review step
SuperBatata Jul 16, 2026
66e942e
Fix Compose offer preview test compilation
szijpeter Jul 16, 2026
e284f10
Include offer review view in native iOS target
szijpeter Jul 16, 2026
ea88d63
Keep credential offer decline action enabled
szijpeter Jul 16, 2026
83370db
Enforce transaction code requirement on native iOS
szijpeter Jul 16, 2026
1a21555
Align Swift offer resolution API with Kotlin
szijpeter Jul 16, 2026
9c997da
Bind credential issuance to reviewed offer
szijpeter Jul 16, 2026
e64f96b
test(mobile): cover credential offer retry and decline
szijpeter Jul 16, 2026
f956384
Merge pull request #1923 from walt-id/feat/client-encryption
chsavvaidis Jul 16, 2026
bbdeab1
Merge branch 'main' into feat/wal-1180
chsavvaidis Jul 16, 2026
3f70b8d
feat: enhance OpenAPI module with dynamic base path handling
dinkar-jain Jul 16, 2026
aeb0aa5
Merge pull request #1920 from walt-id/feat/wal-1180
chsavvaidis Jul 16, 2026
949b7f9
Merge branch 'main' into feat/wal-1178
chsavvaidis Jul 16, 2026
b33db5f
[WAL-1184] fix(wallet-demo): persist Compose PIN verifier
szijpeter Jul 15, 2026
af2b1bb
[WAL-1184] fix(wallet-demo): harden PIN unlock handling
szijpeter Jul 15, 2026
70cb7b2
Merge pull request #1916 from walt-id/feat/wal-1178
chsavvaidis Jul 16, 2026
a052804
Merge pull request #1924 from walt-id/feature/wal-750-credential-offe…
szijpeter Jul 16, 2026
a2b8221
Merge pull request #1912 from walt-id/fix/wal-1184-compose-pin-persis…
szijpeter Jul 17, 2026
2854751
[WAL-1184] fix(wallet-demo): repair Compose iOS test setup
szijpeter Jul 17, 2026
862e2a0
Merge pull request #1927 from walt-id/fix/wal-1184-compose-pin-merge-ci
szijpeter Jul 17, 2026
6369cdb
fix(issuer2): trust rotated EUDI attestation CA
szijpeter Jul 17, 2026
36e68d0
Merge pull request #1928 from walt-id/fix/eudi-wallet-attestation-ca-…
szijpeter Jul 17, 2026
5cd4cde
merge main
JakeFernandes98 Jul 17, 2026
f2ed11f
readmes
JakeFernandes98 Jul 17, 2026
f0839a9
Mobile readme updates
JakeFernandes98 Jul 17, 2026
de3947d
Merge pull request #1908 from walt-id/wallet2-updates-and-refactor
JakeFernandes98 Jul 17, 2026
66b18aa
Merge pull request #1914 from walt-id/eidas-audit-log-main
JakeFernandes98 Jul 17, 2026
ba91531
Merge branch 'main' into france-identity
dinkar-jain Jul 20, 2026
3b29a63
Merge pull request #1925 from walt-id/france-identity
dinkar-jain Jul 20, 2026
48b1aeb
test(mobile): add stable EUDI compatibility coverage
szijpeter Jul 20, 2026
7f26da8
test(mobile): quarantine EUDI PID presentation canaries
szijpeter Jul 20, 2026
5203db2
Merge pull request #1930 from walt-id/fix/quarantine-eudi-mobile-comp…
szijpeter Jul 20, 2026
8e95608
Merge branch 'main' into crypto-updates
waltkb Jul 20, 2026
2eb86f3
Crypto2
waltkb Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .github/scripts/mobile-ci/configure-android-device-phase.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ set -euo pipefail
phase="${1:?Android device test phase is required}"

case "$phase" in
crypto2-signum)
script="./waltid-identity/.github/scripts/mobile-ci/run-android-crypto2-signum-tests.sh"
emulator_options="-no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim"
report_paths="waltid-identity/waltid-libraries/crypto/waltid-crypto2-signum/build/outputs/androidTest-results/**/*.xml"
artifact_paths=$'waltid-identity/waltid-libraries/crypto/waltid-crypto2-signum/build/reports/androidTests/**\nwaltid-identity/waltid-libraries/crypto/waltid-crypto2-signum/build/outputs/androidTest-results/**'
;;
wallet-mobile)
script="./waltid-identity/.github/scripts/mobile-ci/run-android-wallet-mobile-tests.sh"
emulator_options="-no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ identity_dir="$(cd "$script_dir/../../.." && pwd -P)"

"$identity_dir/gradlew" -p "$identity_dir" \
:waltid-applications:waltid-wallet-demo-compose:androidApp:connectedDebugAndroidTest \
-PtransactionDataProfiles.url=https://wallet.demo.walt.id/wallet-api/transaction-data-profiles \
--info
9 changes: 9 additions & 0 deletions .github/scripts/mobile-ci/run-android-crypto2-signum-tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env bash
set -euo pipefail

script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
identity_dir="$(cd "$script_dir/../../.." && pwd -P)"

"$identity_dir/gradlew" -p "$identity_dir" \
:waltid-libraries:crypto:waltid-crypto2-signum:connectedAndroidDeviceTest \
--info
43 changes: 37 additions & 6 deletions .github/workflows/android-device-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,48 @@ name: Android device tests

on:
workflow_dispatch:
pull_request:
types: [opened, synchronize, reopened, ready_for_review, converted_to_draft, labeled, unlabeled]
push:

concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
contents: read
checks: write
pull-requests: read

jobs:
android-eligibility:
uses: ./.github/workflows/android-eligibility.yml
with:
event-name: ${{ github.event_name }}
ref: ${{ github.ref }}
pr-number: ${{ github.event.pull_request.number || '' }}
pr-head-repo: ${{ github.event.pull_request.head.repo.full_name || '' }}
pr-labels: ${{ toJson(github.event.pull_request.labels.*.name) }}
pr-draft: ${{ github.event.pull_request.draft || false }}

android-device-test-phase:
name: android-device-tests (${{ matrix.phase }})
needs: android-eligibility
if: ${{ needs.android-eligibility.outputs.should-run == 'true' }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
phase: [wallet-mobile, compose-demo, enterprise-mobile]
phase: [crypto2-signum, wallet-mobile, compose-demo, enterprise-mobile]
env:
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
steps:
- name: Checkout all repos with ref fallback
uses: walt-id/waltid-identity/.github/actions/checkout-repos@c95b601fc5095d5668eb8c906af992d8e00ed513
uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3
with:
token: ${{ secrets.GH_ACCESS_TOKEN }}
token: ${{ secrets.GH_ACCESS_TOKEN || github.token }}
ref: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref_name }}

- name: Configure gradle
uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513
Expand Down Expand Up @@ -86,7 +110,7 @@ jobs:
script: ${{ steps.android-device-phase.outputs.script }}

- name: Publish Android device test report
if: always()
if: always() && steps.android-device-phase.outputs.report_paths != ''
uses: mikepenz/action-junit-report@v6
with:
update_check: true
Expand All @@ -99,7 +123,7 @@ jobs:
require_tests: false

- name: Upload Android device test reports
if: always()
if: always() && steps.android-device-phase.outputs.artifact_paths != ''
uses: actions/upload-artifact@v4
with:
name: android-device-test-reports-${{ matrix.phase }}
Expand All @@ -108,11 +132,18 @@ jobs:

android-device-tests:
runs-on: ubuntu-24.04
needs: android-device-test-phase
needs:
- android-eligibility
- android-device-test-phase
if: always()
steps:
- name: Check Android device test phases
run: |
if [ "${{ needs.android-eligibility.outputs.should-run }}" != "true" ]; then
echo "Android eligibility skipped this run: ${{ needs.android-eligibility.outputs.reason }}"
exit 0
fi

if [ "${{ needs.android-device-test-phase.result }}" != "success" ]; then
echo "::error::One or more Android device test phases failed."
exit 1
Expand Down
88 changes: 88 additions & 0 deletions .github/workflows/android-eligibility.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Android eligibility

on:
workflow_call:
inputs:
event-name:
description: "Caller event name"
required: true
type: string
ref:
description: "Caller git ref"
required: true
type: string
pr-number:
description: "Pull request number, if the caller is a PR event"
required: false
type: string
default: ""
pr-head-repo:
description: "Pull request head repository, if the caller is a PR event"
required: false
type: string
default: ""
pr-labels:
description: "JSON array of pull request label names"
required: false
type: string
default: "[]"
pr-draft:
description: "Whether the pull request is currently a draft"
required: false
type: boolean
default: false
outputs:
should-run:
description: "Whether Android jobs should run"
value: ${{ jobs.decide.outputs.should-run }}
reason:
description: "Human-readable decision reason"
value: ${{ jobs.decide.outputs.reason }}

permissions:
contents: read
pull-requests: read

jobs:
decide:
uses: ./.github/workflows/mobile-eligibility.yml
with:
event-name: ${{ inputs.event-name }}
ref: ${{ inputs.ref }}
pr-number: ${{ inputs.pr-number }}
pr-head-repo: ${{ inputs.pr-head-repo }}
pr-labels: ${{ inputs.pr-labels }}
pr-draft: ${{ inputs.pr-draft }}
platform-name: Android
platform-label: ci:android
path-patterns: |
[
".github/workflows/android-device-tests.yml",
".github/workflows/android-eligibility.yml",
".github/workflows/mobile-eligibility.yml",
".github/workflows/gradle.yml",
".github/actions/checkout-repos/*",
".github/actions/gradle-setup-action/*",
".github/actions/set-properties/*",
".github/scripts/mobile-ci/*android*",
"build-logic/*",
"build.gradle.kts",
"gradle/*",
"gradle.properties",
"gradlew",
"settings.gradle.kts",
"gradle/libs.versions.toml",
"*/src/commonMain/*",
"*/src/commonTest/*",
"*/src/androidMain/*",
"*/src/androidTest/*",
"*/src/androidDeviceTest/*",
"*/src/androidUnitTest/*",
"*/src/androidInstrumentedTest/*",
"waltid-applications/waltid-wallet-demo-compose/*",
"waltid-libraries/*/build.gradle.kts",
"waltid-libraries/*/*/build.gradle.kts",
"waltid-libraries/protocols/waltid-openid4vc-wallet-mobile/*",
"waltid-libraries/protocols/waltid-openid4vc-wallet-persistence-mobile/*",
"waltid-libraries/web/waltid-web-data-fetching/*"
]
14 changes: 13 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,26 @@ concurrency:
cancel-in-progress: true

jobs:
android-eligibility:
uses: ./.github/workflows/android-eligibility.yml
with:
event-name: ${{ github.event_name }}
ref: ${{ github.ref }}
pr-number: ${{ github.event.pull_request.number || '' }}
pr-head-repo: ${{ github.event.pull_request.head.repo.full_name || '' }}
pr-labels: ${{ toJson(github.event.pull_request.labels.*.name) }}
pr-draft: ${{ github.event.pull_request.draft || false }}
version:
uses: walt-id/waltid-identity/.github/workflows/version.yml@main
gradle-build:
uses: walt-id/waltid-identity/.github/workflows/gradle.yml@main
secrets: inherit
needs: version
needs:
- android-eligibility
- version
with:
version: ${{ needs.version.outputs.release_version }}
enable-android-build: ${{ needs.android-eligibility.outputs.should-run == 'true' }}
report-check-name: 'gradle-build / gradle (ubuntu-22.04)'
docker-matrix:
uses: walt-id/waltid-identity/.github/workflows/load-json.yml@main
Expand Down
141 changes: 141 additions & 0 deletions .github/workflows/crypto2-platforms.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
name: Crypto2 platform tests

on:
workflow_dispatch:
pull_request:
paths:
- 'waltid-libraries/crypto/waltid-crypto2/**'
- 'waltid-libraries/crypto/waltid-jose/**'
- 'waltid-libraries/crypto/waltid-crypto2-*/**'
- '.github/workflows/crypto2-platforms.yml'
push:
branches: [main]
paths:
- 'waltid-libraries/crypto/waltid-crypto2/**'
- 'waltid-libraries/crypto/waltid-jose/**'
- 'waltid-libraries/crypto/waltid-crypto2-*/**'
- '.github/workflows/crypto2-platforms.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
contents: read

jobs:
linux-jvm-browser:
runs-on: ubuntu-24.04
steps:
- name: Checkout all repositories
uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3
with:
token: ${{ secrets.GH_ACCESS_TOKEN || github.token }}
ref: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref_name }}

- name: Configure Gradle
uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513

- name: Install browser and SoftHSM
run: |
sudo apt-get update
sudo apt-get install -y softhsm2

- name: Run JVM, browser, Linux, API, and PKCS11 tests
run: >-
./gradlew
:waltid-libraries:crypto:waltid-crypto2:jvmTest
:waltid-libraries:crypto:waltid-crypto2-kms:jvmTest
:waltid-libraries:crypto:waltid-crypto2:jsBrowserTest
:waltid-libraries:crypto:waltid-crypto2-kms:jsBrowserTest
:waltid-libraries:crypto:waltid-crypto2:linuxX64Test
:waltid-libraries:crypto:waltid-crypto2-kms:linuxX64Test
:waltid-libraries:crypto:waltid-crypto2-pkcs11:test
:waltid-libraries:crypto:waltid-crypto2:checkKotlinAbi
:waltid-libraries:crypto:waltid-crypto2:checkTypeScriptDefinitions

- name: Compile non-host crypto2 targets
run: >-
./gradlew
:waltid-libraries:crypto:waltid-crypto2:compileTestKotlinLinuxArm64
:waltid-libraries:crypto:waltid-crypto2:compileTestKotlinMingwX64
:waltid-libraries:crypto:waltid-crypto2:compileTestKotlinMacosX64
:waltid-libraries:crypto:waltid-crypto2:compileTestKotlinMacosArm64

android-host:
runs-on: ubuntu-24.04
steps:
- name: Checkout all repositories
uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3
with:
token: ${{ secrets.GH_ACCESS_TOKEN || github.token }}
ref: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref_name }}

- name: Configure Gradle
uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513

- name: Run Android host tests
run: >-
./gradlew -PenableAndroidBuild=true
:waltid-libraries:crypto:waltid-crypto2:testAndroidHostTest
:waltid-libraries:crypto:waltid-crypto2-kms:testAndroidHostTest
:waltid-libraries:crypto:waltid-crypto2-signum:testAndroidHostTest
:waltid-libraries:crypto:waltid-crypto2:checkKotlinAbi

windows:
runs-on: windows-2025
steps:
- name: Checkout all repositories
uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3
with:
token: ${{ secrets.GH_ACCESS_TOKEN || github.token }}
ref: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref_name }}

- name: Configure Gradle
uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513

- name: Run Windows native tests
shell: bash
run: >-
./gradlew
:waltid-libraries:crypto:waltid-crypto2:mingwX64Test
:waltid-libraries:crypto:waltid-crypto2-kms:mingwX64Test

macos-x64:
runs-on: macos-15-intel
steps:
- name: Checkout all repositories
uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3
with:
token: ${{ secrets.GH_ACCESS_TOKEN || github.token }}
ref: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref_name }}

- name: Configure Gradle
uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513

- name: Run macOS x64 tests
run: >-
./gradlew
:waltid-libraries:crypto:waltid-crypto2:macosX64Test
:waltid-libraries:crypto:waltid-crypto2-kms:macosX64Test

macos-arm64-ios:
runs-on: macos-26
steps:
- name: Checkout all repositories
uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3
with:
token: ${{ secrets.GH_ACCESS_TOKEN || github.token }}
ref: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref_name }}

- name: Configure Gradle
uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513

- name: Run macOS and iOS simulator tests
run: >-
./gradlew -PenableIosBuild=true
:waltid-libraries:crypto:waltid-crypto2:macosArm64Test
:waltid-libraries:crypto:waltid-crypto2-kms:macosArm64Test
:waltid-libraries:crypto:waltid-crypto2:iosSimulatorArm64Test
:waltid-libraries:crypto:waltid-crypto2-kms:iosSimulatorArm64Test
:waltid-libraries:crypto:waltid-crypto2-signum:iosSimulatorArm64Test
1 change: 1 addition & 0 deletions .github/workflows/fix-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ jobs:
needs: version
with:
version: ${{ needs.version.outputs.release_version }}
enable-android-build: true
publish: true
report-check-name: 'gradle / gradle (ubuntu-22.04)'
docker-matrix:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gradle-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513

- name: Run Compose iOS demo tests
timeout-minutes: 25
timeout-minutes: 40
uses: walt-id/waltid-identity/.github/actions/gradle-ios@c95b601fc5095d5668eb8c906af992d8e00ed513
with:
waltid-directory: 'waltid-identity'
Expand Down
Loading
Loading