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

Release version 1.0.3 #61

Closed
lorentey opened this issue Dec 9, 2022 · 5 comments
Closed

Release version 1.0.3 #61

lorentey opened this issue Dec 9, 2022 · 5 comments
Milestone

Comments

@lorentey
Copy link
Member

lorentey commented Dec 9, 2022

We should ship a release that contains the new documentation bundle.

@lorentey lorentey added this to the 1.0.3 milestone Dec 9, 2022
@lorentey
Copy link
Member Author

lorentey commented Dec 9, 2022

Candidate commit: ff3d221

Diff: 1.0.2...main

These changes consist of documentation updates and package manifest / build configuration changes. I think we can get away with a shortened release validation before tagging, but we'll still need to exercise the new manifests in at least two separate runs with 5.3+ and 5.5+ compilers.

I'll skip Windows testing; I trust that the CMake build results on macOS & Linux indicate that Windows will pass too.

The new tag is expected to produce documentation on the Swift Package Index. Any issues with that will only be found after tagging, though.

Testing progress:

macOS/AS

  • macOS 13, Apple Silicon, Xcode 14.1 (Swift 5.7.1)
  • macOS 12.5, Apple Silicon, Xcode 13.3.1 (Swift 5.6.0)
  • macOS 12.5, Apple Silicon, Xcode 13.2.1 (Swift 5.5.2)
  • macOS 12.5, Apple Silicon, Xcode 12.5.1 (Swift 5.4.2)
  • macOS 12.5, Apple Silicon, Xcode 12.4 (Swift 5.3.2)

macOS/x86_64

  • macOS 13, x86_64, Xcode 14.1 (Swift 5.7.1)
  • macOS 12.5, x86_64, x86_64 , Xcode 13.4.1 (Swift 5.6.1)
  • macOS 12.5, x86_64, x86_64 , Xcode 13.0 (Swift 5.5)
  • macOS 12.5, x86_64, x86_64 , Xcode 12.5.1 (Swift 5.4.2)
  • macOS 12.5, x86_64, x86_64 , Xcode 12.4 (Swift 5.3.2)

Linux/Aarch64

  • Ubuntu 20.04, Aarch64, Swift 5.8 nightly build
  • Ubuntu 20.04, Aarch64, Swift 5.7.1 release
  • Ubuntu 20.04, Aarch64, Swift 5.6.2 release

Linux/x86_64

  • Ubuntu 20.04, x86_64, Swift 5.8 nightly build
  • Ubuntu 20.04, x86_64, Swift 5.7.1 release
  • Ubuntu 20.04, x86_64, Swift 5.6.2 release
  • Ubuntu 20.04, x86_64, Swift 5.5.3 release
  • Ubuntu 20.04, x86_64, Swift 5.4.3 release
  • Ubuntu 20.04, x86_64, Swift 5.3.3 release

Windows 10/x86_64

  • Windows 10, x86_64, Swift 5.8 nightly build
  • Windows 10, x86_64, Swift 5.7.1 release
  • Windows 10, x86_64, Swift 5.6.1 release

(Note: I expect most of this matrix will remain untested in this tag.)

@lorentey
Copy link
Member Author

lorentey commented Dec 9, 2022

The BUILD_LIBRARY_FOR_DISTRIBUTION test case produces a module interface validation error on arm64:

[18 xcodebuild.library-evolution] xcodebuild -scheme swift-atomics -destination generic/platform=macOS -destination generic/platform=iOS BUILD_LIBRARY_FOR_DISTRIBUTION=YES
  ** BUILD FAILED **
  
  
  The following build commands failed:
  	SwiftVerifyEmittedModuleInterface normal arm64 Verifying\ emitted\ module\ interface\ for\ module\ AtomicsTests /Users/klorentey/Library/Developer/Xcode/DerivedData/swift-atomics-fflkxpmrsggtlnbcxorrecorsseo/Build/Intermediates.noindex/swift-atomics.build/Debug-iphoneos/AtomicsTests.build/Objects-normal/arm64/AtomicsTests.swiftinterface (in target 'AtomicsTests' from project 'swift-atomics')
  	SwiftVerifyEmittedModuleInterface normal arm64 Verifying\ emitted\ module\ interface\ for\ module\ AtomicsTests /Users/klorentey/Library/Developer/Xcode/DerivedData/swift-atomics-fflkxpmrsggtlnbcxorrecorsseo/Build/Intermediates.noindex/swift-atomics.build/Debug-iphoneos/AtomicsTests.build/Objects-normal/arm64/AtomicsTests.private.swiftinterface (in target 'AtomicsTests' from project 'swift-atomics')
  (2 failures)
/Users/klorentey/Library/Developer/Xcode/DerivedData/swift-atomics-fflkxpmrsggtlnbcxorrecorsseo/Build/Intermediates.noindex/swift-atomics.build/Debug-iphoneos/AtomicsTests.build/Objects-normal/arm64/AtomicsTests.swiftinterface:4:8: error: missing required module '_AtomicsShims'
import Atomics
       ^
/Users/klorentey/Library/Developer/Xcode/DerivedData/swift-atomics-fflkxpmrsggtlnbcxorrecorsseo/Build/Intermediates.noindex/swift-atomics.build/Debug-iphoneos/AtomicsTests.build/Objects-normal/arm64/AtomicsTests.swiftinterface:1:1: error: failed to verify module interface of 'AtomicsTests' due to the errors above; the textual interface may be broken by project issues or a compiler bug
// swift-interface-format-version: 1.0
^

Weirdly, this did not trigger on x86_64.

Related issue: #54

@lorentey
Copy link
Member Author

lorentey commented Dec 9, 2022

Additionally, manually rebuilding from a fresh clone produces valid semantic issues in Xcode 14.1 when library evolution is enabled:

/tmp/swift-atomics/Sources/Atomics/autogenerated/AtomicLazyReference.swift:142:10: error: initializer for class 'ManagedAtomicLazyReference<Instance>' is '@inlinable' and must delegate to another initializer
/tmp/swift-atomics/Sources/Atomics/autogenerated/HighLevelTypes.swift:84:10: error: initializer for class 'ManagedAtomic<Value>' is '@_alwaysEmitIntoClient' and must delegate to another initializer
/tmp/swift-atomics/Sources/Atomics/AtomicStrongReference.swift:324:14: error: 'self' used before 'self.init' call or assignment to 'self'
/tmp/swift-atomics/Sources/Atomics/AtomicStrongReference.swift:325:3: error: 'self.init' isn't called on all paths before returning from initializer
/tmp/swift-atomics/Sources/Atomics/AtomicStrongReference.swift:447:14: error: 'self' used before 'self.init' call or assignment to 'self'
/tmp/swift-atomics/Sources/Atomics/AtomicStrongReference.swift:448:3: error: 'self.init' isn't called on all paths before returning from initializer

It isn't clear why these aren't being reported by the full-test script.

@lorentey
Copy link
Member Author

lorentey commented Dec 9, 2022

The library evolution test case failure also seems to be reproducing in 1.0.2; in any case, this need not hold back the release.

@lorentey
Copy link
Member Author

lorentey commented Dec 9, 2022

1.0.3 is out!

@lorentey lorentey closed this as completed Dec 9, 2022
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

No branches or pull requests

1 participant