Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87e23c4c79 | ||
|
|
2f49eb9ee1 | ||
|
|
00b3d3d9e7 | ||
|
|
19193bdb26 | ||
|
|
d12b5fc2ab | ||
|
|
338f354106 | ||
|
|
626a6b7213 | ||
|
|
090f90127a | ||
|
|
598640f3be | ||
|
|
7ee3290f25 | ||
|
|
e9eccdd473 | ||
|
|
6dc8c796c9 | ||
|
|
d1028b2eb8 | ||
|
|
0e24cebad0 | ||
|
|
d8f8ad9a74 | ||
|
|
47a703e935 | ||
|
|
742b6417b4 | ||
|
|
af9376f801 | ||
|
|
adaff22ded | ||
|
|
2cd4de3431 | ||
|
|
b199521773 | ||
|
|
aecc5ebeee | ||
|
|
630aa37bbd | ||
|
|
c060576a37 |
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"plugins": [
|
||||
"jest",
|
||||
"@typescript-eslint"
|
||||
"@typescript-eslint",
|
||||
"github"
|
||||
],
|
||||
"extends": [
|
||||
"plugin:github/recommended"
|
||||
|
||||
10
.github/dependabot.yml
vendored
10
.github/dependabot.yml
vendored
@@ -1,7 +1,17 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 10
|
||||
versioning-strategy: widen
|
||||
labels:
|
||||
- "merge when passing"
|
||||
- package-ecosystem: github-actions
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 10
|
||||
labels:
|
||||
- "merge when passing"
|
||||
|
||||
26
.github/workflows/auto-merge.yml
vendored
26
.github/workflows/auto-merge.yml
vendored
@@ -1,26 +0,0 @@
|
||||
name: automerge
|
||||
on:
|
||||
check_suite:
|
||||
types:
|
||||
- completed
|
||||
|
||||
jobs:
|
||||
automerge:
|
||||
runs-on: ubuntu-latest
|
||||
if: |
|
||||
github.actor == 'dependabot[bot]' ||
|
||||
github.actor == 'dependabot' ||
|
||||
github.actor == 'dependabot-preview[bot]' ||
|
||||
github.actor == 'dependabot-preview' ||
|
||||
github.actor == 'renovate[bot]' ||
|
||||
github.actor == 'renovate'
|
||||
steps:
|
||||
- name: automerge
|
||||
uses: pascalgn/automerge-action@v0.15.6
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
|
||||
MERGE_METHOD: "rebase"
|
||||
UPDATE_METHOD: "rebase"
|
||||
MERGE_RETRIES: "6"
|
||||
MERGE_RETRY_SLEEP: "100000"
|
||||
MERGE_LABELS: ""
|
||||
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@@ -51,7 +51,7 @@ jobs:
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
|
||||
- name: Use Node.js 16.x
|
||||
uses: actions/setup-node@v3.6.0
|
||||
uses: actions/setup-node@v3.7.0
|
||||
with:
|
||||
cache: 'yarn'
|
||||
node-version: '16.x'
|
||||
|
||||
25
HISTORY.md
25
HISTORY.md
@@ -1,5 +1,30 @@
|
||||
# Changelog
|
||||
|
||||
# [37.0.5](https://github.com/tj-actions/changed-files/compare/v37.0.4...v37.0.5) - (2023-06-29)
|
||||
|
||||
## <!-- 26 -->🔄 Update
|
||||
|
||||
- Update README.md ([034e423](https://github.com/tj-actions/changed-files/commit/034e423c9c8101a65e1da676ac29a3423ff442f7)) - (Tonye Jack)
|
||||
- Updated README.md ([#1329](https://github.com/tj-actions/changed-files/issues/1329))
|
||||
|
||||
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([89c3181](https://github.com/tj-actions/changed-files/commit/89c31817b274e258fb873b539a68e467a4a385b0)) - (tj-actions[bot])
|
||||
- Update README.md ([e42f43b](https://github.com/tj-actions/changed-files/commit/e42f43b67b2ca0d726dec681aa34e4b875ddd284)) - (Tonye Jack)
|
||||
- Update README.md ([fe20777](https://github.com/tj-actions/changed-files/commit/fe20777b56dffa2faca8f02f32ba42ae644b5a7b)) - (Tonye Jack)
|
||||
- Update README.md ([89890d6](https://github.com/tj-actions/changed-files/commit/89890d6f77a064cdbf5c475517dca8d39228f154)) - (Tonye Jack)
|
||||
|
||||
## <!-- 7 -->⚙️ Miscellaneous Tasks
|
||||
|
||||
- **deps:** Lock file maintenance ([#1330](https://github.com/tj-actions/changed-files/issues/1330)) ([54849de](https://github.com/tj-actions/changed-files/commit/54849deb963ca9f24185fb5de2965e002d066e6b)) - (renovate[bot])
|
||||
- Update README.md ([6fdb8b5](https://github.com/tj-actions/changed-files/commit/6fdb8b53b33f2cf5a6a6969836ebfd774e05ff87)) - (Tonye Jack)
|
||||
- **deps:** Update dependency typescript to v5.1.6 ([#1328](https://github.com/tj-actions/changed-files/issues/1328)) ([3323f78](https://github.com/tj-actions/changed-files/commit/3323f78bb45033e3f3bb7d9cbc125d3f0833c243)) - (renovate[bot])
|
||||
- **deps:** Update dependency typescript to v5.1.5 ([#1324](https://github.com/tj-actions/changed-files/issues/1324)) ([927a8c5](https://github.com/tj-actions/changed-files/commit/927a8c5ba3f01280932398e5ce47d64bada31e32)) - (renovate[bot])
|
||||
|
||||
## <!-- 9 -->⬆️ Upgrades
|
||||
|
||||
- Upgraded to v37.0.4 ([#1323](https://github.com/tj-actions/changed-files/issues/1323))
|
||||
|
||||
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([5e7542f](https://github.com/tj-actions/changed-files/commit/5e7542fc4bfffb67ec6f613fb57d17364b602f57)) - (tj-actions[bot])
|
||||
|
||||
# [37.0.4](https://github.com/tj-actions/changed-files/compare/v37.0.3...v37.0.4) - (2023-06-27)
|
||||
|
||||
## <!-- 1 -->🐛 Bug Fixes
|
||||
|
||||
15
README.md
15
README.md
@@ -19,7 +19,7 @@
|
||||
|
||||
## changed-files
|
||||
|
||||
Effortlessly track all changed files and directories relative to a target branch, preceding commit or the last remote commit returning **relative paths** from the project root.
|
||||
Github action used to effortlessly track all changed files and directories relative to a target branch, preceding commit or the last remote commit returning **relative paths** from the project root.
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -121,11 +121,11 @@ jobs:
|
||||
echo "$file was changed"
|
||||
done
|
||||
|
||||
# -------------------------------------------------------------------------------------------------------------------------------------
|
||||
# ------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
# Using local .git directory
|
||||
# -------------------------------------------------------------------------------------------------------------------------------------
|
||||
# Event `pull_request`: Compare the last commit of main or last remote commit of the PR branch -> to the current commit of a PR branch.
|
||||
# -------------------------------------------------------------------------------------------------------------------------------------
|
||||
# ------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
# Event `pull_request`: Compare the last commit of the main branch or last remote commit of the PR branch -> to the current commit of a PR branch.
|
||||
# ------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
job2:
|
||||
runs-on: ubuntu-latest # windows-latest | macos-latest
|
||||
name: Test changed-files
|
||||
@@ -369,6 +369,7 @@ Support this project with a :star:
|
||||
| sha | string | false | | Specify a different commit SHA <br>used for comparing changes |
|
||||
| since | string | false | | Get changed files for commits <br>whose timestamp is older than <br>the given time. |
|
||||
| since\_last\_remote\_commit | string | false | `"false"` | Use the last commit on <br>the remote branch as the <br>`base_sha`. Defaults to the last <br>non-merge commit on the target <br>branch for pull request events <br>and the previous remote commit <br>of the current branch for <br>push events. |
|
||||
| skip\_initial\_fetch | string | false | `"false"` | Skip the initial fetch to <br>improve performance. |
|
||||
| token | string | false | `"${{ github.token }}"` | Github token used to fetch <br>changed files from Github's API. |
|
||||
| until | string | false | | Get changed files for commits <br>whose timestamp is earlier than <br>the given time. |
|
||||
| write\_output\_files | string | false | `"false"` | Write outputs to the `output_dir` <br>defaults to `.github/outputs` folder. **NOTE:** <br>This creates a `.txt` file <br>by default and a `.json` <br>file if `json` is set <br>to `true`. |
|
||||
@@ -515,7 +516,7 @@ See [outputs](#outputs) for a list of all available outputs.
|
||||
*.png
|
||||
!*.md
|
||||
test_directory
|
||||
**/*.sql
|
||||
**.sql
|
||||
...
|
||||
```
|
||||
|
||||
@@ -538,7 +539,7 @@ See [inputs](#inputs) for more information.
|
||||
*.png
|
||||
!*.md
|
||||
test_directory
|
||||
**/*.sql
|
||||
**.sql
|
||||
|
||||
- name: Run step if any of the listed files above change
|
||||
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||
|
||||
@@ -124,6 +124,10 @@ inputs:
|
||||
description: "Depth of additional branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
|
||||
required: false
|
||||
default: "50"
|
||||
skip_initial_fetch:
|
||||
description: "Skip the initial fetch to improve performance."
|
||||
required: false
|
||||
default: "false"
|
||||
since_last_remote_commit:
|
||||
description: "Use the last commit on the remote branch as the `base_sha`. Defaults to the last non-merge commit on the target branch for pull request events and the previous remote commit of the current branch for push events."
|
||||
required: false
|
||||
|
||||
67
dist/index.js
generated
vendored
67
dist/index.js
generated
vendored
@@ -724,7 +724,7 @@ const getSHAForPushEvent = (inputs, env, workingDirectory, isShallow, hasSubmodu
|
||||
let targetBranch = env.GITHUB_REF_NAME;
|
||||
const currentBranch = targetBranch;
|
||||
let initialCommit = false;
|
||||
if (isShallow) {
|
||||
if (isShallow && !inputs.skipInitialFetch) {
|
||||
core.info('Repository is shallow, fetching more history...');
|
||||
if (isTag) {
|
||||
const sourceBranch = env.GITHUB_EVENT_BASE_REF.replace('refs/heads/', '') ||
|
||||
@@ -868,7 +868,7 @@ const getSHAForPullRequestEvent = (inputs, env, workingDirectory, isShallow, has
|
||||
if (inputs.sinceLastRemoteCommit) {
|
||||
targetBranch = currentBranch;
|
||||
}
|
||||
if (isShallow) {
|
||||
if (isShallow && !inputs.skipInitialFetch) {
|
||||
core.info('Repository is shallow, fetching more history...');
|
||||
let prFetchExitCode = yield (0, utils_1.gitFetch)({
|
||||
cwd: workingDirectory,
|
||||
@@ -1246,6 +1246,9 @@ const getInputs = () => {
|
||||
const recoverDeletedFilesToDestination = core.getInput('recover_deleted_files_to_destination', { required: false });
|
||||
const token = core.getInput('token', { required: false });
|
||||
const apiUrl = core.getInput('api_url', { required: false });
|
||||
const skipInitialFetch = core.getBooleanInput('skip_initial_fetch', {
|
||||
required: false
|
||||
});
|
||||
const inputs = {
|
||||
files,
|
||||
filesSeparator,
|
||||
@@ -1285,7 +1288,8 @@ const getInputs = () => {
|
||||
outputDir,
|
||||
outputRenamedFilesAsDeletedAndAdded,
|
||||
token,
|
||||
apiUrl
|
||||
apiUrl,
|
||||
skipInitialFetch
|
||||
};
|
||||
if (fetchDepth) {
|
||||
inputs.fetchDepth = Math.max(parseInt(fetchDepth, 10), 2);
|
||||
@@ -1350,7 +1354,7 @@ const commitSha_1 = __nccwpck_require__(8613);
|
||||
const env_1 = __nccwpck_require__(9763);
|
||||
const inputs_1 = __nccwpck_require__(6180);
|
||||
const utils_1 = __nccwpck_require__(918);
|
||||
const getChangedFilesFromLocalGit = ({ inputs, env, workingDirectory }) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
const getChangedFilesFromLocalGit = ({ inputs, env, workingDirectory, filePatterns, yamlFilePatterns }) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
var _a;
|
||||
yield (0, utils_1.verifyMinimumGitVersion)();
|
||||
let quotePathValue = 'on';
|
||||
@@ -1404,11 +1408,6 @@ const getChangedFilesFromLocalGit = ({ inputs, env, workingDirectory }) => __awa
|
||||
core.debug(`All diff files: ${JSON.stringify(allDiffFiles)}`);
|
||||
core.info('All Done!');
|
||||
core.endGroup();
|
||||
const filePatterns = yield (0, utils_1.getFilePatterns)({
|
||||
inputs,
|
||||
workingDirectory
|
||||
});
|
||||
core.debug(`File patterns: ${filePatterns}`);
|
||||
if (filePatterns.length > 0) {
|
||||
core.startGroup('changed-files-patterns');
|
||||
yield (0, changedFilesOutput_1.setChangedFilesOutput)({
|
||||
@@ -1421,11 +1420,6 @@ const getChangedFilesFromLocalGit = ({ inputs, env, workingDirectory }) => __awa
|
||||
core.info('All Done!');
|
||||
core.endGroup();
|
||||
}
|
||||
const yamlFilePatterns = yield (0, utils_1.getYamlFilePatterns)({
|
||||
inputs,
|
||||
workingDirectory
|
||||
});
|
||||
core.debug(`Yaml file patterns: ${JSON.stringify(yamlFilePatterns)}`);
|
||||
if (Object.keys(yamlFilePatterns).length > 0) {
|
||||
for (const key of Object.keys(yamlFilePatterns)) {
|
||||
core.startGroup(`changed-files-yaml-${key}`);
|
||||
@@ -1476,18 +1470,13 @@ const getChangedFilesFromLocalGit = ({ inputs, env, workingDirectory }) => __awa
|
||||
core.endGroup();
|
||||
}
|
||||
});
|
||||
const getChangedFilesFromRESTAPI = ({ inputs, env, workingDirectory }) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
const getChangedFilesFromRESTAPI = ({ inputs, env, workingDirectory, filePatterns, yamlFilePatterns }) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
const allDiffFiles = yield (0, changedFiles_1.getChangedFilesFromGithubAPI)({
|
||||
inputs,
|
||||
env
|
||||
});
|
||||
core.debug(`All diff files: ${JSON.stringify(allDiffFiles)}`);
|
||||
core.info('All Done!');
|
||||
const filePatterns = yield (0, utils_1.getFilePatterns)({
|
||||
inputs,
|
||||
workingDirectory
|
||||
});
|
||||
core.debug(`File patterns: ${filePatterns}`);
|
||||
if (filePatterns.length > 0) {
|
||||
core.startGroup('changed-files-patterns');
|
||||
yield (0, changedFilesOutput_1.setChangedFilesOutput)({
|
||||
@@ -1499,11 +1488,6 @@ const getChangedFilesFromRESTAPI = ({ inputs, env, workingDirectory }) => __awai
|
||||
core.info('All Done!');
|
||||
core.endGroup();
|
||||
}
|
||||
const yamlFilePatterns = yield (0, utils_1.getYamlFilePatterns)({
|
||||
inputs,
|
||||
workingDirectory
|
||||
});
|
||||
core.debug(`Yaml file patterns: ${JSON.stringify(yamlFilePatterns)}`);
|
||||
if (Object.keys(yamlFilePatterns).length > 0) {
|
||||
for (const key of Object.keys(yamlFilePatterns)) {
|
||||
core.startGroup(`changed-files-yaml-${key}`);
|
||||
@@ -1537,7 +1521,19 @@ function run() {
|
||||
const inputs = (0, inputs_1.getInputs)();
|
||||
core.debug(`Inputs: ${JSON.stringify(inputs, null, 2)}`);
|
||||
const workingDirectory = path_1.default.resolve(env.GITHUB_WORKSPACE || process.cwd(), inputs.path);
|
||||
core.debug(`Working directory: ${workingDirectory}`);
|
||||
const hasGitDirectory = yield (0, utils_1.hasLocalGitDirectory)({ workingDirectory });
|
||||
core.debug(`Has git directory: ${hasGitDirectory}`);
|
||||
const filePatterns = yield (0, utils_1.getFilePatterns)({
|
||||
inputs,
|
||||
workingDirectory
|
||||
});
|
||||
core.debug(`File patterns: ${filePatterns}`);
|
||||
const yamlFilePatterns = yield (0, utils_1.getYamlFilePatterns)({
|
||||
inputs,
|
||||
workingDirectory
|
||||
});
|
||||
core.debug(`Yaml file patterns: ${JSON.stringify(yamlFilePatterns)}`);
|
||||
if (inputs.token &&
|
||||
env.GITHUB_EVENT_PULL_REQUEST_NUMBER &&
|
||||
!hasGitDirectory) {
|
||||
@@ -1557,7 +1553,13 @@ function run() {
|
||||
core.warning(`Input "${input}" is not supported when using GitHub's REST API to get changed files`);
|
||||
}
|
||||
}
|
||||
yield getChangedFilesFromRESTAPI({ inputs, env, workingDirectory });
|
||||
yield getChangedFilesFromRESTAPI({
|
||||
inputs,
|
||||
env,
|
||||
workingDirectory,
|
||||
filePatterns,
|
||||
yamlFilePatterns
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (!hasGitDirectory) {
|
||||
@@ -1565,7 +1567,13 @@ function run() {
|
||||
return;
|
||||
}
|
||||
core.info('Using local .git directory');
|
||||
yield getChangedFilesFromLocalGit({ inputs, env, workingDirectory });
|
||||
yield getChangedFilesFromLocalGit({
|
||||
inputs,
|
||||
env,
|
||||
workingDirectory,
|
||||
filePatterns,
|
||||
yamlFilePatterns
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -29284,8 +29292,11 @@ function fixResponseChunkedTransferBadEnding(request, errorCallback) {
|
||||
|
||||
if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {
|
||||
response.once('close', function (hadError) {
|
||||
// tests for socket presence, as in some situations the
|
||||
// the 'socket' event is not triggered for the request
|
||||
// (happens in deno), avoids `TypeError`
|
||||
// if a data listener is still present we didn't end cleanly
|
||||
const hasDataListener = socket.listenerCount('data') > 0;
|
||||
const hasDataListener = socket && socket.listenerCount('data') > 0;
|
||||
|
||||
if (hasDataListener && !hadError) {
|
||||
const err = new Error('Premature close');
|
||||
|
||||
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
@@ -35,10 +35,10 @@
|
||||
"@actions/core": "^1.10.0",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/github": "^5.1.1",
|
||||
"@octokit/rest": "^19.0.13",
|
||||
"lodash": "^4.17.21",
|
||||
"micromatch": "^4.0.5",
|
||||
"yaml": "^2.3.1",
|
||||
"@octokit/rest": "^19.0.13"
|
||||
"yaml": "^2.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^29.5.2",
|
||||
@@ -52,9 +52,9 @@
|
||||
"eslint": "^8.43.0",
|
||||
"eslint-plugin-github": "^4.8.0",
|
||||
"eslint-plugin-jest": "^27.2.2",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-prettier": "^5.0.0-alpha.2",
|
||||
"jest": "^29.5.0",
|
||||
"prettier": "^2.8.8",
|
||||
"prettier": "^3.0.0",
|
||||
"ts-jest": "^29.1.0",
|
||||
"typescript": "^5.1.3"
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"config:base"
|
||||
],
|
||||
"enabled": true,
|
||||
"prHourlyLimit": 30,
|
||||
"prConcurrentLimit": 10,
|
||||
"prHourlyLimit": 10,
|
||||
"prConcurrentLimit": 5,
|
||||
"rebaseWhen": "behind-base-branch",
|
||||
"addLabels": [
|
||||
"dependencies",
|
||||
@@ -20,13 +20,21 @@
|
||||
"enabled": true,
|
||||
"automerge": true
|
||||
},
|
||||
"nvm": {
|
||||
"enabled": false
|
||||
},
|
||||
"packageRules": [
|
||||
{
|
||||
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch",
|
||||
"pin",
|
||||
"digest"
|
||||
],
|
||||
"automerge": true,
|
||||
"rebaseWhen": "behind-base-branch",
|
||||
"addLabels": [
|
||||
"automerge"
|
||||
"merge when passing"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -34,10 +42,15 @@
|
||||
"matchLanguages": [
|
||||
"docker"
|
||||
],
|
||||
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch",
|
||||
"pin",
|
||||
"digest"
|
||||
],
|
||||
"rebaseWhen": "behind-base-branch",
|
||||
"addLabels": [
|
||||
"automerge"
|
||||
"merge when passing"
|
||||
],
|
||||
"automerge": true
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ export const getSHAForPushEvent = async (
|
||||
const currentBranch = targetBranch
|
||||
let initialCommit = false
|
||||
|
||||
if (isShallow) {
|
||||
if (isShallow && !inputs.skipInitialFetch) {
|
||||
core.info('Repository is shallow, fetching more history...')
|
||||
|
||||
if (isTag) {
|
||||
@@ -271,7 +271,7 @@ export const getSHAForPullRequestEvent = async (
|
||||
targetBranch = currentBranch
|
||||
}
|
||||
|
||||
if (isShallow) {
|
||||
if (isShallow && !inputs.skipInitialFetch) {
|
||||
core.info('Repository is shallow, fetching more history...')
|
||||
|
||||
let prFetchExitCode = await gitFetch({
|
||||
|
||||
@@ -40,6 +40,7 @@ export type Inputs = {
|
||||
recoverDeletedFilesToDestination: string
|
||||
token: string
|
||||
apiUrl: string
|
||||
skipInitialFetch: boolean
|
||||
}
|
||||
|
||||
export const getInputs = (): Inputs => {
|
||||
@@ -154,6 +155,9 @@ export const getInputs = (): Inputs => {
|
||||
)
|
||||
const token = core.getInput('token', {required: false})
|
||||
const apiUrl = core.getInput('api_url', {required: false})
|
||||
const skipInitialFetch = core.getBooleanInput('skip_initial_fetch', {
|
||||
required: false
|
||||
})
|
||||
|
||||
const inputs: Inputs = {
|
||||
files,
|
||||
@@ -194,7 +198,8 @@ export const getInputs = (): Inputs => {
|
||||
outputDir,
|
||||
outputRenamedFilesAsDeletedAndAdded,
|
||||
token,
|
||||
apiUrl
|
||||
apiUrl,
|
||||
skipInitialFetch
|
||||
}
|
||||
|
||||
if (fetchDepth) {
|
||||
|
||||
69
src/main.ts
69
src/main.ts
@@ -28,11 +28,15 @@ import {
|
||||
const getChangedFilesFromLocalGit = async ({
|
||||
inputs,
|
||||
env,
|
||||
workingDirectory
|
||||
workingDirectory,
|
||||
filePatterns,
|
||||
yamlFilePatterns
|
||||
}: {
|
||||
inputs: Inputs
|
||||
env: Env
|
||||
workingDirectory: string
|
||||
filePatterns: string[]
|
||||
yamlFilePatterns: Record<string, string[]>
|
||||
}): Promise<void> => {
|
||||
await verifyMinimumGitVersion()
|
||||
|
||||
@@ -120,12 +124,6 @@ const getChangedFilesFromLocalGit = async ({
|
||||
core.info('All Done!')
|
||||
core.endGroup()
|
||||
|
||||
const filePatterns = await getFilePatterns({
|
||||
inputs,
|
||||
workingDirectory
|
||||
})
|
||||
core.debug(`File patterns: ${filePatterns}`)
|
||||
|
||||
if (filePatterns.length > 0) {
|
||||
core.startGroup('changed-files-patterns')
|
||||
await setChangedFilesOutput({
|
||||
@@ -139,12 +137,6 @@ const getChangedFilesFromLocalGit = async ({
|
||||
core.endGroup()
|
||||
}
|
||||
|
||||
const yamlFilePatterns = await getYamlFilePatterns({
|
||||
inputs,
|
||||
workingDirectory
|
||||
})
|
||||
core.debug(`Yaml file patterns: ${JSON.stringify(yamlFilePatterns)}`)
|
||||
|
||||
if (Object.keys(yamlFilePatterns).length > 0) {
|
||||
for (const key of Object.keys(yamlFilePatterns)) {
|
||||
core.startGroup(`changed-files-yaml-${key}`)
|
||||
@@ -201,11 +193,15 @@ const getChangedFilesFromLocalGit = async ({
|
||||
const getChangedFilesFromRESTAPI = async ({
|
||||
inputs,
|
||||
env,
|
||||
workingDirectory
|
||||
workingDirectory,
|
||||
filePatterns,
|
||||
yamlFilePatterns
|
||||
}: {
|
||||
inputs: Inputs
|
||||
env: Env
|
||||
workingDirectory: string
|
||||
filePatterns: string[]
|
||||
yamlFilePatterns: Record<string, string[]>
|
||||
}): Promise<void> => {
|
||||
const allDiffFiles = await getChangedFilesFromGithubAPI({
|
||||
inputs,
|
||||
@@ -214,12 +210,6 @@ const getChangedFilesFromRESTAPI = async ({
|
||||
core.debug(`All diff files: ${JSON.stringify(allDiffFiles)}`)
|
||||
core.info('All Done!')
|
||||
|
||||
const filePatterns = await getFilePatterns({
|
||||
inputs,
|
||||
workingDirectory
|
||||
})
|
||||
core.debug(`File patterns: ${filePatterns}`)
|
||||
|
||||
if (filePatterns.length > 0) {
|
||||
core.startGroup('changed-files-patterns')
|
||||
await setChangedFilesOutput({
|
||||
@@ -232,12 +222,6 @@ const getChangedFilesFromRESTAPI = async ({
|
||||
core.endGroup()
|
||||
}
|
||||
|
||||
const yamlFilePatterns = await getYamlFilePatterns({
|
||||
inputs,
|
||||
workingDirectory
|
||||
})
|
||||
core.debug(`Yaml file patterns: ${JSON.stringify(yamlFilePatterns)}`)
|
||||
|
||||
if (Object.keys(yamlFilePatterns).length > 0) {
|
||||
for (const key of Object.keys(yamlFilePatterns)) {
|
||||
core.startGroup(`changed-files-yaml-${key}`)
|
||||
@@ -270,13 +254,30 @@ export async function run(): Promise<void> {
|
||||
|
||||
const env = await getEnv()
|
||||
core.debug(`Env: ${JSON.stringify(env, null, 2)}`)
|
||||
|
||||
const inputs = getInputs()
|
||||
core.debug(`Inputs: ${JSON.stringify(inputs, null, 2)}`)
|
||||
|
||||
const workingDirectory = path.resolve(
|
||||
env.GITHUB_WORKSPACE || process.cwd(),
|
||||
inputs.path
|
||||
)
|
||||
core.debug(`Working directory: ${workingDirectory}`)
|
||||
|
||||
const hasGitDirectory = await hasLocalGitDirectory({workingDirectory})
|
||||
core.debug(`Has git directory: ${hasGitDirectory}`)
|
||||
|
||||
const filePatterns = await getFilePatterns({
|
||||
inputs,
|
||||
workingDirectory
|
||||
})
|
||||
core.debug(`File patterns: ${filePatterns}`)
|
||||
|
||||
const yamlFilePatterns = await getYamlFilePatterns({
|
||||
inputs,
|
||||
workingDirectory
|
||||
})
|
||||
core.debug(`Yaml file patterns: ${JSON.stringify(yamlFilePatterns)}`)
|
||||
|
||||
if (
|
||||
inputs.token &&
|
||||
@@ -302,7 +303,13 @@ export async function run(): Promise<void> {
|
||||
)
|
||||
}
|
||||
}
|
||||
await getChangedFilesFromRESTAPI({inputs, env, workingDirectory})
|
||||
await getChangedFilesFromRESTAPI({
|
||||
inputs,
|
||||
env,
|
||||
workingDirectory,
|
||||
filePatterns,
|
||||
yamlFilePatterns
|
||||
})
|
||||
} else {
|
||||
if (!hasGitDirectory) {
|
||||
core.setFailed(
|
||||
@@ -312,7 +319,13 @@ export async function run(): Promise<void> {
|
||||
}
|
||||
|
||||
core.info('Using local .git directory')
|
||||
await getChangedFilesFromLocalGit({inputs, env, workingDirectory})
|
||||
await getChangedFilesFromLocalGit({
|
||||
inputs,
|
||||
env,
|
||||
workingDirectory,
|
||||
filePatterns,
|
||||
yamlFilePatterns
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user