Community - 1st Steps - GitHub org transition

Hi all,

The next step in transitioning Kitura to a community project, while not a breaking change, is potentially a big one so I wanted to make sure everyone is aware of what is happening. Starting Saturday 12, 2020, I will begin migrating active repositories from the IBM-Swift github organization to the Kitura organization.

This will mean that your package references will change from GitHub - Kitura/Kitura: A Swift web framework and HTTP server. to GitHub - Kitura/Kitura: A Swift web framework and HTTP server. . GitHub will automatically redirect your requests from the old URL to the new one. So again, this should not be a breaking change. However it will be good for you to switch your URL pointers at some point in the future. I will begin the transition with some less active repositories. If all goes well, I aim to end the migration with the actual Kitura repository within a couple weeks. This should give enough time for anyone with problems to report them.

On another front, a few people have chimmed in to help with the project. While we don't have a formal roadmap yet, here's a few things on the top of my mind:

  • Aim for NIO by default
  • To do this, we'll need to ensure unit tests are:
    • running successfully
    • updated to include new versions of swift and Xcode
  • Automate performance testing
  • Enhance Kuery-ORM for usability
  • Ensure we have good code quality management tools
  • We always need people to help with code reviews and documentation

If you’re interested in helping to shape the future direction of Kitura, please reach out! No role is too small or too big! Please follow-up on the forums or Slack.

Thanks!

Danny

12 Likes

Here are the repos I’ve moved to the Kitura org so far:

  • Kitura-Sample
  • Kitura-Compression
  • Kitura-WebSocket-NIO
  • Kitura-WebSocket-Compression
  • Kitura-CredentialsJWT
  • Kitura-CredentialsFacebook

I’ll be working on updating documentation and relevant package references throughout the week. This should also give enough time to see if there’s any noticeable impact on people. If this works well, my next step will likely be the rest of the Credentials repos and maybe the NIO related repos as well.

2 Likes

Consolidated list of all repos migrated so far:

  • BlueCryptor
  • BlueECC
  • BlueRSA
  • BlueSSLService
  • BlueSignals
  • BlueSocket
  • HeliumLogger
  • Kitura
  • Kitura-CORS
  • Kitura-Compression
  • Kitura-Credentials
  • Kitura-CredentialsFacebook
  • Kitura-CredentialsGitHub
  • Kitura-CredentialsGoogle
  • Kitura-CredentialsHTTP
  • Kitura-CredentialsJWT
  • Kitura-NIO
  • Kitura-Sample
  • Kitura-Session
  • Kitura-TemplateEngine
  • Kitura-WebSocket
  • Kitura-WebSocket-Client
  • Kitura-WebSocket-Compression
  • Kitura-WebSocket-NIO
  • Kitura-net
  • KituraContracts
  • KituraKit
  • LoggerAPI
  • OpenSSL
  • Package-Builder
  • Swift-JWT
  • Swift-Kuery
  • Swift-Kuery-ORM
  • Swift-Kuery-PostgreSQL
  • Swift-Kuery-SQLite
  • TypeDecoder

I'd like to found out which of the remaining repos are active, so please shout out if you use anything else in the IBM-Swift org.

Hi!

I'm using IBM-Swift/Swift-SMTP

1 Like

Hi all, here’s where we are so far…

As you may know, kitura.io is gone and I don’t know if/when we’ll ever get it back. But I do have https://www.kitura.dev setup. Currently web pages must be accessed via https://www.kitura.dev (i.e. https://kitura.dev is still broken; hopefully I’ll have this fixed soon).

I’ve migrated nearly all the repos, aside from the sample project… I don’t have a problem migrating them, but just wondering how to organize them. So I figured I’ll leave for now and get back to it later once the rest of builds are working okay. (Unless anyone thinks differently?)

I’ve updated the CLA to refer to “Kitura” instead of “IBM”. We can discuss other variations of a CLA, but I think it’s good that we have something there. My intention right now is to minimize change and just get things working again. Previously PR’s were broken because there were hooks requiring signing of the CLA, but the CLA Assistant was not setup on our new org. So at least that’s fixed now.

TravisCI has been and continues to be working. I also enabled SonarCloud.

Once all the package references are fixed across all current repos, I’ll be doing a patch-level version bump to all repositories. This should fix some of the package checkout issues we’ve been seeing in TravisCI. All repos will keep their existing major and minor versions, but the patch level will be set to 200. So SomePackage-x.y.z will be bumped to SomePackage-x.y.200. This will make it easier to identify build issues due to incorrect org. Note that this will be a tag from master. This should not be an issue for most projects since there has not been any code merges in most cases. But I can’t say that is 100% true.

Currently most (if not all) projects are setup to build for Linux Swift 4.0.3, 4.1.3, 5.0.1, and macOS Swift 4.0.3, 4.1.2, 5.0.1. The rules are setup for a single development snapshot build as well, which I currently have set for swift-5.2-DEVELOPMENT-SNAPSHOT-2020-04-27-a. Once the dust settles, I’ll up the dev snapshot to one of the 5.3 builds. We should also add regular builds for Swift 5.1 and 5.2 on Linux and macOS.

There’s been discussion about dropping support for 4.x. I’ll send out an announcement soon to see if there is any opposition to this so we don’t leave anyone stranded. (But feel free to comment if you’re someone that’s still relying on Swift 4.x).

Here are the additional repositories that I’ve migrated and still need their package info updated:

  • CEpoll
  • CHTTPParser
  • CLibpq
  • CZLib
  • CircuitBreaker
  • CloudEnvironment
  • CommonCrypto
  • Configuration
  • FileKit
  • Health
  • Kitura-Cache
  • Kitura-CouchDB
  • Kitura-Markdown
  • Kitura-MustacheTemplateEngine
  • Kitura-Session-Redis
  • Kitura-StencilTemplateEngine
  • Kitura-redis
  • Swift-SMTP
  • Swift-cfenv
  • SwiftKafka
  • SwiftKueryMySQL
  • SwiftyRequest
  • SwiftyRequest
  • generator-swiftserver-projects
  • homebrew-kitura
  • swift-html-entities
  • swift-ubuntu-docker
4 Likes