Skip to content

feat: Make ArrowTypeId and Info enums Sendable #43

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

Merged
merged 3 commits into from
Jun 24, 2025

Conversation

dongjoon-hyun
Copy link
Member

@dongjoon-hyun dongjoon-hyun commented Jun 20, 2025

What's Changed

This PR aims to make ArrowTypeId and Info enums Sendable explicitly in order to compile on Swift 6+.

Closes #44.

@dongjoon-hyun
Copy link
Member Author

To @kou , the CI failure is a known bug of setup-swift.

/usr/bin/gpg --import /home/runner/work/_temp/2b6adc8e-2d2d-41aa-9b9d-db24acd921f2
gpg: directory '/home/runner/.gnupg' created
gpg: keybox '/home/runner/.gnupg/pubring.kbx' created
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Error: Unexpected error, unable to continue. Please report at https://github.com/swift-actions/setup-swift/issues
The process '/usr/bin/gpg' failed with exit code 2
Stacktrace:
Error: The process '/usr/bin/gpg' failed with exit code 2
    at ExecState._setResult (/home/runner/work/_actions/swift-actions/setup-swift/682457186b71c25a884c45c06f859febbe259240/dist/index.js:3197:25)
    at ExecState.CheckComplete (/home/runner/work/_actions/swift-actions/setup-swift/682457186b71c25a884c45c06f859febbe259240/dist/index.js:3180:18)
    at ChildProcess.<anonymous> (/home/runner/work/_actions/swift-actions/setup-swift/682457186b71c25a884c45c06f859febbe259240/dist/index.js:3074:27)
    at ChildProcess.emit (node:events:524:28)
    at maybeClose (node:internal/child_process:1104:16)
    at ChildProcess._handle.onexit (node:internal/child_process:304:5)

@dongjoon-hyun
Copy link
Member Author

The CI fails 3 times consecutively with the same step, The process '/usr/bin/gpg' failed with exit code 2.

@kou
Copy link
Member

kou commented Jun 21, 2025

Could you rebase on main to use Swift 6.0 and 6.1 on CI?

@dongjoon-hyun
Copy link
Member Author

Sure. Rebased, @kou .

@dongjoon-hyun
Copy link
Member Author

CI fails again at the identical error, setup-swift.

Screenshot 2025-06-23 at 10 04 08

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

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

+1

I couldn't find any build error log difference with/without this change. But I trust you.

Could you work on #52 as the next issue? Because it's the build errors reported in CI?

@kou kou merged commit b6ca546 into apache:main Jun 24, 2025
13 of 16 checks passed
@dongjoon-hyun
Copy link
Member Author

I know what you mean. This is one of the patches required to run on Swift 6, apache/spark-connect-swift#6 . Currently, it's hidden by other failures.

I couldn't find any build error log difference with/without this change. But I trust you.

Thank you for merging.

@dongjoon-hyun dongjoon-hyun deleted the fix_enum branch June 24, 2025 13:59
@dongjoon-hyun
Copy link
Member Author

BTW, @kou , what you mentioned are warnings technically. The build itself succeeds like the following locally.

$ swift --version
Apple Swift version 6.1.2 (swift-6.1.2-RELEASE)
Target: arm64-apple-macosx15.0

$ swift build
...
/Users/dongjoon/APACHE/arrow-swift/Arrow/Sources/Arrow/ArrowReader.swift:408:31: warning: 'as' test is always true
406 |                 result.batches.append(recordBatch)
407 |                 return .success(())
408 |             } catch let error as ArrowError {
    |                               `- warning: 'as' test is always true
409 |                 return .failure(error)
410 |             } catch {
[1130/1130] Compiling ArrowFlight FlightSql.pb.swift
Build complete! (79.67s)

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.

Make ArrowTypeId and Info enums Sendable
2 participants