Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 116 additions & 0 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -248,3 +248,119 @@ jobs:
done <<< "$tests"

echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY

test-base-url:
name: 'Integration test: base-url option'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/install-dependencies

- id: base-url-default
name: API URL with base-url not set
uses: ./
with:
script: |
const endpoint = github.request.endpoint
return endpoint({}).url
result-encoding: string

- id: base-url-default-graphql
name: GraphQL URL with base-url not set
uses: ./
with:
script: |
const endpoint = github.request.endpoint
return endpoint({url: "/graphql"}).url
result-encoding: string

- id: base-url-set
name: API URL with base-url set
uses: ./
with:
base-url: https://my.github-enterprise-server.com/api/v3
script: |
const endpoint = github.request.endpoint
return endpoint({}).url
result-encoding: string

- id: base-url-set-graphql
name: GraphQL URL with base-url set
uses: ./
with:
base-url: https://my.github-enterprise-server.com/api/v3
script: |
const endpoint = github.request.endpoint
return endpoint({url: "/graphql"}).url
result-encoding: string

- id: base-url-env
name: base-url does not override API URL when not set
uses: ./
env:
GITHUB_API_URL: https://my.github-enterprise-server.com/api/v3
with:
script: |
const endpoint = github.request.endpoint
return endpoint({}).url
result-encoding: string

- id: base-url-env-graphql
name: base-url does not override GraphQL URL when not set
uses: ./
env:
GITHUB_API_URL: https://my.github-enterprise-server.com/api/v3
with:
script: |
const endpoint = github.request.endpoint
return endpoint({url: "/graphql"}).url
result-encoding: string

- run: |
echo "- Validating API URL default"
expected="https://api.github.com/"
actual="${{steps.base-url-default.outputs.result}}"
if [[ "$expected" != "$actual" ]]; then
echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
exit 1
fi

echo "- Validating GraphQL URL default"
expected="https://api.github.com/graphql"
actual="${{steps.base-url-default-graphql.outputs.result}}"
if [[ "$expected" != "$actual" ]]; then
echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
exit 1
fi

echo "- Validating base-url set to a value"
expected="https://my.github-enterprise-server.com/api/v3/"
actual="${{steps.base-url-set.outputs.result}}"
if [[ "$expected" != "$actual" ]]; then
echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
exit 1
fi

echo "- Validating GraphQL URL with base-url set to a value"
expected="https://my.github-enterprise-server.com/api/v3/graphql"
actual="${{steps.base-url-set-graphql.outputs.result}}"
if [[ "$expected" != "$actual" ]]; then
echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
exit 1
fi

echo "- Validating API URL with base-url not set respects GITHUB_API_URL"
expected="https://my.github-enterprise-server.com/api/v3/"
actual="${{steps.base-url-env.outputs.result}}"
if [[ "$expected" != "$actual" ]]; then
echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
exit 1
fi

echo "- Validating GraphQL URL with base-url not set respects GITHUB_API_URL"
expected="https://my.github-enterprise-server.com/api/v3/graphql"
actual="${{steps.base-url-env-graphql.outputs.result}}"
if [[ "$expected" != "$actual" ]]; then
echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
exit 1
fi
6 changes: 4 additions & 2 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -35509,9 +35509,11 @@ async function main() {
userAgent: userAgent || undefined,
previews: previews ? previews.split(',') : undefined,
retry: retryOpts,
request: requestOpts,
baseUrl: baseUrl || undefined
request: requestOpts
};
if (baseUrl) {
opts.baseUrl = baseUrl;
}
const github = (0,lib_github.getOctokit)(token, opts, plugin_retry_dist_node.retry, dist_node.requestLog);
const script = core.getInput('script', { required: true });
// Using property/value shorthand on `require` (e.g. `{require}`) causes compilation errors.
Expand Down
7 changes: 5 additions & 2 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,11 @@ async function main(): Promise<void> {
userAgent: userAgent || undefined,
previews: previews ? previews.split(',') : undefined,
retry: retryOpts,
request: requestOpts,
baseUrl: baseUrl || undefined
request: requestOpts
}

if (baseUrl) {
opts.baseUrl = baseUrl
}

const github = getOctokit(token, opts, retry, requestLog)
Expand Down