You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a developer I would like to adopt the new xcodes standard for Fastlane. This is currently not possible for Xcode beta releases.
Acceptance criteria
The Fastfile has been updated to use xccodes instead of xcversion.
Beta releases are supported.
Context
We already migrated to xcodes in the past (see #245) but sadly beta versions are currently not supported with this setup:
Versions provided to xcodes command-line tool are exactly compared to version extracted from local installation information, there is currently no semantic versioning support. If an Xcode beta was installed with xcodes comparison fails since extracted installation metadata is exhaustive and does not match the required information. If an Xcode beta was installed in another way (e.g. xcinfo) then matching will work as the extracted installation metadata is less rich and passes the check (only the major / minor / patch versions are checked, basically).
The xcodes Fastlane plugin fails to support betas. Xcodes interprets versions as exact but parses only 15 Beta 3, for example, which fails Ruby Gem versioning validation. This is a regression from xcversion since semantic versioning was supported.
Workaround
A workaround is to use xcversion during the Xcode beta phase and xcodes for releases. We can provide the same .xcode_version file to both with ~> 15.0 as version during the Xcode 15 beta phase.
Pillarbox developer tool setup should not be modified as the long-term goal is to use xcodes.
A companion issue to support Gem:Version beta version format has also be opened, with a dedicated PR.
Next steps
Of course this is a short-term workaround, as xcversion is deprecated and likely to be removed someday. Some ideas:
If we want to be compatible with semantic versioning we could maybe add support directly to xcodes. This would ensure that xcodes can be truly a replacement for xcversion.
As a developer I would like to adopt the new xcodes standard for Fastlane. This is currently not possible for Xcode beta releases.
Acceptance criteria
xccodes
instead ofxcversion
.Context
We already migrated to
xcodes
in the past (see #245) but sadly beta versions are currently not supported with this setup:xcodes
command-line tool are exactly compared to version extracted from local installation information, there is currently no semantic versioning support. If an Xcode beta was installed withxcodes
comparison fails since extracted installation metadata is exhaustive and does not match the required information. If an Xcode beta was installed in another way (e.g.xcinfo
) then matching will work as the extracted installation metadata is less rich and passes the check (only the major / minor / patch versions are checked, basically).xcodes
Fastlane plugin fails to support betas. Xcodes interprets versions as exact but parses only15 Beta 3
, for example, which fails Ruby Gem versioning validation. This is a regression fromxcversion
since semantic versioning was supported.Workaround
A workaround is to use
xcversion
during the Xcode beta phase andxcodes
for releases. We can provide the same.xcode_version
file to both with~> 15.0
as version during the Xcode 15 beta phase.Pillarbox developer tool setup should not be modified as the long-term goal is to use
xcodes
.A companion issue to support
Gem:Version
beta version format has also be opened, with a dedicated PR.Next steps
Of course this is a short-term workaround, as
xcversion
is deprecated and likely to be removed someday. Some ideas:xcodes
. This would ensure thatxcodes
can be truly a replacement forxcversion
.Tasks
xcodes
if the PR submitted in Add floating version support toxcodes
#442 has been approved.xcodes
in Fastfile..xcode_version
file is correctly configured.The text was updated successfully, but these errors were encountered: