mirror of
https://github.com/actions/checkout.git
synced 2026-01-05 18:32:21 +08:00
Compare commits
1 Commits
df03cbdd53
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b0793cc05 |
@@ -17,4 +17,4 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Publish
|
- name: Publish
|
||||||
id: publish
|
id: publish
|
||||||
uses: actions/publish-immutable-action@0.0.3
|
uses: actions/publish-immutable-action@v0.0.4
|
||||||
|
|||||||
2
.github/workflows/update-test-ubuntu-git.yml
vendored
2
.github/workflows/update-test-ubuntu-git.yml
vendored
@@ -48,7 +48,7 @@ jobs:
|
|||||||
|
|
||||||
# Use `docker/build-push-action` to build (and optionally publish) the image.
|
# Use `docker/build-push-action` to build (and optionally publish) the image.
|
||||||
- name: Build Docker Image (with optional Push)
|
- name: Build Docker Image (with optional Push)
|
||||||
uses: docker/build-push-action@v6.5.0
|
uses: docker/build-push-action@v6.10.0
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: images/test-ubuntu-git.Dockerfile
|
file: images/test-ubuntu-git.Dockerfile
|
||||||
|
|||||||
@@ -103,11 +103,6 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/
|
|||||||
# Default: true
|
# Default: true
|
||||||
show-progress: ''
|
show-progress: ''
|
||||||
|
|
||||||
# Path to a local bare git [reference repository to minimize network
|
|
||||||
# usage](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---reference-if-ableltrepositorygt).
|
|
||||||
# If the directory doesn't exists this option will ignore it and log a message.
|
|
||||||
reference: ''
|
|
||||||
|
|
||||||
# Whether to download Git-LFS files
|
# Whether to download Git-LFS files
|
||||||
# Default: false
|
# Default: false
|
||||||
lfs: ''
|
lfs: ''
|
||||||
|
|||||||
@@ -763,7 +763,6 @@ async function setup(testName: string): Promise<void> {
|
|||||||
lfsInstall: jest.fn(),
|
lfsInstall: jest.fn(),
|
||||||
log1: jest.fn(),
|
log1: jest.fn(),
|
||||||
remoteAdd: jest.fn(),
|
remoteAdd: jest.fn(),
|
||||||
referenceAdd: jest.fn(),
|
|
||||||
removeEnvironmentVariable: jest.fn((name: string) => delete git.env[name]),
|
removeEnvironmentVariable: jest.fn((name: string) => delete git.env[name]),
|
||||||
revParse: jest.fn(),
|
revParse: jest.fn(),
|
||||||
setEnvironmentVariable: jest.fn((name: string, value: string) => {
|
setEnvironmentVariable: jest.fn((name: string, value: string) => {
|
||||||
@@ -825,8 +824,7 @@ async function setup(testName: string): Promise<void> {
|
|||||||
sshUser: '',
|
sshUser: '',
|
||||||
workflowOrganizationId: 123456,
|
workflowOrganizationId: 123456,
|
||||||
setSafeDirectory: true,
|
setSafeDirectory: true,
|
||||||
githubServerUrl: githubServerUrl,
|
githubServerUrl: githubServerUrl
|
||||||
reference: '/some/path'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -478,7 +478,6 @@ async function setup(testName: string): Promise<void> {
|
|||||||
lfsInstall: jest.fn(),
|
lfsInstall: jest.fn(),
|
||||||
log1: jest.fn(),
|
log1: jest.fn(),
|
||||||
remoteAdd: jest.fn(),
|
remoteAdd: jest.fn(),
|
||||||
referenceAdd: jest.fn(),
|
|
||||||
removeEnvironmentVariable: jest.fn(),
|
removeEnvironmentVariable: jest.fn(),
|
||||||
revParse: jest.fn(),
|
revParse: jest.fn(),
|
||||||
setEnvironmentVariable: jest.fn(),
|
setEnvironmentVariable: jest.fn(),
|
||||||
|
|||||||
@@ -91,7 +91,6 @@ describe('input-helper tests', () => {
|
|||||||
expect(settings.repositoryOwner).toBe('some-owner')
|
expect(settings.repositoryOwner).toBe('some-owner')
|
||||||
expect(settings.repositoryPath).toBe(gitHubWorkspace)
|
expect(settings.repositoryPath).toBe(gitHubWorkspace)
|
||||||
expect(settings.setSafeDirectory).toBe(true)
|
expect(settings.setSafeDirectory).toBe(true)
|
||||||
expect(settings.reference).toBe(undefined)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('qualifies ref', async () => {
|
it('qualifies ref', async () => {
|
||||||
|
|||||||
@@ -80,12 +80,6 @@ inputs:
|
|||||||
show-progress:
|
show-progress:
|
||||||
description: 'Whether to show progress status output when fetching.'
|
description: 'Whether to show progress status output when fetching.'
|
||||||
default: true
|
default: true
|
||||||
reference:
|
|
||||||
required: false
|
|
||||||
description: >
|
|
||||||
Path to a local bare git [reference repository to minimize network usage](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---reference-if-ableltrepositorygt).
|
|
||||||
|
|
||||||
If the directory doesn't exists this option will ignore it and log a message.
|
|
||||||
lfs:
|
lfs:
|
||||||
description: 'Whether to download Git-LFS files'
|
description: 'Whether to download Git-LFS files'
|
||||||
default: false
|
default: false
|
||||||
|
|||||||
20
dist/index.js
vendored
20
dist/index.js
vendored
@@ -748,13 +748,6 @@ class GitCommandManager {
|
|||||||
yield this.execGit(['remote', 'add', remoteName, remoteUrl]);
|
yield this.execGit(['remote', 'add', remoteName, remoteUrl]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
referenceAdd(alternateObjects) {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
const alternatePath = path.join(this.workingDirectory, '.git/objects/info/alternates');
|
|
||||||
core.info(`Adding a git alternate to reference repo at ${alternateObjects}`);
|
|
||||||
yield fs.promises.writeFile(alternatePath, `${alternateObjects}\n`);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
removeEnvironmentVariable(name) {
|
removeEnvironmentVariable(name) {
|
||||||
delete this.gitEnv[name];
|
delete this.gitEnv[name];
|
||||||
}
|
}
|
||||||
@@ -1246,17 +1239,6 @@ function getSource(settings) {
|
|||||||
yield git.init();
|
yield git.init();
|
||||||
yield git.remoteAdd('origin', repositoryUrl);
|
yield git.remoteAdd('origin', repositoryUrl);
|
||||||
core.endGroup();
|
core.endGroup();
|
||||||
if (settings.reference !== undefined) {
|
|
||||||
const alternateObjects = path.join(settings.reference, '/objects');
|
|
||||||
if (fsHelper.directoryExistsSync(alternateObjects, false)) {
|
|
||||||
core.startGroup('Adding a reference repository');
|
|
||||||
yield git.referenceAdd(alternateObjects);
|
|
||||||
core.endGroup();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
core.warning(`Reference repository was specified, but directory ${alternateObjects} does not exists`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Disable automatic garbage collection
|
// Disable automatic garbage collection
|
||||||
core.startGroup('Disabling automatic garbage collection');
|
core.startGroup('Disabling automatic garbage collection');
|
||||||
@@ -1849,8 +1831,6 @@ function getInputs() {
|
|||||||
// Determine the GitHub URL that the repository is being hosted from
|
// Determine the GitHub URL that the repository is being hosted from
|
||||||
result.githubServerUrl = core.getInput('github-server-url');
|
result.githubServerUrl = core.getInput('github-server-url');
|
||||||
core.debug(`GitHub Host URL = ${result.githubServerUrl}`);
|
core.debug(`GitHub Host URL = ${result.githubServerUrl}`);
|
||||||
result.reference = core.getInput('reference');
|
|
||||||
core.debug(`Reference repository = ${result.reference}`);
|
|
||||||
return result;
|
return result;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ export interface IGitCommandManager {
|
|||||||
lfsInstall(): Promise<void>
|
lfsInstall(): Promise<void>
|
||||||
log1(format?: string): Promise<string>
|
log1(format?: string): Promise<string>
|
||||||
remoteAdd(remoteName: string, remoteUrl: string): Promise<void>
|
remoteAdd(remoteName: string, remoteUrl: string): Promise<void>
|
||||||
referenceAdd(reference: string): Promise<void>
|
|
||||||
removeEnvironmentVariable(name: string): void
|
removeEnvironmentVariable(name: string): void
|
||||||
revParse(ref: string): Promise<string>
|
revParse(ref: string): Promise<string>
|
||||||
setEnvironmentVariable(name: string, value: string): void
|
setEnvironmentVariable(name: string, value: string): void
|
||||||
@@ -365,15 +364,6 @@ class GitCommandManager {
|
|||||||
await this.execGit(['remote', 'add', remoteName, remoteUrl])
|
await this.execGit(['remote', 'add', remoteName, remoteUrl])
|
||||||
}
|
}
|
||||||
|
|
||||||
async referenceAdd(alternateObjects: string): Promise<void> {
|
|
||||||
const alternatePath = path.join(
|
|
||||||
this.workingDirectory,
|
|
||||||
'.git/objects/info/alternates'
|
|
||||||
)
|
|
||||||
core.info(`Adding a git alternate to reference repo at ${alternateObjects}`)
|
|
||||||
await fs.promises.writeFile(alternatePath, `${alternateObjects}\n`)
|
|
||||||
}
|
|
||||||
|
|
||||||
removeEnvironmentVariable(name: string): void {
|
removeEnvironmentVariable(name: string): void {
|
||||||
delete this.gitEnv[name]
|
delete this.gitEnv[name]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,18 +113,6 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
|
|||||||
await git.init()
|
await git.init()
|
||||||
await git.remoteAdd('origin', repositoryUrl)
|
await git.remoteAdd('origin', repositoryUrl)
|
||||||
core.endGroup()
|
core.endGroup()
|
||||||
|
|
||||||
if (settings.reference !== undefined) {
|
|
||||||
const alternateObjects = path.join(settings.reference, '/objects')
|
|
||||||
|
|
||||||
if (fsHelper.directoryExistsSync(alternateObjects, false)) {
|
|
||||||
core.startGroup('Adding a reference repository')
|
|
||||||
await git.referenceAdd(alternateObjects)
|
|
||||||
core.endGroup()
|
|
||||||
} else {
|
|
||||||
core.warning(`Reference repository was specified, but directory ${alternateObjects} does not exists`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disable automatic garbage collection
|
// Disable automatic garbage collection
|
||||||
|
|||||||
@@ -49,11 +49,6 @@ export interface IGitSourceSettings {
|
|||||||
*/
|
*/
|
||||||
fetchDepth: number
|
fetchDepth: number
|
||||||
|
|
||||||
/**
|
|
||||||
* The local reference repository
|
|
||||||
*/
|
|
||||||
reference: string | undefined
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch tags, even if fetchDepth > 0 (default: false)
|
* Fetch tags, even if fetchDepth > 0 (default: false)
|
||||||
*/
|
*/
|
||||||
@@ -64,11 +59,6 @@ export interface IGitSourceSettings {
|
|||||||
*/
|
*/
|
||||||
showProgress: boolean
|
showProgress: boolean
|
||||||
|
|
||||||
/**
|
|
||||||
* The local reference repository
|
|
||||||
*/
|
|
||||||
reference: string | undefined
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates whether to fetch LFS objects
|
* Indicates whether to fetch LFS objects
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -161,8 +161,5 @@ export async function getInputs(): Promise<IGitSourceSettings> {
|
|||||||
result.githubServerUrl = core.getInput('github-server-url')
|
result.githubServerUrl = core.getInput('github-server-url')
|
||||||
core.debug(`GitHub Host URL = ${result.githubServerUrl}`)
|
core.debug(`GitHub Host URL = ${result.githubServerUrl}`)
|
||||||
|
|
||||||
result.reference = core.getInput('reference')
|
|
||||||
core.debug(`Reference repository = ${result.reference}`)
|
|
||||||
|
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user