mirror of
http://gitea.com/actions/checkout
synced 2024-11-30 21:22:26 +08:00
Compare commits
5 Commits
43045ae669
...
8459bc0c7e
Author | SHA1 | Date | |
---|---|---|---|
|
8459bc0c7e | ||
|
3f603f6d5e | ||
|
fd084cde18 | ||
|
9c1e94e0ad | ||
|
0ad4b8fada |
4
.github/workflows/check-dist.yml
vendored
4
.github/workflows/check-dist.yml
vendored
@ -25,7 +25,7 @@ jobs:
|
|||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Set Node.js 20.x
|
- name: Set Node.js 20.x
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 20.x
|
node-version: 20.x
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# If dist/ was different than expected, upload the expected version as an artifact
|
# If dist/ was different than expected, upload the expected version as an artifact
|
||||||
- uses: actions/upload-artifact@v2
|
- uses: actions/upload-artifact@v4
|
||||||
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
|
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
|
||||||
with:
|
with:
|
||||||
name: dist
|
name: dist
|
||||||
|
4
.github/workflows/codeql-analysis.yml
vendored
4
.github/workflows/codeql-analysis.yml
vendored
@ -42,7 +42,7 @@ jobs:
|
|||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v2
|
uses: github/codeql-action/init@v3
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
@ -55,4 +55,4 @@ jobs:
|
|||||||
- run: rm -rf dist # We want code scanning to analyze lib instead (individual .js files)
|
- run: rm -rf dist # We want code scanning to analyze lib instead (individual .js files)
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v2
|
uses: github/codeql-action/analyze@v3
|
||||||
|
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 20.x
|
node-version: 20.x
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
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.
BIN
.licenses/npm/@actions/http-client.dep.yml
generated
BIN
.licenses/npm/@actions/http-client.dep.yml
generated
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.
Binary file not shown.
BIN
.licenses/npm/@octokit/openapi-types-22.1.0.dep.yml
generated
Normal file
BIN
.licenses/npm/@octokit/openapi-types-22.1.0.dep.yml
generated
Normal file
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.
Binary file not shown.
BIN
.licenses/npm/@octokit/types-13.4.1.dep.yml
generated
Normal file
BIN
.licenses/npm/@octokit/types-13.4.1.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/is-plain-object.dep.yml
generated
BIN
.licenses/npm/is-plain-object.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/semver.dep.yml
generated
BIN
.licenses/npm/semver.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/tr46.dep.yml
generated
BIN
.licenses/npm/tr46.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.
BIN
.licenses/npm/universal-user-agent.dep.yml
generated
BIN
.licenses/npm/universal-user-agent.dep.yml
generated
Binary file not shown.
Binary file not shown.
BIN
.licenses/npm/uuid-9.0.1.dep.yml
generated
Normal file
BIN
.licenses/npm/uuid-9.0.1.dep.yml
generated
Normal file
Binary file not shown.
BIN
.licenses/npm/webidl-conversions.dep.yml
generated
BIN
.licenses/npm/webidl-conversions.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/whatwg-url.dep.yml
generated
BIN
.licenses/npm/whatwg-url.dep.yml
generated
Binary file not shown.
11
CHANGELOG.md
11
CHANGELOG.md
@ -1,5 +1,16 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v4.1.4
|
||||||
|
- Disable `extensions.worktreeConfig` when disabling `sparse-checkout` by @jww3 in https://github.com/actions/checkout/pull/1692
|
||||||
|
- Add dependabot config by @cory-miller in https://github.com/actions/checkout/pull/1688
|
||||||
|
- Bump the minor-actions-dependencies group with 2 updates by @dependabot in https://github.com/actions/checkout/pull/1693
|
||||||
|
- Bump word-wrap from 1.2.3 to 1.2.5 by @dependabot in https://github.com/actions/checkout/pull/1643
|
||||||
|
|
||||||
|
## v4.1.3
|
||||||
|
- Check git version before attempting to disable `sparse-checkout` by @jww3 in https://github.com/actions/checkout/pull/1656
|
||||||
|
- Add SSH user parameter by @cory-miller in https://github.com/actions/checkout/pull/1685
|
||||||
|
- Update `actions/checkout` version in `update-main-version.yml` by @jww3 in https://github.com/actions/checkout/pull/1650
|
||||||
|
|
||||||
## v4.1.2
|
## v4.1.2
|
||||||
- Fix: Disable sparse checkout whenever `sparse-checkout` option is not present @dscho in https://github.com/actions/checkout/pull/1598
|
- Fix: Disable sparse checkout whenever `sparse-checkout` option is not present @dscho in https://github.com/actions/checkout/pull/1598
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
@ -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}`)
|
||||||
|
39183
dist/index.js
vendored
39183
dist/index.js
vendored
File diff suppressed because one or more lines are too long
@ -1,5 +1,6 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
clearMocks: true,
|
clearMocks: true,
|
||||||
|
fakeTimers: {},
|
||||||
moduleFileExtensions: ['js', 'ts'],
|
moduleFileExtensions: ['js', 'ts'],
|
||||||
testEnvironment: 'node',
|
testEnvironment: 'node',
|
||||||
testMatch: ['**/*.test.ts'],
|
testMatch: ['**/*.test.ts'],
|
||||||
|
15962
package-lock.json
generated
15962
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
42
package.json
42
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "checkout",
|
"name": "checkout",
|
||||||
"version": "4.1.3",
|
"version": "4.1.4",
|
||||||
"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": "^6.0.0",
|
||||||
"@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": "^9.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^27.0.2",
|
"@types/jest": "^29.5.12",
|
||||||
"@types/node": "^20.5.3",
|
"@types/node": "^20.12.7",
|
||||||
"@types/uuid": "^3.4.6",
|
"@types/uuid": "^9.0.8",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.45.0",
|
"@typescript-eslint/eslint-plugin": "^7.7.1",
|
||||||
"@typescript-eslint/parser": "^5.45.0",
|
"@typescript-eslint/parser": "^7.7.1",
|
||||||
"@vercel/ncc": "^0.36.1",
|
"@vercel/ncc": "^0.38.1",
|
||||||
"eslint": "^7.32.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-plugin-github": "^4.3.2",
|
"eslint-plugin-github": "^4.10.2",
|
||||||
"eslint-plugin-jest": "^25.7.0",
|
"eslint-plugin-jest": "^28.2.0",
|
||||||
"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": "^4.1.0",
|
||||||
"prettier": "^1.19.1",
|
"prettier": "^3.2.5",
|
||||||
"ts-jest": "^27.0.7",
|
"ts-jest": "^29.1.2",
|
||||||
"typescript": "^4.4.4"
|
"typescript": "^5.4.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ import * as path from 'path'
|
|||||||
import * as regexpHelper from './regexp-helper'
|
import * as regexpHelper from './regexp-helper'
|
||||||
import * as stateHelper from './state-helper'
|
import * as stateHelper from './state-helper'
|
||||||
import * as urlHelper from './url-helper'
|
import * as urlHelper from './url-helper'
|
||||||
import {default as uuid} from 'uuid/v4'
|
import {v4 as uuid} from 'uuid'
|
||||||
import {IGitCommandManager} from './git-command-manager'
|
import {IGitCommandManager} from './git-command-manager'
|
||||||
import {IGitSourceSettings} from './git-source-settings'
|
import {IGitSourceSettings} from './git-source-settings'
|
||||||
|
|
||||||
@ -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)
|
||||||
|
@ -6,7 +6,7 @@ import * as io from '@actions/io'
|
|||||||
import * as path from 'path'
|
import * as path from 'path'
|
||||||
import * as retryHelper from './retry-helper'
|
import * as retryHelper from './retry-helper'
|
||||||
import * as toolCache from '@actions/tool-cache'
|
import * as toolCache from '@actions/tool-cache'
|
||||||
import {default as uuid} from 'uuid/v4'
|
import {v4 as uuid} from 'uuid'
|
||||||
import {getServerApiUrl} from './url-helper'
|
import {getServerApiUrl} from './url-helper'
|
||||||
|
|
||||||
const IS_WINDOWS = process.platform === 'win32'
|
const IS_WINDOWS = process.platform === 'win32'
|
||||||
|
@ -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']
|
||||||
@ -150,7 +150,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 =
|
||||||
|
@ -20,7 +20,7 @@ function updateUsage(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Load the action.yml
|
// Load the action.yml
|
||||||
const actionYaml = yaml.safeLoad(fs.readFileSync(actionYamlPath).toString())
|
const actionYaml = yaml.load(fs.readFileSync(actionYamlPath).toString())
|
||||||
|
|
||||||
// Load the README
|
// Load the README
|
||||||
const originalReadme = fs.readFileSync(readmePath).toString()
|
const originalReadme = fs.readFileSync(readmePath).toString()
|
||||||
|
@ -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
|
||||||
|
}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user