diff --git a/README.md b/README.md index cf7759d8..2327af99 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ Auto-detects your coverage artifact files and CI environment to post to [Coveral ### Linux #### x86_64 + To install the generic Linux binary (`x86_64`): ```bash @@ -178,7 +179,6 @@ Usage: coveralls done [options] SSL_CERT_FILE=/etc/pki/tls/cert.pem ``` - ## Built-In Support ### Supported Coverage Report Formats @@ -212,6 +212,7 @@ You can add a report parser to this project by following [these instructions](./ - Drone - Buildkite - Xcode Cloud +- RWX [Docs on environment variables for other CI support.](https://docs.coveralls.io/ci-services#option-1-use-common-environment-variables) @@ -295,6 +296,7 @@ Brief description: new coverage report support [After the release is available][github-releases], see [Homebrew release](#homebrew-release) instructions. + #### Manual 1. Bump version in [`src/coverage_reporter.cr`](./src/coverage_reporter.cr) and [`shard.yml`](./shard.yml) @@ -307,6 +309,7 @@ available][github-releases], see [Homebrew release](#homebrew-release) instructions. [github-releases]: https://github.com/coverallsapp/coverage-reporter/releases + #### Homebrew release In the [homebrew-coveralls repo][homebrew], a new PR will automatically get diff --git a/spec/coverage_reporter/config_spec.cr b/spec/coverage_reporter/config_spec.cr index 0b51aafb..541a0231 100644 --- a/spec/coverage_reporter/config_spec.cr +++ b/spec/coverage_reporter/config_spec.cr @@ -613,5 +613,32 @@ Spectator.describe CoverageReporter::Config do }) end end + + context "for RWX" do + before_each do + ENV["RWX"] = "true" + ENV["RWX_GIT_REPOSITORY_NAME"] = "rwx/repo" + ENV["RWX_RUN_ID"] = "12345" + ENV["RWX_TASK_ID"] = "6789" + ENV["RWX_GIT_REF_NAME"] = "main" + ENV["RWX_RUN_URL"] = "https://cloud.rwx.com/runs/12345" + ENV["RWX_TASK_URL"] = "https://cloud.rwx.com/tasks/6789" + ENV["RWX_TASK_ATTEMPT_NUMBER"] = "3" + ENV["RWX_GIT_COMMIT_SHA"] = "rwx-commit-sha" + end + + it "provides custom options" do + expect(subject).to eq({ + :repo_token => repo_token, + :service_name => "rwx", + :service_number => "12345", + :service_job_id => "6789", + :service_branch => "main", + :commit_sha => "rwx-commit-sha", + :service_build_url => "https://cloud.rwx.com/runs/12345", + :service_job_url => "https://cloud.rwx.com/tasks/6789", + }) + end + end end end diff --git a/src/coverage_reporter/ci/rwx.cr b/src/coverage_reporter/ci/rwx.cr new file mode 100644 index 00000000..99406f6c --- /dev/null +++ b/src/coverage_reporter/ci/rwx.cr @@ -0,0 +1,25 @@ +require "./options" + +module CoverageReporter + module CI + module Rwx + extend self + + def options + return unless ENV["RWX"]? + + Options.new( + service_name: "rwx", + repo_name: ENV["RWX_GIT_REPOSITORY_NAME"]?, + service_number: ENV["RWX_RUN_ID"]?, + service_job_id: ENV["RWX_TASK_ID"]?, + service_branch: ENV["RWX_GIT_REF_NAME"]?, + service_build_url: ENV["RWX_RUN_URL"]?, + service_job_url: ENV["RWX_TASK_URL"]?, + service_attempt: ENV["RWX_TASK_ATTEMPT_NUMBER"]?, + commit_sha: ENV["RWX_GIT_COMMIT_SHA"]?, + ).to_h + end + end + end +end diff --git a/src/coverage_reporter/config.cr b/src/coverage_reporter/config.cr index ab712010..24abb83b 100644 --- a/src/coverage_reporter/config.cr +++ b/src/coverage_reporter/config.cr @@ -33,6 +33,7 @@ module CoverageReporter CI::Wercker, CI::Drone, CI::XcodeCloud, + CI::Rwx, CI::Local, }