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

Bump version to 3.0.0 #61

Closed
wants to merge 177 commits into from
Closed

Bump version to 3.0.0 #61

wants to merge 177 commits into from

Conversation

gumob
Copy link
Owner

@gumob gumob commented Aug 25, 2024

Major Changes

  • Re-created xcodeproj files for Xcode 15.4 environment
  • Dropped support for Swift 4
  • Added watchOS and visionOS to supported platforms
  • Changed supported versions for macOS, iOS, and tvOS to match Xcode 15.4

List of supported platforms and version changes

Version 3.0.0

  • macOS 10.13 or later
  • iOS 12.0 or later
  • tvOS 12.0 or later
  • watchOS 4.0 or later
  • visionOS 1.0 or later
  • Swift 5.0 or later

Version 2.x.x

  • iOS 9.3 or later
  • macOS 10.12 or later
  • tvOS 10.2 or later
  • Swift 4.2 or later

gumob added 30 commits August 19, 2024 14:37
…onvention for better readability and maintainability
…ane_ and provide links to official documentation

   refactor(fastlane/README.md): remove leading '#' from title, rearrange sections, and improve formatting for better readability
   docs(fastlane/README.md): add descriptions for available iOS actions: prebuild, set_version, bump_version, tests, build_carthage, lint_cocoapods, push_cocoapods
…pt, improve user experience by providing a list of available commands and allowing easy selection using fzf.
…better readability and consistency with other sections.
…support for Mac Catalyst, XR, and iPad in the Punycode project.
…ixes (ios) for all tasks, improving consistency and readability.
…nd other task names instead of platform-specific ones for better readability and maintainability.
It looks like you've made some changes to your Fastlane configuration file. Here are the main changes I can see:

1. You've added a new lane for running all tests on iOS, macOS, and tvOS platforms. This includes cleaning the project before running the tests, enabling code coverage, and generating HTML reports for the test results.

2. The section for building Carthage remains unchanged.

3. The linting and pushing of Cocoapods are still present but have been moved to the end of the file.

4. You've removed the comments related to slather, which is a tool for generating HTML coverage reports from Xcode test results.

5. You've added a function for bumping the app version and updating the info.plist files accordingly. This function is called when you want to update the app version.
…nds for improved readability and consistency in command execution
… update prebuild lane to include lint_spm. This change improves code quality by catching potential issues early in the development process.
It appears that you have updated the deployment target for your TVOS project to version 12.0 in your Xcode project settings. This means that your app will only run on devices or simulators with tvOS 12.0 or later installed. If you want to support older versions of tvOS, you should adjust the deployment target accordingly.

   Additionally, you have also set the IPHONEOS_DEPLOYMENT_TARGET to 12.0 for your iOS project. This means that your app will only run on devices or simulators with iOS 12.0 or later installed. If you want to support older versions of iOS, you should adjust the deployment target accordingly.

   Keep in mind that updating the deployment target may affect the compatibility of your app with certain devices and features. Always test your app thoroughly before releasing it to ensure that it works as intended on all supported platform
…ion descriptions, and add fuzzy command for easier usage

The changes were made to improve the readability of the documentation and make it more consistent with other project files. The fuzzy command was added to allow users to run Fastlane without specifying a specific action, which simplifies the process of using Fastlane in the project.
… tvOS platforms with XCFrameworks and disable verbose output.

   Reason: To ensure consistent build process across all supported iOS, macOS, and tvOS platforms using XCFrameworks.
gumob added 28 commits August 24, 2024 19:04
… on main workflow to match the actual device model.
- Generate new xcodeproj file using Xcode version 15.4
- Reconfigure project as a multi-platform framework
This commit adds an XCScheme file to the Punycode project, which defines the build, test, launch, profile, and analyze actions for the project in Xcode. This allows developers to easily configure and run the project within Xcode.
It looks like you have a Fastlane configuration file for an iOS app with multiple targets (tvOS, watchOS, and visionOS). The changes you made include adding descriptions to each test target, setting the destination simulator for each platform, enabling code coverage, and specifying the output files for the HTML and JUnit reports.

   Here's a brief explanation of what each section does:

   - `run_tests`: Runs the tests for a specific scheme on a specified simulator. In this case, it runs the tvOS, watchOS, and visionOS tests using the Punycode scheme. The destination simulator is set to the appropriate device for each platform (Apple TV 4K, Apple Watch Series 9, and Apple Vision Pro respectively). Code coverage is enabled, and the HTML and JUnit reports are saved in the specified output directories.

   - `slather`: Generates screenshots of the app on the specified simulator and saves them in the specified output directory. In this case, it generates screenshots for the tvOS, watchOS, and visionOS targets using the Punycode scheme. The HTML option enables the generation of an interactive HTML report, while the show option is set to false, meaning that the screenshots will not be displayed during the build process.

   It's good practice to keep your Fastlane configuration files organized and up-to-date as you add new targets or make changes to existing ones. This will help ensure a smooth and efficient testing workflow for your iOS app.
It looks like you are using Fastlane for automating building, testing, and releasing iOS applications. The changes made in the code snippet you provided update the scheme name used in the tests and build tasks to match the current scheme name (`scheme`) instead of a hardcoded one ("Punycode").

   Additionally, it seems that there are some unused variables (`default_xcodeproj`, `default_podspec`) which could be removed if they are no longer needed.

   Lastly, the build tasks for Carthage have been updated to use the correct platform based on the current context (Mac or iOS). However, it appears that the `use_xcframeworks` option is only set for iOS builds, but not for Mac builds. If you intend to use XCFrameworks for both platforms, consider updating the Mac build task as well.

   Overall, these changes help make your Fastfile more flexible and easier to maintain as you work on different projects with varying scheme names.
   This commit adds a new step to the main workflow for iOS builds that pushes the generated Podspec file to the CocoaPods Trunk using `pod trunk push`. The change is intended to make it easier to distribute and use the iOS library in other projects. The step is only executed when building on the main branch, as specified by the `if` condition.
….plist to Xcodeproj and Podspec

   - Replace the usage of framework_info_plist and test_info_plist with xcodeproj_file in the Fastfile
   - Get the current app version from the Xcodeproj file instead of Info.plist
   - Increment the version number in the Xcodeproj file when using 'bump_version' lane
   - Update the Podspec file with the new version number when changing the version number

   This change improves the consistency and maintainability of the project by centralizing the version management within the Xcodeproj and Podspec files.
Added fastlane-plugin-versioning to the project's Fastlane Pluginfile.
This will allow for automatic versioning of the app when building with Fastlane.

refactor(run.sh): Update run script to support "clean xcode" command

Updated the run script to include a new "clean xcode" command that cleans the Xcode project and derived data, erases simulators, and removes the DerivedData folder.
This command is now included in the list of available commands when running the script with fzf.

build(fastlane): Update Fastlane commands to support multiple platforms

Updated the Fastlane commands for Carthage to update for all supported platforms (macOS, iOS, tvOS, watchOS, and visionOS).
This will ensure that the correct Carthage files are updated for each platform when building the app with Fastlane.
Copy link

codecov bot commented Aug 25, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.57%. Comparing base (4e04f18) to head (c1097af).
Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #61      +/-   ##
==========================================
+ Coverage   97.43%   97.57%   +0.13%     
==========================================
  Files           3        3              
  Lines         156      165       +9     
==========================================
+ Hits          152      161       +9     
  Misses          4        4              
Flag Coverage Δ
ios12 ?
ios13 ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@gumob gumob closed this Aug 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant