diff options
| author | mo khan <mo.khan@gmail.com> | 2020-05-14 13:54:21 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-05-14 13:54:21 -0600 |
| commit | f805c95c08d03d054f0c52e259acf08b11f8481f (patch) | |
| tree | 5a95364a1a4d70bf7d11e12e8c565f49c0682181 /README.md | |
| parent | 005336379b28329c6a0432fb25bbfa704d1e3466 (diff) | |
Update README instructions to run tests in docker container
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 60 |
1 files changed, 26 insertions, 34 deletions
@@ -4,7 +4,7 @@ [](https://gitlab.com/gitlab-org/security-products/license-management/commits/master) GitLab tool for detecting licenses of the dependencies used by the provided source. -It is currently based on [License Finder](https://gitlab.com/gitlab-org/security-products/license-management) +It is currently based on [License Finder][license_finder] only, but this may change in the future. ## How to use @@ -25,48 +25,41 @@ only, but this may change in the future. ### Running the application -License Management is a Docker image, you can build it like any Docker image like so in the -project root: +License Management is a Docker image. You can build it like this from the project root: ```sh -docker build -t license-management . +$ ./bin/docker-build ``` You can then run License Management on some target directory: ```sh -docker run --rm --volume "/path/to/my/project":/code license-management analyze /code +$ docker run --rm --volume "/path/to/my/project":/code license-management analyze /code ``` -You can run the tests from your host machine using the following command: +You can run the tests from inside a docker container: ```sh -./bin/test -``` - -It is much more efficient to run the tests from inside the docker container: - -```sh -./bin/docker-build -./bin/docker-shell -cd /opt/license-management/ -./bin/test +$ ./bin/docker-build +$ ./bin/docker-shell +$ cd /opt/license-management/ +$ ./bin/test ``` If you need to debug any specific issues you can do this from within the docker container by following these steps: ```sh -./bin/docker-build -./bin/docker-shell -cd /opt/license-management/ -enable_dev_mode -bundle open license_finder +$ ./bin/docker-build +$ ./bin/docker-shell +$ cd /opt/license-management/ +$ enable_dev_mode +$ bundle open license_finder ``` The `docker-shell` script will mount the current project as a volume into `/opt/license-management`. -This allows you edit code from your host machine using your preferred editor and -see the affects of those changes from within the running docker container. +This allows you to edit code from your host machine using your preferred editor and +see the affect of those changes from within the running docker container. ### Updating the SPDX index @@ -119,12 +112,6 @@ The License Management tool can be customized with environments variables for so Inject the required environment variables to the docker command using the [`--env` option flag](https://docs.docker.com/engine/reference/commandline/run/#set-environment-variables--e---env---env-file) or its shorthand form (`--env MY_SETTING_VAR`) if the configuration comes from an external environment. - -*Caution:* if you supply the `MAVEN_CLI_OPTS` for a Maven project, don't forget to append `-DskipTests` to save time by skipping the test suite. - -*Tip:* in case you still need to run tests during license management check, supply `MAVEN_CLI_OPTS=-DskipTests=false` -to the docker command. - ## Versioning and release process 1. Create a new entry in the `.gitlab/release.yml` file for the new version to release. @@ -147,19 +134,24 @@ Please check the [Release Process documentation](https://gitlab.com/gitlab-org/s ## Upgrading to the latest version of LicenseFinder -1. Check for the latest version of `LicenseFinder` at [https://rubygems.org/gems/license_finder](https://rubygems.org/gems/license_finder) -1. Check the version of the `license_finder` gem that is currently being used in the [`Gemfile.lock`](https://gitlab.com/gitlab-org/security-products/license-management/-/blob/master/Gemfile.lock) +1. Check for the latest version of `LicenseFinder` at [https://rubygems.org/gems/license_finder][license_finder] +1. Check the version of the `license_finder` gem that is currently being used in the [`Gemfile.lock`][gemfile_lock] 1. If an update is available, create a new branch -1. Bump the license management version in [CHANGELOG.md](https://gitlab.com/gitlab-org/security-products/license-management/-/blob/master/CHANGELOG.md) and in [version.rb](https://gitlab.com/gitlab-org/security-products/license-management/-/blob/master/lib/license/management/version.rb) -1. Update the `license_finder` version constraint in the [gemspec](https://gitlab.com/gitlab-org/security-products/license-management/-/blob/master/license-management.gemspec). +1. Bump the license management version in [CHANGELOG.md][changelog] and in [version.rb][version_rb] +1. Update the `license_finder` version constraint in the [gemspec][gemspec] 1. Run `bundle update license_finder` 1. Test the changes locally using the `bin/test` script. 1. Submit a merge request. - # Contributing If you want to help, read the [contribution guidelines](CONTRIBUTING.md). If an unknown license is detected, please consider updating the mapping defined in [normalized-licenses.yml](https://gitlab.com/gitlab-org/security-products/license-management/blob/master/normalized-licenses.yml). A mapping can be for a detected name or url and must correspond to an SDPX identifier found in [spdx-licenses.json](https://gitlab.com/gitlab-org/security-products/license-management/blob/master/spdx-licenses.json). + +[license_finder]: https://rubygems.org/gems/license_finder +[changelog]: https://gitlab.com/gitlab-org/security-products/license-management/-/blob/master/CHANGELOG.md +[version_rb]: https://gitlab.com/gitlab-org/security-products/license-management/-/blob/master/lib/license/management/version.rb +[gemspec]: https://gitlab.com/gitlab-org/security-products/license-management/-/blob/master/license-management.gemspec +[gemfile_lock]: https://gitlab.com/gitlab-org/security-products/license-management/-/blob/master/Gemfile.lock |
