Skip to content

Commit

Permalink
Merge pull request #63 from codezninja/master
Browse files Browse the repository at this point in the history
feature: add support for ghe
  • Loading branch information
ssaunier authored Oct 21, 2022
2 parents e255823 + 11c1af1 commit b2b6a3a
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 5 deletions.
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,29 @@ jobs:
...
```

## GHE Support

For GHE support you just need to pass in `api-endpoint` as an input.

```yml
name: Publish

on: [push]

jobs:
publish:
name: Publish the package
runs-on: ubuntu-latest
steps:
- name: Wait for tests to succeed
uses: lewagon/wait-on-check-action@v1.0.0
with:
ref: ${{ github.ref }}
check-name: 'Run tests'
repo-token: ${{ secrets.GITHUB_TOKEN }}
api-endpoint: YOUR_GHE_API_BASE_URL # Fed to https://octokit.github.io/octokit.rb/Octokit/Configurable.html#api_endpoint-instance_method
...
```
## Alternatives

If you can keep the dependent jobs in a single workflow:
Expand Down
5 changes: 5 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ inputs:
description: "Seconds to wait between Checks API requests"
required: false
default: "10"
api-endpoint:
description: "Github API Endpoint to use."
required: false
default: ""
running-workflow-name:
description: "Name of the workflow to be ignored (the one who is waiting for the rest)"
required: false
Expand Down Expand Up @@ -68,6 +72,7 @@ runs:
VERBOSE: ${{ inputs.verbose }}
WAIT_INTERVAL: ${{ inputs.wait-interval }}
RUNNING_WORKFLOW_NAME: ${{ inputs.running-workflow-name }}
API_ENDPOINT: ${{ inputs.api-endpoint }}
branding:
icon: "check-circle"
color: "green"
2 changes: 1 addition & 1 deletion app/errors/check_conclusion_not_allowed_error.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class CheckConclusionNotAllowedError < StandardError
def initialize(allowed_conclusions)
msg = "The conclusion of one or more checks were not allowed. Allowed conclusions are: "\
msg = "The conclusion of one or more checks were not allowed. Allowed conclusions are: " \
"#{allowed_conclusions.join(", ")}. This can be configured with the 'allowed-conclusions' param."
super(msg)
end
Expand Down
4 changes: 2 additions & 2 deletions app/services/application_service.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# frozen_string_literal: true

class ApplicationService
def self.call(*args, &block)
new(*args, &block).call
def self.call(...)
new(...).call
end
end
2 changes: 1 addition & 1 deletion app/spec/services/github_checks_verifier_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
]
allow(service).to receive(:query_check_status).and_return all_checks

expected_msg = "The conclusion of one or more checks were not allowed. Allowed conclusions are: "\
expected_msg = "The conclusion of one or more checks were not allowed. Allowed conclusions are: " \
"success, skipped. This can be configured with the 'allowed-conclusions' param."
expect {
service.call
Expand Down
4 changes: 3 additions & 1 deletion entrypoint.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@
verbose = ENV["VERBOSE"]
wait = ENV["WAIT_INTERVAL"]
workflow_name = ENV["RUNNING_WORKFLOW_NAME"]
api_endpoint = ENV.fetch("API_ENDPOINT", "")

GithubChecksVerifier.configure do |config|
config.allowed_conclusions = allowed_conclusions.split(",").map(&:strip)
config.check_name = check_name
config.check_regexp = check_regexp
config.client = Octokit::Client.new(auto_paginate: true)
config.client.access_token = token unless token.empty?
config.client.api_endpoint = api_endpoint unless /\A[[:space:]]*\z/.match?(api_endpoint)
config.client.access_token = token
config.ref = ref
config.repo = ENV["GITHUB_REPOSITORY"]
config.verbose = verbose
Expand Down

0 comments on commit b2b6a3a

Please sign in to comment.