Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
652648acb4 | ||
|
|
8a36220d04 | ||
|
|
04de9221b6 | ||
|
|
9ad1a5b96a | ||
|
|
88fb02bd31 |
28
HISTORY.md
28
HISTORY.md
@@ -1,5 +1,33 @@
|
||||
# Changelog
|
||||
|
||||
# [36.0.5](https://github.com/tj-actions/changed-files/compare/v36.0.4...v36.0.5) - (2023-05-26)
|
||||
|
||||
## <!-- 1 -->🐛 Bug Fixes
|
||||
|
||||
- Error detecting initial commits ([#1181](https://github.com/tj-actions/changed-files/issues/1181)) ([9ad1a5b](https://github.com/tj-actions/changed-files/commit/9ad1a5b96ab3e56cd2bb25ff90c6271e4e70eb71)) - (Tonye Jack)
|
||||
|
||||
## <!-- 9 -->⬆️ Upgrades
|
||||
|
||||
- Upgraded to v36.0.4 ([#1180](https://github.com/tj-actions/changed-files/issues/1180))
|
||||
|
||||
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([88fb02b](https://github.com/tj-actions/changed-files/commit/88fb02bd31e70f28785e86cc76437eff17f48e18)) - (tj-actions[bot])
|
||||
|
||||
# [36.0.4](https://github.com/tj-actions/changed-files/compare/v36.0.3...v36.0.4) - (2023-05-26)
|
||||
|
||||
## <!-- 1 -->🐛 Bug Fixes
|
||||
|
||||
- Bug not using the path for source file inputs ([#1179](https://github.com/tj-actions/changed-files/issues/1179)) ([c798a4e](https://github.com/tj-actions/changed-files/commit/c798a4ea57f0e0a9d2b5374853c9c479ebb435a2)) - (Tonye Jack)
|
||||
|
||||
## <!-- 7 -->⚙️ Miscellaneous Tasks
|
||||
|
||||
- **deps:** Lock file maintenance ([#1178](https://github.com/tj-actions/changed-files/issues/1178)) ([e82d391](https://github.com/tj-actions/changed-files/commit/e82d3911ce25632baf10067a87543332d022f6f3)) - (renovate[bot])
|
||||
|
||||
## <!-- 9 -->⬆️ Upgrades
|
||||
|
||||
- Upgraded to v36.0.3 ([#1177](https://github.com/tj-actions/changed-files/issues/1177))
|
||||
|
||||
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([de2b6e4](https://github.com/tj-actions/changed-files/commit/de2b6e43f70bc5ad965dd5e8db9d437c1496b8e0)) - (tj-actions[bot])
|
||||
|
||||
# [36.0.3](https://github.com/tj-actions/changed-files/compare/v36.0.2...v36.0.3) - (2023-05-26)
|
||||
|
||||
## <!-- 1 -->🐛 Bug Fixes
|
||||
|
||||
@@ -45,7 +45,7 @@ Retrieve all changed files and directories relative to a target branch, preceedi
|
||||
* Supports Git submodules.
|
||||
* Escaped JSON output which can be used to run matrix jobs based on changed files.
|
||||
* List changed directories.
|
||||
* Restrict the max depth of changed directories.
|
||||
* Restrict the max depth of matching changed directories.
|
||||
* Write outputs to a `.txt` or `.json` file at a specified location for further processing.
|
||||
* Monorepos (Fetches a fixed number of commits).
|
||||
* Supports all platforms (Linux, MacOS, Windows).
|
||||
|
||||
33
dist/index.js
generated
vendored
33
dist/index.js
generated
vendored
@@ -120,6 +120,7 @@ const getDiffFiles = ({ inputs, workingDirectory, hasSubmodule, diffResult, diff
|
||||
dirNamesMaxDepth: inputs.dirNamesMaxDepth,
|
||||
excludeRoot: inputs.dirNamesExcludeRoot
|
||||
}));
|
||||
files = [...new Set(files)];
|
||||
}
|
||||
if (inputs.json) {
|
||||
return (0, utils_1.jsonOutput)({ value: files, shouldEscape: inputs.escapeJson });
|
||||
@@ -315,23 +316,15 @@ const getSHAForPushEvent = (inputs, env, workingDirectory, isShallow, hasSubmodu
|
||||
cwd: workingDirectory
|
||||
});
|
||||
}
|
||||
if (previousSha === currentSha) {
|
||||
if (!(yield (0, utils_1.getParentSha)({ cwd: workingDirectory }))) {
|
||||
if (!previousSha || previousSha === currentSha) {
|
||||
previousSha = yield (0, utils_1.getParentSha)({
|
||||
cwd: workingDirectory
|
||||
});
|
||||
if (!previousSha) {
|
||||
core.warning('Initial commit detected no previous commit found.');
|
||||
initialCommit = true;
|
||||
previousSha = currentSha;
|
||||
}
|
||||
else {
|
||||
previousSha = yield (0, utils_1.getParentSha)({
|
||||
cwd: workingDirectory
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!previousSha) {
|
||||
core.error('Unable to locate a previous commit.');
|
||||
throw new Error('Unable to locate a previous commit.');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -349,7 +342,8 @@ const getSHAForPushEvent = (inputs, env, workingDirectory, isShallow, hasSubmodu
|
||||
currentSha,
|
||||
currentBranch,
|
||||
targetBranch,
|
||||
diff
|
||||
diff,
|
||||
initialCommit
|
||||
};
|
||||
});
|
||||
exports.getSHAForPushEvent = getSHAForPushEvent;
|
||||
@@ -824,6 +818,11 @@ function run() {
|
||||
core.info('Running on a pull request event...');
|
||||
diffResult = yield (0, commitSha_1.getSHAForPullRequestEvent)(inputs, env, workingDirectory, isShallow, hasSubmodule, gitExtraArgs);
|
||||
}
|
||||
if (diffResult.initialCommit) {
|
||||
core.info('This is the first commit for this repository; exiting...');
|
||||
core.endGroup();
|
||||
return;
|
||||
}
|
||||
core.info(`Retrieving changes between ${diffResult.previousSha} (${diffResult.targetBranch}) → ${diffResult.currentSha} (${diffResult.currentBranch})`);
|
||||
const filePatterns = yield (0, utils_1.getFilePatterns)({
|
||||
inputs,
|
||||
@@ -1531,10 +1530,14 @@ const gitLsRemote = ({ cwd, args }) => __awaiter(void 0, void 0, void 0, functio
|
||||
});
|
||||
exports.gitLsRemote = gitLsRemote;
|
||||
const getParentSha = ({ cwd }) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
const { stdout } = yield exec.getExecOutput('git', ['rev-list', '-n', '1', 'HEAD^'], {
|
||||
const { stdout, exitCode } = yield exec.getExecOutput('git', ['rev-list', '-n', '1', 'HEAD^'], {
|
||||
cwd,
|
||||
ignoreReturnCode: true,
|
||||
silent: process.env.RUNNER_DEBUG !== '1'
|
||||
});
|
||||
if (exitCode !== 0) {
|
||||
return '';
|
||||
}
|
||||
return stdout.trim();
|
||||
});
|
||||
exports.getParentSha = getParentSha;
|
||||
|
||||
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@@ -133,6 +133,7 @@ export const getDiffFiles = async ({
|
||||
excludeRoot: inputs.dirNamesExcludeRoot
|
||||
})
|
||||
)
|
||||
files = [...new Set(files)]
|
||||
}
|
||||
|
||||
if (inputs.json) {
|
||||
|
||||
@@ -63,6 +63,7 @@ export interface DiffResult {
|
||||
currentBranch: string
|
||||
targetBranch: string
|
||||
diff: string
|
||||
initialCommit?: boolean
|
||||
}
|
||||
|
||||
export const getSHAForPushEvent = async (
|
||||
@@ -201,20 +202,15 @@ export const getSHAForPushEvent = async (
|
||||
})
|
||||
}
|
||||
|
||||
if (previousSha === currentSha) {
|
||||
if (!(await getParentSha({cwd: workingDirectory}))) {
|
||||
if (!previousSha || previousSha === currentSha) {
|
||||
previousSha = await getParentSha({
|
||||
cwd: workingDirectory
|
||||
})
|
||||
|
||||
if (!previousSha) {
|
||||
core.warning('Initial commit detected no previous commit found.')
|
||||
initialCommit = true
|
||||
previousSha = currentSha
|
||||
} else {
|
||||
previousSha = await getParentSha({
|
||||
cwd: workingDirectory
|
||||
})
|
||||
}
|
||||
} else {
|
||||
if (!previousSha) {
|
||||
core.error('Unable to locate a previous commit.')
|
||||
throw new Error('Unable to locate a previous commit.')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -241,7 +237,8 @@ export const getSHAForPushEvent = async (
|
||||
currentSha,
|
||||
currentBranch,
|
||||
targetBranch,
|
||||
diff
|
||||
diff,
|
||||
initialCommit
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -89,6 +89,12 @@ export async function run(): Promise<void> {
|
||||
)
|
||||
}
|
||||
|
||||
if (diffResult.initialCommit) {
|
||||
core.info('This is the first commit for this repository; exiting...')
|
||||
core.endGroup()
|
||||
return
|
||||
}
|
||||
|
||||
core.info(
|
||||
`Retrieving changes between ${diffResult.previousSha} (${diffResult.targetBranch}) → ${diffResult.currentSha} (${diffResult.currentBranch})`
|
||||
)
|
||||
|
||||
@@ -526,15 +526,20 @@ export const gitLsRemote = async ({
|
||||
}
|
||||
|
||||
export const getParentSha = async ({cwd}: {cwd: string}): Promise<string> => {
|
||||
const {stdout} = await exec.getExecOutput(
|
||||
const {stdout, exitCode} = await exec.getExecOutput(
|
||||
'git',
|
||||
['rev-list', '-n', '1', 'HEAD^'],
|
||||
{
|
||||
cwd,
|
||||
ignoreReturnCode: true,
|
||||
silent: process.env.RUNNER_DEBUG !== '1'
|
||||
}
|
||||
)
|
||||
|
||||
if (exitCode !== 0) {
|
||||
return ''
|
||||
}
|
||||
|
||||
return stdout.trim()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user