Permalink
Browse files

Preparing for 1.0.3 release

  • Loading branch information...
pitr-ch committed Dec 11, 2016
1 parent c9ef296 commit 380626ee79dd40cfd6b090cc6f39da38411e65e8
View
@@ -23,4 +23,4 @@ tmtags
# junk
.DS_Store
.githubtoken
View
@@ -1,4 +1,16 @@
* Trigger execution of flattened delayed futures
* Avoid forking for processor_count if possible
* Semaphore Mutex and JRuby parity
* Adds Map#each as alias to Map#each_pair
* Fix uninitialized instance variables
* Make Fixnum, Bignum merger ready
* Allows Promise#then to receive an executor
* TimerSet now survives a fork
* Reject promise on any exception
* Allow ThreadLocalVar to be initialized with a block
* Support Alpha with `Concurrent::processor_count`
* Fixes format-security error when compiling ruby_193_compatible.h
* Concurrent::Atom#swap fixed: reraise the exceptions from block
## Current Release v1.0.2 (2 May 2016)
@@ -28,5 +28,5 @@ Please see http://concurrent-ruby.com for more information.
s.required_ruby_version = '>= 1.9.3'
s.add_runtime_dependency 'concurrent-ruby', "~> #{Concurrent::VERSION}"
s.add_runtime_dependency 'concurrent-ruby', "= #{Concurrent::VERSION}"
end
@@ -30,5 +30,5 @@ Gem::Specification.new do |s|
s.required_ruby_version = '>= 1.9.3'
s.add_runtime_dependency 'concurrent-ruby', "~> #{Concurrent::VERSION}"
s.add_runtime_dependency 'concurrent-ruby', "= #{Concurrent::VERSION}"
end
@@ -106,6 +106,7 @@ def compute_processor_count
elsif File.executable?("/sbin/sysctl")
IO.popen("/sbin/sysctl -n hw.ncpu", &:read).to_i
else
# TODO (pitr-ch 05-Nov-2016): warn about failures
1
end
end
@@ -1,4 +1,4 @@
module Concurrent
VERSION = '1.0.3.pre3'
EDGE_VERSION = '0.2.3.pre3'
VERSION = '1.0.3'
EDGE_VERSION = '0.2.3'
end
File renamed without changes.
View
@@ -0,0 +1,119 @@
#!/usr/bin/env bash
set -e
if [[ pitr != $(whoami) ]]
then
echo "!!! This script takes a lot of assumptions based on @pitr-ch's environment."
echo "!!! Use it at your own risk."
fi
version=$(ruby -r concurrent/version -e 'puts Concurrent::VERSION')
edge_version=$(ruby -r concurrent/version -e 'puts Concurrent::EDGE_VERSION')
(echo ${version} | grep pre) && prerelease='true' || prerelease='false'
echo "concurrent-ruby: $version"
echo "concurrent-ruby-edge: $edge_version"
echo "prerelease: $prerelease"
set -x
mriVersion="2.3.1"
jrubyVersion="jruby-9.1.5.0"
if [[ "$@" =~ 'build' || $@ =~ 'all' ]]
then
echo Building
export RBENV_VERSION=$mriVersion
docker-machine status | grep Running || docker-machine start
eval $(docker-machine env --shell sh default)
rbenv version
bundle install
bundle exec rake clean
bundle exec rake build
docker-machine stop
export RBENV_VERSION=$jrubyVersion
rbenv version
rm Gemfile.lock || true
bundle install
bundle exec rake clean
bundle exec rake build
fi
if [[ "$@" =~ "test" || $@ =~ 'all' ]]
then
cd ..
# TODO (pitr-ch 17-Dec-2016): dry: duplicates rake task
rspec_options='--color --backtrace --seed 1 --format documentation --tag ~unfinished --tag ~notravis --tag ~buggy'
# Install and test MRI version
export RBENV_VERSION=$mriVersion
gem install concurrent-ruby/pkg/concurrent-ruby-${version}.gem
gem install concurrent-ruby/pkg/concurrent-ruby-edge-${edge_version}.gem
gem install concurrent-ruby/pkg/concurrent-ruby-ext-${version}.gem
ruby -r concurrent-edge -I concurrent-ruby/spec -r spec_helper -S rspec concurrent-ruby/spec ${rspec_options}
gem uninstall concurrent-ruby-ext --version ${version}
gem uninstall concurrent-ruby-edge --version ${edge_version}
gem uninstall concurrent-ruby --version ${version}
# Install and test JRuby version
export RBENV_VERSION=$jrubyVersion
gem push concurrent-ruby/pkg/concurrent-ruby-${version}-java.gem
gem install concurrent-ruby/pkg/concurrent-ruby-edge-${edge_version}.gem
ruby -r concurrent-edge -S rspec concurrent-ruby/spec ${rspec_options}
gem uninstall concurrent-ruby-edge --version ${edge_version}
gem uninstall concurrent-ruby --version ${version}
cd concurrent-ruby
# TODO (pitr-ch 17-Dec-2016): test windows build
fi
if [[ "$@" =~ "push" || $@ =~ 'all' ]]
then
echo Pushing
# Test that we are on pushed commit
git fetch
test -z "$(git log --oneline master..upstream/master)"
test -z "$(git log --oneline upstream/master..master)"
# Tags
git tag "v${version}"
git tag "v${edge_version}"
git push --tags
# TODO (pitr-ch 16-Dec-2016): Release
# https://developer.github.com/v3/repos/releases/#create-a-release
# token=$(cat .githubtoken)
#curl -X POST \
# -H "Authorization: token ${token}" \
# -H "Content-Type: application/json" \
# -H "Cache-Control: no-cache" \
# -d "{
# \"tag_name\": \"v0.1\",
# \"target_commitish\": \"master\",
# \"name\": \"v0.1\",
# \"body\": \"Description of the release\",
# \"draft\": true,
# \"prerelease\": ${prerelease}
# }" \
# "https://api.github.com/repos/pitr-ch/concurrent-ruby/releases"
# Push to rubygems
gem push pkg/concurrent-ruby-1.0.3.gem
gem push pkg/concurrent-ruby-1.0.3-java.gem
gem push pkg/concurrent-ruby-edge-0.2.3.gem
gem push pkg/concurrent-ruby-ext-1.0.3.gem
gem push pkg/concurrent-ruby-ext-1.0.3-x64-mingw32.gem
gem push pkg/concurrent-ruby-ext-1.0.3-x86-mingw32.gem
# TODO (pitr-ch 17-Dec-2016): send email
fi

0 comments on commit 380626e

Please sign in to comment.