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

Adds Swift v6.0 #684

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

NeedleInAJayStack
Copy link

@NeedleInAJayStack NeedleInAJayStack commented Sep 21, 2024

This adds swift 6.0.0 to the available version list.

I mainly just copied 7090b9f, please let me know if there's more I should do!

@NeedleInAJayStack
Copy link
Author

Attempts to resolve #683

@NeedleInAJayStack
Copy link
Author

NeedleInAJayStack commented Sep 21, 2024

@Aaron-Ritter
Copy link

@NeedleInAJayStack for projects which pin their workflows to patch level could you please add 6.0.0 as well?

Aaron-Ritter added a commit to sonderformat-llc/fusionauth-swift-sdk that referenced this pull request Sep 25, 2024
@NeedleInAJayStack
Copy link
Author

could you please add 6.0.0 as well?

Sure, I've added 6.0.0.

@MortenGregersen
Copy link

I can confirm @NeedleInAJayStack's solution works:
https://github.com/MortenGregersen/Bagbutik/actions/runs/11029802109

@bilaalrashid
Copy link

@fwal Bumping here as Swift 6 has been out for several weeks now and is a blocker on CI jobs

@ulian-onua
Copy link

While we are waiting for this PR to be merged, our team solved CI issue by using the latest macOS version (15.0) that includes Xcode 16.0 and Swift by default.

You can use these commands and don't need to include @setup-swift action.

name: Build iOS app
   runs-on: macos-15
   steps:
     - name: Get swift version
       run: swift --version # Swift 6.0
     - name: Select Xcode
       run: sudo xcode-select -s '/Applications/Xcode_16.0.app/Contents/Developer'

mdepinet added a commit to fixie-ai/ultravox-client-sdk-ios that referenced this pull request Oct 16, 2024
@@ -3,6 +3,8 @@ import * as core from "@actions/core";
import { System, OS } from "./os";

const VERSIONS_LIST: [string, OS[]][] = [
["6.0", [OS.MacOS, OS.Ubuntu]],
["6.0.0", [OS.MacOS, OS.Ubuntu]],
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Swift 6.0.1 is out by the way and could be added too.

(Soft bump since it would be really convenient to have this merged)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Swift 6.0.2 is out by the way and could be added too.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks guys, I've added both 6.0.1 & 6.0.2

Aaron-Ritter added a commit to sonderformat-llc/fusionauth-swift-sdk that referenced this pull request Oct 24, 2024
…quickstart (#6)

* feat: first prototype for login with ObservableObject

* style: swift lint

* refactor: move getUserInfo implementation to method

* feat: add logout

* refactor: remove print

* style: update swiftlint.yml

* refactor: various code improvements

- Don't require view to be provided when calling authorize / logout
- Logging
- use Dispatch.mein.async instead of @mainactor
- use @discardableResult

* test: set up tests

* refactor(package.swift): add macos version

- the build process requires a higher macos version according to the error in the autobuild 

error: the library 'FusionAuth' requires macos 10.13, but depends on the product 'SwiftLintBuildToolPlugin' which requires macos 12.0; consider changing the library 'FusionAuth' to require macos 12.0 or later, or the product 'SwiftLintBuildToolPlugin' to require macos 10.13 or earlier.

* build(deps): update multiple dependencies
- Fix all versions to exact
- Add swift-docc-plugin
- Bump SwiftLint

* refactor(workspace): add FusionAuthSDK workspace with FusionAuth scheme from package

* ci(codeql): switch setup-xcode action to mxcl/xcodebuild

- https://github.com/mxcl/xcodebuild

(cherry picked from commit 3ac5cef)

* refactor(workspace): add and link TestApp in to FusionAuthSDK workspace
- add fusionauth-ios-mobilesdk-test-app as a submodule https://github.blog/open-source/git/working-with-submodules/
- add Quickstart TestApp to FusionAuthSDK workspace

* feat: enable (theoretical) macos support

* docs: test documentation from SourceDocs

* refactor(workspace): Remove submodule

* refactor(workspace): Add Quickstart in to Samples

* fix(OAuthAuthorizationService): correct linting error

* build(deps): bump fusionauth to 1.52.1

* refactor(workspace): rename quickstart app, add package dependencies differently

* refactor(workspace): rename quickstart app, add package dependencies differently

* ci(codeql): split in to multiple codeql workflows
- split quickstart in to own workflow
- add working directory defaults pointing to quickstart

* ci(codeql): add package workflow

* ci(codeql): add default working-directory

* ci(codeql): try with setup-xcode

* ci(codeql): try with limiting paths

* ci(codeql): add specific codeql-config

* refactor(workspace): change to relative path

* ci(codeql): update build modes and fix analysis

* ci(codeql): remove push and pull path filter

* ci(codeql): update action version and add manual build

* ci(codeql): switch to autobuild

* ci(codeql): switch codeql-package to manual build

* ci(codeql): switch codeql-samples-quickstart to manual build

* docs: add SourceDocs script

* ci(codeql): add destination matrix to samples-quickstart

* refactor(codeql): add swiftlint

* refactor(codeql): skipPackagePluginValidation

- https://forums.swift.org/t/some-build-plug-ins-are-disabled-because-they-have-changed-or-have-never-been-enabled-enable-them-now/61075

* refactor(codeql): check disk space usage

* refactor(codeql): check disk space usage with sleep

* refactor(codeql): remove old xcode versions

* refactor(codeql): only check what can be removed

* refactor(codeql): check for old xcode and remove all except the latest

* refactor(codeql): specify xcode version to be installed and kept

* refactor(codeql): additional messaging and disk space check before build

* build(deps): bump codeql to 3.26.6

* build(deps): bump SwiftLint and Swift Docc Plugin

* build(deps): bump quickstart TestApp dependencies

* refactor(gitignore): update exclustions

* ci(codeql): matrix with older xcode and platform

* ci(codeql): update matrix

* build(deps): bump setup-python to 5.2.0

* refactor(fusionauth): add and correct docker-compose configurations

* ci(codeql): execute analysis if build successful or not

* ci(codeql): build with build-tests, debug and verbose

* build(deps): bump Package.resolved

* fix: error with closure

* fix: error with closure

* feat: prototyping TokenManager

* ci(workflows): update timings and naming

* build(deps): bump fusionauth to 1.53.2

* fix: error with closure

reveting and instead enclosing them as a string to avoid build error
a04a36a
72a4956

otherwise its crashing at Thread 8: Fatal error: Unexpectedly found nil while unwrapping an Optional value

* build(deps): bump swiftlint and swift-docc-plugin

* fix: redirectUri bundleIdentifier usage

* refactor: make composition variables internal

* build(deps): bump swift to 6.0.0 and xcode to 16.0

* build(deps): refactor swift to 6.0

* build(deps): downgrade swift to 5.10.1
- swift-actions/setup-swift does not yet support swift 6.0 swift-actions/setup-swift#684 swift-actions/setup-swift#683

* build(deps): downgrade xcode to 15.4 because swift 6.0.0 is not yet available

* refactor(documentation): generate newest version

* docs: add class descriptions

* docs: generate newest version

* docs: add func descriptions

* docs: generate newest version

* docs: generate docc version

* docs: remove docc version

* docs: remove all "Returns: Void"

* docs: generate latest sourcedocs version

* docs(README): add Getting Started, Usage and Dev Tooling draft.

* test(swift): add unit tests for AuthorizationManager, TokenManager and UserInfo

* test(swift): update AuthorizationManager

* test(swift): lint fixes

* docs: add period at the end of sentences

* docs: create github default community health files

- according to https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file

* refactor(AuthorizationManager): allow storage to be optional

* docs: update README adding more TODOs

* ci(e2e-test): add initial ios-matrix workflow

* ci(workflows): add fixed runner to macos-14

* ci(workflows): downgrade to xcode 16.0

* ci(workflows): downgrade to xcode 15.4 and fix swift to 5.10.1

* ci(workflows): downgrade swift-tools-version minimum to 5.8

* build(deps): downgrade PinsStorage to version 2

* build(deps): remove version binding from SwiftLint

* build(deps): downgrade version SwiftLint to 0.56.0

* build(deps): downgrade version SwiftLint to 0.54.0

* build(deps): downgrade version SwiftLint to 0.53.0

* feat: implement TokenManager, Refresh Token

* build(deps): split swift package in to post and pre swift 5.10

* build(deps): use SwiftLintPlugin pre swift 5.10

* ci(e2e-test): add iOS 15.5

* feat: use userInfo email or name if given_ or family_name is not available

* refactor: rename TestApp to Quickstart

* docs(CONTRIBUTING): add swiftformat

* ci(e2e-test): add simulator runtime installation

* test: base UI test login to logout

* ci(e2e-test): simulator runtime installation with xcodes

* refactor: remove docs script

* refactor: downgrade IPHONEOS_DEPLOYMENT_TARGET to 15.0

* ci(e2e-test): simulator device for iOS 15.5 set to iPhone 13

* ci(e2e-test): simulator installation test

* refactor(workspace): downgrade objectVersion to 55

* ci(e2e-test): downgrade iOS to 18.0

* refactor(workspace): convert QuickstartTests from folder to group to solve xcode compatability issue

* ci(e2e-test): adjust versions

* ci(e2e-test): install simulator for macos-13

---------

Co-authored-by: Colin Frick <[email protected]>
@NeedleInAJayStack
Copy link
Author

@fwal / @slashmo Any thoughts on this - I'd be happy to add 6.0.1 in this same pull request if you prefer.

superturboryan added a commit to superturboryan/ControlKit that referenced this pull request Nov 4, 2024
- Decrement `swift-tools-version` from 6.0 to 5.10.0
- Can be set to 6.0 again when swift-actions/setup-swift supports Swift 6
    - See: swift-actions/setup-swift#684
superturboryan added a commit to superturboryan/ControlKit that referenced this pull request Nov 4, 2024
- Decrement `swift-tools-version` from 6.0 to 5.10.0
- Can be set to 6.0 again when swift-actions/setup-swift supports Swift 6
    - See: swift-actions/setup-swift#684
@Aaron-Ritter
Copy link

Looking at the ongoing conversation, would it make sense to not only allow the installation of the specified list of versions but allow any SEMVER format outside that list with a "default process" and with the risk of failing? And e.g. a output that you're using a untested version?

superturboryan added a commit to superturboryan/ControlKit that referenced this pull request Nov 5, 2024
- Decrement `swift-tools-version` from 6.0 to 5.10.0
- Can be set to 6.0 again when swift-actions/setup-swift supports Swift 6
    - See: swift-actions/setup-swift#684
superturboryan added a commit to superturboryan/ControlKit that referenced this pull request Nov 5, 2024
- Decrement `swift-tools-version` from 6.0 to 5.10.0
- Can be set to 6.0 again when swift-actions/setup-swift supports Swift 6
    - See: swift-actions/setup-swift#684
superturboryan added a commit to superturboryan/ControlKit that referenced this pull request Nov 6, 2024
- Decrement `swift-tools-version` from 6.0 to 5.10.0
- Can be set to 6.0 again when swift-actions/setup-swift supports Swift 6
    - See: swift-actions/setup-swift#684
superturboryan added a commit to superturboryan/ControlKit that referenced this pull request Nov 6, 2024
- Decrement `swift-tools-version` from 6.0 to 5.10.0
- Can be set to 6.0 again when swift-actions/setup-swift supports Swift 6
    - See: swift-actions/setup-swift#684
superturboryan added a commit to superturboryan/ControlKit that referenced this pull request Nov 6, 2024
- Decrement `swift-tools-version` from 6.0 to 5.10.0
- Can be set to 6.0 again when swift-actions/setup-swift supports Swift 6
    - See: swift-actions/setup-swift#684
superturboryan added a commit to superturboryan/ControlKit that referenced this pull request Nov 6, 2024
- Decrement `swift-tools-version` from 6.0 to 5.10.0
- Can be set to 6.0 again when swift-actions/setup-swift supports Swift 6
    - See: swift-actions/setup-swift#684
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.

7 participants