Do not disclose security issues in public. Instead, please email:
Ben Johnson <[email protected]>,
Tieg Zaharia <[email protected]>,
Jared Beck <[email protected]>
We will review security issues promptly.
Please use github issues only for bug reports and feature suggestions.
Please ask usage questions on stackoverflow.
Most local development should be done using the oldest supported version of
ruby. See required_ruby_version
in the gemspec.
Tests can be run against different versions of Rails:
BUNDLE_GEMFILE=gemfiles/rails-6.0.rb bundle install
BUNDLE_GEMFILE=gemfiles/rails-6.0.rb bundle exec rake
To run a single test:
BUNDLE_GEMFILE=gemfiles/rails-6.0.rb \
bundle exec ruby -I test path/to/test.rb
Bundler can be omitted, and the latest installed version of a gem dependency will be used. This is only suitable for certain unit tests.
ruby –I test path/to/test.rb
Running rake
also runs a linter, rubocop. Contributions must pass both
the linter and the tests. The linter can be run on its own.
BUNDLE_GEMFILE=gemfiles/rails-6.0.rb bundle exec rubocop
To run the tests without linting, use rake test
.
BUNDLE_GEMFILE=gemfiles/rails-6.0.rb bundle exec rake test
We've been trying to follow the rails way, stable branches, but have been
inconsistent. We should have one branche for each minor version, named like
4-3-stable
. Releases should be done on those branches, not in master. So,
the "stable" branches should be the only branches with release tags.
- git checkout 4-3-stable # the latest "stable" branch (see above)
- Update version number in lib/authlogic/version.rb
- In the changelog,
- Add release date to entry
- Add a new "Unreleased" section at top
- In the readme,
- Update version number in the docs table at the top
- For non-patch versions, update the compatibility table
- Commit with message like "Release 4.3.0"
- git tag -a -m "v4.3.0" "v4.3.0"
- git push --tags origin 4-3-stable # or whatever branch (see above)
- CI should pass
- gem build authlogic.gemspec
- gem push authlogic-4.3.0.gem
- update the docs in the master branch, because that's what people look at
- git checkout master
- git cherry-pick abcd1234 # the SHA from the stable branch
- commit and push with
[ci skip]