chore(deps-dev): bump postcss from 8.5.20 to 8.5.22 in /waltid-applications/waltid-credentials #1316
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: iOS build and test | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review, converted_to_draft, labeled, unlabeled] | |
| push: | |
| branches: [main] | |
| 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 | |
| pull-requests: read | |
| env: | |
| XCODE_DEVELOPER_DIR: /Applications/Xcode_26.6.app/Contents/Developer | |
| IOS_SIMULATOR_DESTINATION: platform=iOS Simulator,name=iPhone 17,OS=latest | |
| jobs: | |
| macos-eligibility: | |
| uses: ./.github/workflows/macos-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 }} | |
| ios-simulator-tests: | |
| needs: macos-eligibility | |
| if: ${{ needs.macos-eligibility.outputs.should-run == 'true' }} | |
| runs-on: macos-26 | |
| steps: | |
| - name: Checkout all repos with ref fallback | |
| uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3 | |
| with: | |
| token: ${{ secrets.GH_ACCESS_TOKEN || github.token }} | |
| ref: ${{ github.head_ref || github.ref_name }} | |
| - name: Configure gradle | |
| uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513 | |
| - name: Compile iOS targets and run Kotlin iOS simulator tests | |
| timeout-minutes: 40 | |
| uses: walt-id/waltid-identity/.github/actions/gradle-ios@c95b601fc5095d5668eb8c906af992d8e00ed513 | |
| with: | |
| waltid-directory: 'waltid-identity' | |
| xcode-developer-dir: ${{ env.XCODE_DEVELOPER_DIR }} | |
| simulator-destination: ${{ env.IOS_SIMULATOR_DESTINATION }} | |
| run-compile-smoke: 'true' | |
| run-ios-simulator-tests: 'true' | |
| run-wallet-core-xcframework: 'false' | |
| run-native-demo-tests: 'false' | |
| run-compose-demo-tests: 'false' | |
| test-report-job-name: ios-simulator-tests | |
| test-report-check-name: iOS Simulator Test Report | |
| test-result-artifact-name: ios-simulator-test-results | |
| wallet-core-native-ios-demo-tests: | |
| needs: macos-eligibility | |
| if: ${{ needs.macos-eligibility.outputs.should-run == 'true' }} | |
| runs-on: macos-26 | |
| steps: | |
| - name: Checkout all repos with ref fallback | |
| uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3 | |
| with: | |
| token: ${{ secrets.GH_ACCESS_TOKEN || github.token }} | |
| ref: ${{ github.head_ref || github.ref_name }} | |
| - name: Configure gradle | |
| uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513 | |
| - name: Build WalletCore and run native iOS demo tests | |
| timeout-minutes: 35 | |
| uses: walt-id/waltid-identity/.github/actions/gradle-ios@c95b601fc5095d5668eb8c906af992d8e00ed513 | |
| with: | |
| waltid-directory: 'waltid-identity' | |
| xcode-developer-dir: ${{ env.XCODE_DEVELOPER_DIR }} | |
| simulator-destination: ${{ env.IOS_SIMULATOR_DESTINATION }} | |
| run-compile-smoke: 'false' | |
| run-ios-simulator-tests: 'false' | |
| run-wallet-core-xcframework: 'true' | |
| run-native-demo-tests: 'true' | |
| run-compose-demo-tests: 'false' | |
| test-report-job-name: wallet-core-native-ios-demo-tests | |
| test-report-check-name: Native iOS Demo Test Report | |
| test-result-artifact-name: native-ios-demo-test-results | |
| compose-ios-demo-tests: | |
| needs: macos-eligibility | |
| if: ${{ needs.macos-eligibility.outputs.should-run == 'true' }} | |
| runs-on: macos-26 | |
| steps: | |
| - name: Checkout all repos with ref fallback | |
| uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3 | |
| with: | |
| token: ${{ secrets.GH_ACCESS_TOKEN || github.token }} | |
| ref: ${{ github.head_ref || github.ref_name }} | |
| - name: Configure gradle | |
| uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513 | |
| - name: Run Compose iOS demo tests | |
| timeout-minutes: 40 | |
| uses: walt-id/waltid-identity/.github/actions/gradle-ios@c95b601fc5095d5668eb8c906af992d8e00ed513 | |
| with: | |
| waltid-directory: 'waltid-identity' | |
| xcode-developer-dir: ${{ env.XCODE_DEVELOPER_DIR }} | |
| simulator-destination: ${{ env.IOS_SIMULATOR_DESTINATION }} | |
| run-compile-smoke: 'false' | |
| run-ios-simulator-tests: 'false' | |
| run-wallet-core-xcframework: 'false' | |
| run-native-demo-tests: 'false' | |
| run-compose-demo-tests: 'true' | |
| test-report-job-name: compose-ios-demo-tests | |
| test-report-check-name: Compose iOS Demo Test Report | |
| test-report-require-tests: 'false' | |
| test-result-artifact-name: compose-ios-demo-test-results | |
| enterprise-ios-mobile-tests: | |
| needs: macos-eligibility | |
| if: ${{ needs.macos-eligibility.outputs.should-run == 'true' }} | |
| runs-on: macos-26 | |
| steps: | |
| - name: Checkout all repos with ref fallback | |
| uses: walt-id/waltid-identity/.github/actions/checkout-repos@4296a7f80cacf7e60cb1a20321956768892eb7e3 | |
| with: | |
| token: ${{ secrets.GH_ACCESS_TOKEN || github.token }} | |
| ref: ${{ github.head_ref || github.ref_name }} | |
| - name: Configure gradle | |
| uses: walt-id/waltid-identity/.github/actions/gradle-setup-action@c95b601fc5095d5668eb8c906af992d8e00ed513 | |
| - name: Execute Enterprise iOS mobile platform tests | |
| id: enterprise_ios_mobile_tests | |
| continue-on-error: true | |
| timeout-minutes: 50 | |
| run: | | |
| ./gradlew :waltid-enterprise-integration-tests:enterpriseIosMobileIntegrationTest \ | |
| --no-configuration-cache \ | |
| -Penterprise.ios.destination="${IOS_SIMULATOR_DESTINATION}" | |
| env: | |
| MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | |
| MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} | |
| - name: Collect Enterprise iOS mobile test reports | |
| if: always() && steps.enterprise_ios_mobile_tests.outcome != 'skipped' | |
| id: enterprise_ios_test_report | |
| run: | | |
| REPORT_ROOT="waltid-identity-enterprise/waltid-enterprise-integration-tests/build/ios-test-reports" | |
| XCODE_REPORT_DIR="$REPORT_ROOT/xcresult" | |
| SOURCE_ROOT="waltid-identity-enterprise/waltid-enterprise-integration-tests/build/ios-test-results" | |
| rm -rf "$REPORT_ROOT" | |
| mkdir -p "$XCODE_REPORT_DIR" | |
| xcode_report_count=0 | |
| while IFS= read -r -d '' bundle; do | |
| if ! command -v xcresultparser >/dev/null 2>&1; then | |
| brew install xcresultparser | |
| fi | |
| relative_bundle="${bundle#$SOURCE_ROOT/}" | |
| safe_name=$(printf '%s' "$relative_bundle" | tr '/ ' '__' | LC_ALL=C tr -c '[:alnum:]_.-' '_') | |
| report_file="$XCODE_REPORT_DIR/${xcode_report_count}-${safe_name}.xml" | |
| if xcresultparser "$bundle" --output-format=junit > "$report_file"; then | |
| echo "Converted Enterprise iOS xcresult bundle to JUnit: $relative_bundle" | |
| xcode_report_count=$((xcode_report_count + 1)) | |
| else | |
| echo "::warning::Failed to convert Enterprise iOS xcresult bundle at $bundle" | |
| rm -f "$report_file" | |
| fi | |
| done < <(find "$SOURCE_ROOT" -name '*.xcresult' -prune -print0 2>/dev/null || true) | |
| { | |
| echo "## Enterprise iOS Mobile Test Report Collection" | |
| echo "- Xcode result bundles converted: $xcode_report_count" | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| if (( xcode_report_count == 0 )); then | |
| echo "::warning::No Enterprise iOS mobile test reports found under $SOURCE_ROOT" | |
| echo "has_report=false" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| echo "has_report=true" >> "$GITHUB_OUTPUT" | |
| - name: Publish Enterprise iOS mobile test report | |
| if: always() && steps.enterprise_ios_test_report.outputs.has_report == 'true' | |
| uses: mikepenz/action-junit-report@v6 | |
| with: | |
| update_check: true | |
| job_name: enterprise-ios-mobile-tests | |
| check_name: Enterprise iOS Mobile Test Report | |
| report_paths: waltid-identity-enterprise/waltid-enterprise-integration-tests/build/ios-test-reports/**/*.xml | |
| detailed_summary: true | |
| include_passed: false | |
| include_skipped: false | |
| require_tests: true | |
| - name: Upload Enterprise iOS mobile test results | |
| if: always() && steps.enterprise_ios_mobile_tests.outcome == 'failure' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: enterprise-ios-mobile-test-results | |
| path: | | |
| waltid-identity-enterprise/waltid-enterprise-integration-tests/build/ios-test-reports/** | |
| waltid-identity-enterprise/waltid-enterprise-integration-tests/build/ios-test-results/** | |
| retention-days: 7 | |
| - name: Fail if Enterprise iOS mobile tests failed | |
| if: always() && steps.enterprise_ios_mobile_tests.outcome == 'failure' | |
| run: | | |
| echo "::error::Enterprise iOS mobile platform tests failed" | |
| exit 1 | |
| gradle: | |
| runs-on: ubuntu-22.04 | |
| needs: | |
| - macos-eligibility | |
| - ios-simulator-tests | |
| - wallet-core-native-ios-demo-tests | |
| - compose-ios-demo-tests | |
| - enterprise-ios-mobile-tests | |
| if: always() | |
| steps: | |
| - name: Verify iOS workflow jobs | |
| run: | | |
| set -euo pipefail | |
| failed=() | |
| if [[ "${{ needs.macos-eligibility.outputs.should-run }}" != "true" ]]; then | |
| echo "macOS eligibility skipped this run: ${{ needs.macos-eligibility.outputs.reason }}" | |
| exit 0 | |
| fi | |
| if [[ "${{ needs.ios-simulator-tests.result }}" != "success" ]]; then | |
| failed+=("ios-simulator-tests=${{ needs.ios-simulator-tests.result }}") | |
| fi | |
| if [[ "${{ needs.wallet-core-native-ios-demo-tests.result }}" != "success" ]]; then | |
| failed+=("wallet-core-native-ios-demo-tests=${{ needs.wallet-core-native-ios-demo-tests.result }}") | |
| fi | |
| if [[ "${{ needs.compose-ios-demo-tests.result }}" != "success" ]]; then | |
| failed+=("compose-ios-demo-tests=${{ needs.compose-ios-demo-tests.result }}") | |
| fi | |
| if [[ "${{ needs.enterprise-ios-mobile-tests.result }}" != "success" ]]; then | |
| failed+=("enterprise-ios-mobile-tests=${{ needs.enterprise-ios-mobile-tests.result }}") | |
| fi | |
| if (( ${#failed[@]} > 0 )); then | |
| printf '::error::iOS workflow job(s) failed: %s\n' "${failed[*]}" | |
| exit 1 | |
| fi | |
| echo "All iOS workflow jobs succeeded." |