diff options
Diffstat (limited to 'CONTRIBUTING_md.html')
-rw-r--r-- | CONTRIBUTING_md.html | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/CONTRIBUTING_md.html b/CONTRIBUTING_md.html index 117a1418..5edccad5 100644 --- a/CONTRIBUTING_md.html +++ b/CONTRIBUTING_md.html @@ -62,7 +62,7 @@ <li><a href="#label-Bugs+and+feature+requests">Bugs and feature requests</a> <li><a href="#label-Submitting+patches">Submitting patches</a> <li><a href="#label-Testing">Testing</a> - <li><a href="#label-Docker">Docker</a> + <li><a href="#label-With+different+versions+of+OpenSSL">With different versions of OpenSSL</a> <li><a href="#label-Relation+with+Ruby+source+tree">Relation with Ruby source tree</a> <li><a href="#label-Release+policy">Release policy</a> <li><a href="#label-Security">Security</a> @@ -99,9 +99,18 @@ <p>If you think you found a bug, file a ticket on GitHub. Please DO NOT report security issues here, there is a separate procedure which is described on <a href="https://www.ruby-lang.org/en/security/">“Security at ruby-lang.org”</a>.</p> -<p>When reporting a bug, please make sure you include: * Ruby version * <a href="OpenSSL.html"><code>OpenSSL</code></a> gem version * <a href="OpenSSL.html"><code>OpenSSL</code></a> library version * A sample file that illustrates the problem or link to the repository or gem that is associated with the bug.</p> +<p>When reporting a bug, please make sure you include:</p> +<ul><li> +<p>Ruby version (<code>ruby -v</code>)</p> +</li><li> +<p><code>openssl</code> gem version (<code>gem list openssl</code> and <code>OpenSSL::VERSION</code>)</p> +</li><li> +<p><a href="OpenSSL.html"><code>OpenSSL</code></a> library version (<code>OpenSSL::OPENSSL_VERSION</code>)</p> +</li><li> +<p>A sample file that illustrates the problem or link to the repository or gem that is associated with the bug.</p> +</li></ul> -<p>There are a number of unresolved issues and feature requests for openssl that need review. Before submitting a new ticket, it is recommended to check <a href="https://github.com/ruby/openssl/issues">known issues</a> and <a href="https://bugs.ruby-lang.org/issues?utf8=%E2%9C%93&set_filter=1&f%5B%5D=status_id&op%5Bstatus_id%5D=o&f%5B%5D=assigned_to_id&op%5Bassigned_to_id%5D=%3D&v%5Bassigned_to_id%5D%5B%5D=7150&f%5B%5D=&c%5B%5D=project&c%5B%5D=tracker&c%5B%5D=status&c%5B%5D=subject&c%5B%5D=assigned_to&c%5B%5D=updated_on&group_by=&t%5B%5D=">bugs.ruby-lang.org</a>, the previous issue tracker.</p> +<p>There are a number of unresolved issues and feature requests for openssl that need review. Before submitting a new ticket, it is recommended to check <a href="https://github.com/ruby/openssl/issues">known issues</a>.</p> <h2 id="label-Submitting+patches">Submitting patches<span><a href="#label-Submitting+patches">¶</a> <a href="#top">↑</a></span></h2> @@ -116,45 +125,39 @@ <p>Follow Ruby’s coding style (<a href="https://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto">DeveloperHowTo</a>)</p> </li><li> <p>Pass the test suite successfully (see “Testing”)</p> -</li><li> -<p>Add an entry to <a href="https://github.com/ruby/openssl/tree/master/History.md">History.md</a> if necessary</p> </li></ul> <h2 id="label-Testing">Testing<span><a href="#label-Testing">¶</a> <a href="#top">↑</a></span></h2> <p>We have a test suite!</p> -<p>Test cases are located under the {<code>test/</code><a href="https://github.com/ruby/openssl/tree/master/test">}</a> directory.</p> +<p>Test cases are located under the {<code>test/openssl</code><a href="https://github.com/ruby/openssl/tree/master/test/openssl">}</a> directory.</p> <p>You can run it with the following three commands:</p> -<pre>$ rake install_dependencies # installs rake-compiler, test-unit, ... -$ rake compile -$ rake test</pre> - -<h3 id="label-Docker">Docker<span><a href="#label-Docker">¶</a> <a href="#top">↑</a></span></h3> - -<p>You can also use Docker Compose to run tests. It can be used to check that your changes work correctly with various supported versions of Ruby and <a href="OpenSSL.html"><code>OpenSSL</code></a>.</p> - -<p>First, you need to install <a href="https://www.docker.com/products/docker">Docker</a> and <a href="https://www.docker.com/products/docker-compose">Docker Compose</a> on your computer.</p> - -<p>If you’re on MacOS or Windows, we recommended to use the official <a href="https://www.docker.com/products/docker-toolbox">Docker Toolbox</a>. On Linux, follow the instructions for your package manager. For further information, please check the <a href="https://docs.docker.com/">official documentation</a>.</p> +<pre>$ bundle install # installs rake-compiler, test-unit, ... +$ bundle exec rake compile +$ bundle exec rake test</pre> -<p>Once you have Docker and Docker Compose, running the following commands will build the container and execute the openssl tests. In this example, we will use Ruby version 2.3 with <a href="OpenSSL.html"><code>OpenSSL</code></a> version 1.0.2.</p> +<h3 id="label-With+different+versions+of+OpenSSL">With different versions of <a href="OpenSSL.html"><code>OpenSSL</code></a><span><a href="#label-With+different+versions+of+OpenSSL">¶</a> <a href="#top">↑</a></span></h3> -<pre>$ docker-compose build -$ export RUBY_VERSION=ruby-2.3 -$ export OPENSSL_VERSION=openssl-1.0.2 -$ docker-compose run test +<p>Ruby <a href="OpenSSL.html"><code>OpenSSL</code></a> supports various versions of <a href="OpenSSL.html"><code>OpenSSL</code></a> library. The test suite needs to pass on all supported combinations.</p> -# You may want an interactive shell for dubugging -$ docker-compose run debug</pre> +<p>Similarly to when installing <code>openssl</code> gem via the <code>gem</code> command, you can pass a <code>--with-openssl-dir</code> argument to <code>rake compile</code> to specify the <a href="OpenSSL.html"><code>OpenSSL</code></a> library to build against.</p> -<p>All possible values for <code>RUBY_VERSION</code> and <code>OPENSSL_VERSION</code> can be found in {<code>test.yml</code><a href="https://github.com/ruby/openssl/tree/master/.github/workflows/test.yml">}</a>.</p> +<pre>$ ( curl -OL https://ftp.openssl.org/source/openssl-3.0.1.tar.gz && + tar xf openssl-3.0.1.tar.gz && + cd openssl-3.0.1 && + ./config --prefix=$HOME/.openssl/openssl-3.0.1 --libdir=lib && + make -j4 && + make install ) -<p><strong>NOTE</strong>: these commands must be run from the openssl repository root, in order to use the {<code>docker-compose.yml</code><a href="https://github.com/ruby/openssl/blob/master/docker-compose.yml">}</a> file we have provided.</p> +$ # in Ruby/OpenSSL's source directory +$ bundle exec rake clean +$ bundle exec rake compile -- --with-openssl-dir=$HOME/.openssl/openssl-3.0.1 +$ bundle exec rake test</pre> -<p>This Docker image is built using the <a href="https://github.com/ruby/openssl/tree/master/tool/ruby-openssl-docker">Dockerfile</a> provided in the repository.</p> +<p>The GitHub Actions workflow file {<code>test.yml</code><a href="https://github.com/ruby/openssl/tree/master/.github/workflows/test.yml">}</a> contains useful information for building OpenSSL/LibreSSL and testing against them.</p> <h2 id="label-Relation+with+Ruby+source+tree">Relation with Ruby source tree<span><a href="#label-Relation+with+Ruby+source+tree">¶</a> <a href="#top">↑</a></span></h2> |