mirror of
https://github.com/actions/checkout.git
synced 2025-07-14 04:33:51 +00:00
Compare commits
12 Commits
releases/v
...
takost/tes
Author | SHA1 | Date | |
---|---|---|---|
2b8f79e013 | |||
d651e32721 | |||
8f0d2fbedc | |||
418530e26c | |||
0cf6e008d0 | |||
9a43814785 | |||
317b5f36ae | |||
efb66ddacf | |||
3e9f24a519 | |||
8ade135a41 | |||
c533a0a4cf | |||
72f2cec99f |
10
.github/workflows/test.yml
vendored
10
.github/workflows/test.yml
vendored
@ -72,6 +72,16 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: __test__/verify-side-by-side.sh
|
run: __test__/verify-side-by-side.sh
|
||||||
|
|
||||||
|
# Filter
|
||||||
|
- name: Fetch filter
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
filter: 'blob:none'
|
||||||
|
path: fetch-filter
|
||||||
|
|
||||||
|
- name: Verify fetch filter
|
||||||
|
run: __test__/verify-fetch-filter.sh
|
||||||
|
|
||||||
# Sparse checkout
|
# Sparse checkout
|
||||||
- name: Sparse checkout
|
- name: Sparse checkout
|
||||||
uses: ./
|
uses: ./
|
||||||
|
BIN
.licenses/npm/@actions/core.dep.yml
generated
BIN
.licenses/npm/@actions/core.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@actions/exec.dep.yml
generated
BIN
.licenses/npm/@actions/exec.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@actions/github.dep.yml
generated
BIN
.licenses/npm/@actions/github.dep.yml
generated
Binary file not shown.
Binary file not shown.
BIN
.licenses/npm/@actions/http-client-3.0.2.dep.yml
generated
Normal file
BIN
.licenses/npm/@actions/http-client-3.0.2.dep.yml
generated
Normal file
Binary file not shown.
BIN
.licenses/npm/@actions/tool-cache.dep.yml
generated
BIN
.licenses/npm/@actions/tool-cache.dep.yml
generated
Binary file not shown.
Binary file not shown.
BIN
.licenses/npm/@octokit/auth-token.dep.yml
generated
BIN
.licenses/npm/@octokit/auth-token.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/core.dep.yml
generated
BIN
.licenses/npm/@octokit/core.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/endpoint.dep.yml
generated
BIN
.licenses/npm/@octokit/endpoint.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/graphql.dep.yml
generated
BIN
.licenses/npm/@octokit/graphql.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/openapi-types.dep.yml
generated
BIN
.licenses/npm/@octokit/openapi-types.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/plugin-paginate-rest.dep.yml
generated
BIN
.licenses/npm/@octokit/plugin-paginate-rest.dep.yml
generated
Binary file not shown.
Binary file not shown.
BIN
.licenses/npm/@octokit/request-error.dep.yml
generated
BIN
.licenses/npm/@octokit/request-error.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/request.dep.yml
generated
BIN
.licenses/npm/@octokit/request.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/@octokit/tsconfig.dep.yml
generated
Normal file
BIN
.licenses/npm/@octokit/tsconfig.dep.yml
generated
Normal file
Binary file not shown.
Binary file not shown.
BIN
.licenses/npm/@octokit/types-9.3.2.dep.yml
generated
Normal file
BIN
.licenses/npm/@octokit/types-9.3.2.dep.yml
generated
Normal file
Binary file not shown.
BIN
.licenses/npm/call-bind.dep.yml
generated
BIN
.licenses/npm/call-bind.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/get-intrinsic.dep.yml
generated
BIN
.licenses/npm/get-intrinsic.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/has.dep.yml
generated
BIN
.licenses/npm/has.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/node-fetch.dep.yml
generated
BIN
.licenses/npm/node-fetch.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/object-inspect.dep.yml
generated
BIN
.licenses/npm/object-inspect.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/qs.dep.yml
generated
BIN
.licenses/npm/qs.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/side-channel.dep.yml
generated
BIN
.licenses/npm/side-channel.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/typed-rest-client.dep.yml
generated
BIN
.licenses/npm/typed-rest-client.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/underscore.dep.yml
generated
BIN
.licenses/npm/underscore.dep.yml
generated
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,8 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v4.1.0
|
||||||
|
- [Add support for partial checkout filters](https://github.com/actions/checkout/pull/1396)
|
||||||
|
|
||||||
## v4.0.0
|
## v4.0.0
|
||||||
- [Support fetching without the --progress option](https://github.com/actions/checkout/pull/1067)
|
- [Support fetching without the --progress option](https://github.com/actions/checkout/pull/1067)
|
||||||
- [Update to node20](https://github.com/actions/checkout/pull/1436)
|
- [Update to node20](https://github.com/actions/checkout/pull/1436)
|
||||||
|
11
README.md
11
README.md
@ -12,8 +12,9 @@ When Git 2.18 or higher is not in your PATH, falls back to the REST API to downl
|
|||||||
|
|
||||||
# What's new
|
# What's new
|
||||||
|
|
||||||
- Updated to the node20 runtime by default
|
- Updated default runtime to node20
|
||||||
- This requires a minimum [Actions Runner](https://github.com/actions/runner/releases/tag/v2.285.0) version of v2.308.0 to run, which is by default available in GHES 3.11 or later.
|
- This requires a minimum Actions Runner version of [v2.308.0](https://github.com/actions/runner/releases/tag/v2.308.0).
|
||||||
|
- Added support for fetching without the `--progress` option
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
|
|
||||||
@ -74,8 +75,12 @@ When Git 2.18 or higher is not in your PATH, falls back to the REST API to downl
|
|||||||
# Default: true
|
# Default: true
|
||||||
clean: ''
|
clean: ''
|
||||||
|
|
||||||
|
# Partially clone against a given filter. Overrides sparse-checkout if set.
|
||||||
|
# Default: null
|
||||||
|
filter: ''
|
||||||
|
|
||||||
# Do a sparse checkout on given patterns. Each pattern should be separated with
|
# Do a sparse checkout on given patterns. Each pattern should be separated with
|
||||||
# new lines
|
# new lines.
|
||||||
# Default: null
|
# Default: null
|
||||||
sparse-checkout: ''
|
sparse-checkout: ''
|
||||||
|
|
||||||
|
@ -169,8 +169,9 @@ describe('git-auth-helper tests', () => {
|
|||||||
|
|
||||||
// Mock fs.promises.readFile
|
// Mock fs.promises.readFile
|
||||||
const realReadFile = fs.promises.readFile
|
const realReadFile = fs.promises.readFile
|
||||||
jest.spyOn(fs.promises, 'readFile').mockImplementation(
|
jest
|
||||||
async (file: any, options: any): Promise<Buffer> => {
|
.spyOn(fs.promises, 'readFile')
|
||||||
|
.mockImplementation(async (file: any, options: any): Promise<Buffer> => {
|
||||||
const userKnownHostsPath = path.join(
|
const userKnownHostsPath = path.join(
|
||||||
os.homedir(),
|
os.homedir(),
|
||||||
'.ssh',
|
'.ssh',
|
||||||
@ -181,8 +182,7 @@ describe('git-auth-helper tests', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return await realReadFile(file, options)
|
return await realReadFile(file, options)
|
||||||
}
|
})
|
||||||
)
|
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
const authHelper = gitAuthHelper.createAuthHelper(git, settings)
|
const authHelper = gitAuthHelper.createAuthHelper(git, settings)
|
||||||
@ -802,6 +802,7 @@ async function setup(testName: string): Promise<void> {
|
|||||||
authToken: 'some auth token',
|
authToken: 'some auth token',
|
||||||
clean: true,
|
clean: true,
|
||||||
commit: '',
|
commit: '',
|
||||||
|
filter: undefined,
|
||||||
sparseCheckout: [],
|
sparseCheckout: [],
|
||||||
sparseCheckoutConeMode: true,
|
sparseCheckoutConeMode: true,
|
||||||
fetchDepth: 1,
|
fetchDepth: 1,
|
||||||
|
@ -79,6 +79,7 @@ describe('input-helper tests', () => {
|
|||||||
expect(settings.clean).toBe(true)
|
expect(settings.clean).toBe(true)
|
||||||
expect(settings.commit).toBeTruthy()
|
expect(settings.commit).toBeTruthy()
|
||||||
expect(settings.commit).toBe('1234567890123456789012345678901234567890')
|
expect(settings.commit).toBe('1234567890123456789012345678901234567890')
|
||||||
|
expect(settings.filter).toBe(undefined)
|
||||||
expect(settings.sparseCheckout).toBe(undefined)
|
expect(settings.sparseCheckout).toBe(undefined)
|
||||||
expect(settings.sparseCheckoutConeMode).toBe(true)
|
expect(settings.sparseCheckoutConeMode).toBe(true)
|
||||||
expect(settings.fetchDepth).toBe(1)
|
expect(settings.fetchDepth).toBe(1)
|
||||||
|
@ -7,11 +7,11 @@ let git: IGitCommandManager
|
|||||||
|
|
||||||
describe('ref-helper tests', () => {
|
describe('ref-helper tests', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
git = ({} as unknown) as IGitCommandManager
|
git = {} as unknown as IGitCommandManager
|
||||||
})
|
})
|
||||||
|
|
||||||
it('getCheckoutInfo requires git', async () => {
|
it('getCheckoutInfo requires git', async () => {
|
||||||
const git = (null as unknown) as IGitCommandManager
|
const git = null as unknown as IGitCommandManager
|
||||||
try {
|
try {
|
||||||
await refHelper.getCheckoutInfo(git, 'refs/heads/my/branch', commit)
|
await refHelper.getCheckoutInfo(git, 'refs/heads/my/branch', commit)
|
||||||
throw new Error('Should not reach here')
|
throw new Error('Should not reach here')
|
||||||
|
@ -68,7 +68,7 @@ describe('retry-helper tests', () => {
|
|||||||
|
|
||||||
it('all attempts fail succeeds', async () => {
|
it('all attempts fail succeeds', async () => {
|
||||||
let attempts = 0
|
let attempts = 0
|
||||||
let error: Error = (null as unknown) as Error
|
let error: Error = null as unknown as Error
|
||||||
try {
|
try {
|
||||||
await retryHelper.execute(() => {
|
await retryHelper.execute(() => {
|
||||||
throw new Error(`some error ${++attempts}`)
|
throw new Error(`some error ${++attempts}`)
|
||||||
|
16
__test__/verify-fetch-filter.sh
Executable file
16
__test__/verify-fetch-filter.sh
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Verify .git folder
|
||||||
|
if [ ! -d "./fetch-filter/.git" ]; then
|
||||||
|
echo "Expected ./fetch-filter/.git folder to exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Verify .git/config contains partialclonefilter
|
||||||
|
|
||||||
|
CLONE_FILTER=$(git -C fetch-filter config --local --get remote.origin.partialclonefilter)
|
||||||
|
|
||||||
|
if [ "$CLONE_FILTER" != "blob:none" ]; then
|
||||||
|
echo "Expected ./fetch-filter/.git/config to have 'remote.origin.partialclonefilter' set to 'blob:none'"
|
||||||
|
exit 1
|
||||||
|
fi
|
@ -53,10 +53,15 @@ inputs:
|
|||||||
clean:
|
clean:
|
||||||
description: 'Whether to execute `git clean -ffdx && git reset --hard HEAD` before fetching'
|
description: 'Whether to execute `git clean -ffdx && git reset --hard HEAD` before fetching'
|
||||||
default: true
|
default: true
|
||||||
|
filter:
|
||||||
|
description: >
|
||||||
|
Partially clone against a given filter.
|
||||||
|
Overrides sparse-checkout if set.
|
||||||
|
default: null
|
||||||
sparse-checkout:
|
sparse-checkout:
|
||||||
description: >
|
description: >
|
||||||
Do a sparse checkout on given patterns.
|
Do a sparse checkout on given patterns.
|
||||||
Each pattern should be separated with new lines
|
Each pattern should be separated with new lines.
|
||||||
default: null
|
default: null
|
||||||
sparse-checkout-cone-mode:
|
sparse-checkout-cone-mode:
|
||||||
description: >
|
description: >
|
||||||
|
BIN
actions-github-6.0.2.tgz
Normal file
BIN
actions-github-6.0.2.tgz
Normal file
Binary file not shown.
BIN
actions-http-client-3.0.3.tgz
Normal file
BIN
actions-http-client-3.0.3.tgz
Normal file
Binary file not shown.
30939
dist/index.js
vendored
30939
dist/index.js
vendored
File diff suppressed because one or more lines are too long
14815
package-lock.json
generated
14815
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
38
package.json
38
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "checkout",
|
"name": "checkout",
|
||||||
"version": "4.0.0",
|
"version": "4.1.0",
|
||||||
"description": "checkout action",
|
"description": "checkout action",
|
||||||
"main": "lib/main.js",
|
"main": "lib/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -28,28 +28,28 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/actions/checkout#readme",
|
"homepage": "https://github.com/actions/checkout#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.1",
|
||||||
"@actions/exec": "^1.0.1",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/github": "^5.0.0",
|
"@actions/github": "file:actions-github-6.0.2.tgz",
|
||||||
"@actions/io": "^1.1.3",
|
"@actions/io": "^1.1.3",
|
||||||
"@actions/tool-cache": "^1.1.2",
|
"@actions/tool-cache": "^2.0.1",
|
||||||
"uuid": "^3.3.3"
|
"uuid": "^3.3.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^27.0.2",
|
"@types/jest": "^29.5.5",
|
||||||
"@types/node": "^20.5.3",
|
"@types/node": "^20.8.2",
|
||||||
"@types/uuid": "^3.4.6",
|
"@types/uuid": "^3.4.6",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.45.0",
|
"@typescript-eslint/eslint-plugin": "^6.7.4",
|
||||||
"@typescript-eslint/parser": "^5.45.0",
|
"@typescript-eslint/parser": "^6.7.4",
|
||||||
"@vercel/ncc": "^0.36.1",
|
"@vercel/ncc": "^0.38.0",
|
||||||
"eslint": "^7.32.0",
|
"eslint": "^8.50.0",
|
||||||
"eslint-plugin-github": "^4.3.2",
|
"eslint-plugin-github": "^4.10.1",
|
||||||
"eslint-plugin-jest": "^25.7.0",
|
"eslint-plugin-jest": "^27.4.2",
|
||||||
"jest": "^27.3.0",
|
"jest": "^29.7.0",
|
||||||
"jest-circus": "^27.3.0",
|
"jest-circus": "^29.7.0",
|
||||||
"js-yaml": "^3.13.1",
|
"js-yaml": "^3.13.1",
|
||||||
"prettier": "^1.19.1",
|
"prettier": "^3.0.3",
|
||||||
"ts-jest": "^27.0.7",
|
"ts-jest": "^29.1.1",
|
||||||
"typescript": "^4.4.4"
|
"typescript": "^5.2.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,8 +18,9 @@ export function directoryExistsSync(path: string, required?: boolean): boolean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Encountered an error when checking whether path '${path}' exists: ${(error as any)
|
`Encountered an error when checking whether path '${path}' exists: ${
|
||||||
?.message ?? error}`
|
(error as any)?.message ?? error
|
||||||
|
}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,8 +46,9 @@ export function existsSync(path: string): boolean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Encountered an error when checking whether path '${path}' exists: ${(error as any)
|
`Encountered an error when checking whether path '${path}' exists: ${
|
||||||
?.message ?? error}`
|
(error as any)?.message ?? error
|
||||||
|
}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,8 +69,9 @@ export function fileExistsSync(path: string): boolean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Encountered an error when checking whether path '${path}' exists: ${(error as any)
|
`Encountered an error when checking whether path '${path}' exists: ${
|
||||||
?.message ?? error}`
|
(error as any)?.message ?? error
|
||||||
|
}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ class GitAuthHelper {
|
|||||||
gitSourceSettings: IGitSourceSettings | undefined
|
gitSourceSettings: IGitSourceSettings | undefined
|
||||||
) {
|
) {
|
||||||
this.git = gitCommandManager
|
this.git = gitCommandManager
|
||||||
this.settings = gitSourceSettings || (({} as unknown) as IGitSourceSettings)
|
this.settings = gitSourceSettings || ({} as unknown as IGitSourceSettings)
|
||||||
|
|
||||||
// Token auth header
|
// Token auth header
|
||||||
const serverUrl = urlHelper.getServerUrl(this.settings.githubServerUrl)
|
const serverUrl = urlHelper.getServerUrl(this.settings.githubServerUrl)
|
||||||
|
@ -159,7 +159,13 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
|
|||||||
fetchTags?: boolean
|
fetchTags?: boolean
|
||||||
showProgress?: boolean
|
showProgress?: boolean
|
||||||
} = {}
|
} = {}
|
||||||
if (settings.sparseCheckout) fetchOptions.filter = 'blob:none'
|
|
||||||
|
if (settings.filter) {
|
||||||
|
fetchOptions.filter = settings.filter
|
||||||
|
} else if (settings.sparseCheckout) {
|
||||||
|
fetchOptions.filter = 'blob:none'
|
||||||
|
}
|
||||||
|
|
||||||
if (settings.fetchDepth <= 0) {
|
if (settings.fetchDepth <= 0) {
|
||||||
// Fetch all branches and tags
|
// Fetch all branches and tags
|
||||||
let refSpec = refHelper.getRefSpecForAllHistory(
|
let refSpec = refHelper.getRefSpecForAllHistory(
|
||||||
|
@ -29,6 +29,11 @@ export interface IGitSourceSettings {
|
|||||||
*/
|
*/
|
||||||
clean: boolean
|
clean: boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The filter determining which objects to include
|
||||||
|
*/
|
||||||
|
filter: string | undefined
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The array of folders to make the sparse checkout
|
* The array of folders to make the sparse checkout
|
||||||
*/
|
*/
|
||||||
|
@ -6,7 +6,7 @@ import * as workflowContextHelper from './workflow-context-helper'
|
|||||||
import {IGitSourceSettings} from './git-source-settings'
|
import {IGitSourceSettings} from './git-source-settings'
|
||||||
|
|
||||||
export async function getInputs(): Promise<IGitSourceSettings> {
|
export async function getInputs(): Promise<IGitSourceSettings> {
|
||||||
const result = ({} as unknown) as IGitSourceSettings
|
const result = {} as unknown as IGitSourceSettings
|
||||||
|
|
||||||
// GitHub workspace
|
// GitHub workspace
|
||||||
let githubWorkspacePath = process.env['GITHUB_WORKSPACE']
|
let githubWorkspacePath = process.env['GITHUB_WORKSPACE']
|
||||||
@ -82,6 +82,14 @@ export async function getInputs(): Promise<IGitSourceSettings> {
|
|||||||
result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE'
|
result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE'
|
||||||
core.debug(`clean = ${result.clean}`)
|
core.debug(`clean = ${result.clean}`)
|
||||||
|
|
||||||
|
// Filter
|
||||||
|
const filter = core.getInput('filter')
|
||||||
|
if (filter) {
|
||||||
|
result.filter = filter
|
||||||
|
}
|
||||||
|
|
||||||
|
core.debug(`filter = ${result.filter}`)
|
||||||
|
|
||||||
// Sparse checkout
|
// Sparse checkout
|
||||||
const sparseCheckout = core.getMultilineInput('sparse-checkout')
|
const sparseCheckout = core.getMultilineInput('sparse-checkout')
|
||||||
if (sparseCheckout.length) {
|
if (sparseCheckout.length) {
|
||||||
@ -141,7 +149,8 @@ export async function getInputs(): Promise<IGitSourceSettings> {
|
|||||||
(core.getInput('persist-credentials') || 'false').toUpperCase() === 'TRUE'
|
(core.getInput('persist-credentials') || 'false').toUpperCase() === 'TRUE'
|
||||||
|
|
||||||
// Workflow organization ID
|
// Workflow organization ID
|
||||||
result.workflowOrganizationId = await workflowContextHelper.getOrganizationId()
|
result.workflowOrganizationId =
|
||||||
|
await workflowContextHelper.getOrganizationId()
|
||||||
|
|
||||||
// Set safe.directory in git global config.
|
// Set safe.directory in git global config.
|
||||||
result.setSafeDirectory =
|
result.setSafeDirectory =
|
||||||
|
@ -23,7 +23,7 @@ export async function getCheckoutInfo(
|
|||||||
throw new Error('Args ref and commit cannot both be empty')
|
throw new Error('Args ref and commit cannot both be empty')
|
||||||
}
|
}
|
||||||
|
|
||||||
const result = ({} as unknown) as ICheckoutInfo
|
const result = {} as unknown as ICheckoutInfo
|
||||||
const upperRef = (ref || '').toUpperCase()
|
const upperRef = (ref || '').toUpperCase()
|
||||||
|
|
||||||
// SHA only
|
// SHA only
|
||||||
|
@ -23,8 +23,9 @@ export async function getOrganizationId(): Promise<number | undefined> {
|
|||||||
return id as number
|
return id as number
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.debug(
|
core.debug(
|
||||||
`Unable to load organization ID from GITHUB_EVENT_PATH: ${(err as any)
|
`Unable to load organization ID from GITHUB_EVENT_PATH: ${
|
||||||
.message || err}`
|
(err as any).message || err
|
||||||
|
}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user