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

Define SDK compatibility #1755

Open
3 tasks done
mtrezza opened this issue Oct 7, 2023 · 3 comments
Open
3 tasks done

Define SDK compatibility #1755

mtrezza opened this issue Oct 7, 2023 · 3 comments
Labels
type:ci CI related issue

Comments

@mtrezza
Copy link
Member

mtrezza commented Oct 7, 2023

New Feature / Enhancement Checklist

Current Limitation

This Parse SDK is lacking a proper OS compatibility policy and CI tests.

Feature / Enhancement Description

Add CI jobs which test against the major OS versions for which this Parse SDK is claiming compatibility. For example, if it supports watchOS, the tests needs to run in watchOS 2, 3, 4, ... up to the highest version it is claiming to be compatible with.

Accordingly, a compatibility table needs to be added to the README that indicated the compatible - and tested - OS versions.

The SDK also lacks a OS support policy that defines when support for older OS versions is dropped. For example, watchOS 2 has been released 8 years ago, so its support should likely be dropped. Currently, the min supported version should likely be watchOS 9 because watchOS 8 has reached its EOL and doesn't receive security updates anymore. The only source for the support dates I found was a 3rd party website, but we should base the support policy on an official source from Apple.

@parse-github-assistant
Copy link

parse-github-assistant bot commented Oct 7, 2023

Thanks for opening this issue!

  • 🎉 We are excited about your ideas for improvement!

@mtrezza mtrezza added the type:ci CI related issue label Oct 7, 2023
@mtrezza mtrezza changed the title Add compatibility table to README Define SDK compatibility Oct 7, 2023
@mtrezza mtrezza pinned this issue Oct 7, 2023
@dplewis
Copy link
Member

dplewis commented Oct 7, 2023

Add CI jobs which test against the major OS versions

This wouldn’t work as GitHub Actions only supports 5 concurrent jobs on MacOS images for the entire repo. A build matrix you want would take hours if not days to run. Not to mention actually implementing it.

Accordingly, a compatibility table needs to be added to the README

Github Badges for supported version have been added to the README, this should be enough.

The SDK also lacks a OS support policy

This is the current policy, no need to document it as it is standard everywhere.

  1. Support the minimum versions Xcode supports.
  2. Support the minimum versions allowed for specific iOS, macOS, tvOS, watchOS features.
  3. Support the minimum versions allowed for dependencies.

@mtrezza
Copy link
Member Author

mtrezza commented Oct 7, 2023

A build matrix you want would take hours if not days to run. Not to mention actually implementing it.

The run time length is something we can solve with more runners. What's the challenge in the implementation? Is it more than just adding a matrix to the CI workflow like we do with Node.js for example?

Github Badges for supported version have been added to the README, this should be enough.

I wouldn't know how to interpret these badges. For example, what does the iOS 12.0 badge mean?

This is the current policy, no need to document it as it is standard everywhere.

We could still have a different policy, a developer currently can only guess what our policy is, so we need to define it. We do that in all other Parse SDKs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:ci CI related issue
Projects
None yet
Development

No branches or pull requests

2 participants