Skip to content

Commit

Permalink
move constants to retry-options
Browse files Browse the repository at this point in the history
  • Loading branch information
bethanyj28 committed Aug 23, 2023
1 parent 4b6a4d8 commit 06e7516
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 32 deletions.
14 changes: 3 additions & 11 deletions packages/artifact/src/internal/find/get-artifact.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,11 @@ import {GetArtifactResponse} from '../shared/interfaces'
import {getOctokit} from '@actions/github'
import {getUserAgentString} from '../shared/user-agent'
import {defaults as defaultGitHubOptions} from '@actions/github/lib/utils'
import {RetryOptions, getRetryOptions} from './retry-options'
import {RequestRequestOptions} from '@octokit/types'
import {getRetryOptions} from './retry-options'
import {requestLog} from '@octokit/plugin-request-log'
import {retry} from '@octokit/plugin-retry'
import * as core from '@actions/core'

type Options = {
log?: Console
userAgent?: string
previews?: string[]
retry?: RetryOptions
request?: RequestRequestOptions
}
import {OctokitOptions} from '@octokit/core/dist-types/types'

const maxRetryNumber = 5
const exemptStatusCodes = [400, 401, 403, 404, 422] // https://github.com/octokit/plugin-retry.js/blob/9a2443746c350b3beedec35cf26e197ea318a261/src/index.ts#L14
Expand All @@ -32,7 +24,7 @@ export async function getArtifact(
defaultGitHubOptions
)

const opts: Options = {
const opts: OctokitOptions = {
log: undefined,
userAgent: getUserAgentString(),
previews: undefined,
Expand Down
22 changes: 4 additions & 18 deletions packages/artifact/src/internal/find/list-artifacts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,16 @@ import {info, warning, debug} from '@actions/core'
import {getOctokit} from '@actions/github'
import {ListArtifactsResponse, Artifact} from '../shared/interfaces'
import {getUserAgentString} from '../shared/user-agent'
import {RetryOptions, getRetryOptions} from './retry-options'
import {getRetryOptions} from './retry-options'
import {defaults as defaultGitHubOptions} from '@actions/github/lib/utils'
import {requestLog} from '@octokit/plugin-request-log'
import {retry} from '@octokit/plugin-retry'
import {RequestRequestOptions} from '@octokit/types'

type Options = {
log?: Console
userAgent?: string
previews?: string[]
retry?: RetryOptions
request?: RequestRequestOptions
}
import {OctokitOptions} from '@octokit/core/dist-types/types'

// Limiting to 1000 for perf reasons
const maximumArtifactCount = 1000
const paginationCount = 100
const maxNumberOfPages = maximumArtifactCount / paginationCount
const maxRetryNumber = 5
const exemptStatusCodes = [400, 401, 403, 404, 422] // https://github.com/octokit/plugin-retry.js/blob/9a2443746c350b3beedec35cf26e197ea318a261/src/index.ts#L14

export async function listArtifacts(
workflowRunId: number,
Expand All @@ -34,13 +24,9 @@ export async function listArtifacts(
)

const artifacts: Artifact[] = []
const [retryOpts, requestOpts] = getRetryOptions(
maxRetryNumber,
exemptStatusCodes,
defaultGitHubOptions
)
const [retryOpts, requestOpts] = getRetryOptions(defaultGitHubOptions)

const opts: Options = {
const opts: OctokitOptions = {
log: undefined,
userAgent: getUserAgentString(),
previews: undefined,
Expand Down
10 changes: 7 additions & 3 deletions packages/artifact/src/internal/find/retry-options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,14 @@ export type RetryOptions = {
enabled?: boolean
}

// Defaults for fetching artifacts
const defaultMaxRetryNumber = 5
const defaultExemptStatusCodes = [400, 401, 403, 404, 422] // https://github.com/octokit/plugin-retry.js/blob/9a2443746c350b3beedec35cf26e197ea318a261/src/index.ts#L14

export function getRetryOptions(
retries: number,
exemptStatusCodes: number[],
defaultOptions: OctokitOptions
defaultOptions: OctokitOptions,
retries: number = defaultMaxRetryNumber,
exemptStatusCodes: number[] = defaultExemptStatusCodes
): [RetryOptions, RequestRequestOptions | undefined] {
if (retries <= 0) {
return [{enabled: false}, defaultOptions.request]
Expand Down

0 comments on commit 06e7516

Please sign in to comment.