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

0.7.0 Release To-do #98

Closed
34 of 49 tasks
jdantonio opened this issue May 26, 2014 · 12 comments
Closed
34 of 49 tasks

0.7.0 Release To-do #98

jdantonio opened this issue May 26, 2014 · 12 comments
Labels
chore Gem maintenance tasks.
Milestone

Comments

@jdantonio
Copy link
Member

This is the to-do list for the 0.7.0 release. The target date for this release is Sunday, 10 August, 2014. This is intended to coincide with the Steel City Ruby conference being help in Pittsburgh, PA, USA on 15-16 August. This is an initial list based on the discussion in Issue #83 ("v0.7.0, GitHub Organization, and Merging Atomic"). Please feel free to add/edit/delete items as necessary.

Organization

Native Extensions

  • Setup the gemspec and extconf.rb files to support C extensions (based on ruby-atomic and the experimental CRuby branches)
  • Setup the gemspec and extconf.rb files to support pure Java extensions (based on ruby-atomic)
  • Update experimental CRuby extensions based on ruby-atomic
    • Remove CEvent (poor performance)
    • Move extensions to root of ext folder
    • Use have_header to set #define
    • Update extsonf.rb to support multiple operating systems
    • Update CAtomicBoolean to support multiple operating systems
    • Update CAtomicFixnum to support multiple operating systems
    • Merge native extension branches into master
  • Merge ruby-atomic
    • Verify compatibility of pure-Ruby, Java, and CRuby versions
    • Move classes into the Concurrent module
    • Rename classes/modules to match existing conventions
  • Add FreeBSD to automated build (reconsider)

New and Updated Abstractions

  • Either deprecate Supervisor and Runnable or update them to use executors and be more thread safe
  • Implement fork-join (move to future release)
  • native JavaEvent (move to future release)

Tests

  • Update RSpec to 3.x
  • Replace all sleep calls in specs with deterministic locking (using CountDownLatch or other atomic variable)
  • Update tests to use ImmediateExecutor when possible
  • Fix brittle specs (see Issue Brittle specs #97)
  • Create stress tests for core classes including
    • Thread pools

Actor

@jdantonio jdantonio added this to the 0.7.0 milestone May 26, 2014
@jdantonio
Copy link
Member Author

@mighe @chrisseaton @lucasallan @pitr-ch @headius I've created an initial to-do list for the 0.7.0 release. I've contacted GitHub about the organization issue I mentioned in #83. If we can't get that organization name we'll discuss alternatives.

Please feel free to edit this to-do list if I've missed anything or gotten something wrong.

@pitr-ch
Copy link
Member

pitr-ch commented May 27, 2014

ok I'll track todos for Actor work here.

@jdantonio
Copy link
Member Author

I've exchanged a couple of emails with GitHubber @emilyistoofunky regarding the concurrent-ruby organization. Unfortunately, we have received no response from the holder of that account and it isn't dormant based on GitHub's rules. Unfortunately, this means we can't get that organization. Which leaves us with a couple of options:

  • Accept the offer from @headius and transfer the ruby-concurrency organization to us
  • Think of another organization name
  • Leave the gem under my GitHub account

Thoughts?

@chrisseaton
Copy link
Member

Not an ideal situation is it - but I guess ruby-concurrency is fine.

@lucasallan
Copy link
Member

I think ruby-concurrency is fine.

@headius
Copy link
Contributor

headius commented Jun 5, 2014

I vote we move the stuff to ruby-concurrency for now. Give me a list of people who should have admin privileges.

@pitr-ch
Copy link
Member

pitr-ch commented Jun 5, 2014

ruby-concurrency 👍

@mighe
Copy link
Contributor

mighe commented Jun 6, 2014

👍 for ruby-concurrency

@jdantonio
Copy link
Member Author

If you're reading this page then you've probably noticed that we've moved the repo to the ruby-concurrency organization. Anyone know a designer who might be interested in creating a simple web page? I know where they can find a really cool logo. 🤘

@jdantonio
Copy link
Member Author

@headius I'm not sure if you've had a chance to take a look at the most recent changelog updates or the two release candidates we've pushed to Rubygems, but the ruby-atomic code has been fully integrated. We've even heard from a community member that the Java build of 0.7.0.rc1 is being used in the Moscow transit system. Everything is on track for a full release of 0.7.0 prior to Steel City Ruby.

@jdantonio
Copy link
Member Author

@headius We just pushed 0.7.0.rc2, the last planned pre-release before the final 0.7.0 release. You had mentioned once that you wanted to create one final release of the original ruby-atomic gem. I have a lot of confidence in our integration of your code. I'm comfortable with you creating that final release of ruby-atomic, of that is still your plan.

Thanks again for the gift of your code! We'll be good stewards of it moving forward.

@jdantonio
Copy link
Member Author

I believe I have issue #153 resolved and will be releasing 0.7.0 tomorrow morning. Since that issue didn't prevent the gem from working on Rubinus or any other platform (it loaded C extensions that would work on Rubinius but did not use them) I'm going to release even if the bug persists. In that case I will continue working on the bug next week, after I have returned from Steel City Ruby.

I'm closing this issue. Please resume discussion of unfinished tasks in #142 or new issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Gem maintenance tasks.
Projects
None yet
Development

No branches or pull requests

6 participants