Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Run tests on all platforms and verify build #10

Merged
merged 8 commits into from
Mar 18, 2024
Merged

Commits on Mar 13, 2024

  1. CI: Run tests on all platforms

    The library is not Mac/iThing specific. UniFFI supports other languages that work on all platforms. Furthermore, Swift actually supports Linux and we might want the SDK to support that platform one day.
    
    It therefore seems reasonable to avoid unknowingly adding anything that breaks Linux support in this library. Hence we should also test the Rust code on Windows and Ubuntu.
    bisgardo committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    cbe9ba6 View commit details
    Browse the repository at this point in the history
  2. CI: Run on all macOS runners

    bisgardo committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    926183e View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2024

  1. Configuration menu
    Copy the full SHA
    dbce236 View commit details
    Browse the repository at this point in the history
  2. Package.swift: Import 'Foundation'

    We use `ProcessInfo`, which is part of `Foundation`, to read env vars in the package spec.
    
    The package looks to be automatically imported in newer versions of Swift/macOS, but to support older ones we need to do it explicitly.
    bisgardo committed Mar 17, 2024
    Configuration menu
    Copy the full SHA
    d28b7bb View commit details
    Browse the repository at this point in the history
  3. Name generated framework the same as package target

    Rename generated framework to `ConcordiumWalletCryptoUniffi.xcframework` to match the (similarly renamed) binary target in `Package.swift`. We cannot just rename the target to match the existing generated file because that name (`ConcordiumWalletCrypto`) is already used by the library product target.
    
    This is a requirement that apparently has been lifted in newer versions of Swift/macOS, but to support older versions, we follow it.
    bisgardo committed Mar 17, 2024
    Configuration menu
    Copy the full SHA
    3fe1141 View commit details
    Browse the repository at this point in the history
  4. Package.swift: Downgrade swift-tools-version

    Also updated changelog.
    bisgardo committed Mar 17, 2024
    Configuration menu
    Copy the full SHA
    ba0eb6b View commit details
    Browse the repository at this point in the history
  5. CI: Build framework for own platform only

    For the purpose of verifying that the library builds on CI, there's no point in building the binary framework for all platforms, just for the build platform itself.
    
    We take into account that some ("older") runners are Intel macs while others ("newer") run on Apple Silicon.
    bisgardo committed Mar 17, 2024
    Configuration menu
    Copy the full SHA
    4551df4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    56eb0e5 View commit details
    Browse the repository at this point in the history