diff --git a/__tests__/fs-helper.test.ts b/__tests__/fs-helper.test.ts index d400934..566b627 100644 --- a/__tests__/fs-helper.test.ts +++ b/__tests__/fs-helper.test.ts @@ -30,7 +30,7 @@ describe('stageActionFiles', () => { ) }) - it('copies all non-hidden files to the staging directory', () => { + it('copies all files (excluding the .git folder) to the staging directory', () => { fs.writeFileSync(`${sourceDir}/action.yml`, fileContent) fs.mkdirSync(`${sourceDir}/.git`) @@ -44,12 +44,14 @@ describe('stageActionFiles', () => { expect(fs.existsSync(`${stagingDir}/src/main.js`)).toBe(true) expect(fs.existsSync(`${stagingDir}/src/other.js`)).toBe(true) - // Hidden files should not be copied + // Hidden files are copied + expect(fs.existsSync(`${stagingDir}/.github`)).toBe(true) + + // .git folder is not copied expect(fs.existsSync(`${stagingDir}/.git`)).toBe(false) - expect(fs.existsSync(`${stagingDir}/.github`)).toBe(false) }) - it('copies all non-hidden files to the staging directory, even if action.yml is in a subdirectory', () => { + it('copies all files (excluding the .git folder) to the staging directory, even if action.yml is in a subdirectory', () => { fs.mkdirSync(`${sourceDir}/my-sub-action`, { recursive: true }) fs.writeFileSync(`${sourceDir}/my-sub-action/action.yml`, fileContent) diff --git a/badges/coverage.svg b/badges/coverage.svg index 367f1bd..ab35b08 100644 --- a/badges/coverage.svg +++ b/badges/coverage.svg @@ -1 +1 @@ -Coverage: 97.08%Coverage97.08% \ No newline at end of file +Coverage: 97.1%Coverage97.1% \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index ae9fc2a..5eb598e 100644 --- a/dist/index.js +++ b/dist/index.js @@ -106596,7 +106596,7 @@ function isDirectory(dirPath) { function readFileContents(filePath) { return fs.readFileSync(filePath); } -// Copy actions files from sourceDir to targetDir, excluding files and folders not relevant to the action +// Copy actions files from sourceDir to targetDir, excluding the .git folder. // Errors if the repo appears to not contain any action files, such as an action.yml file function stageActionFiles(actionDir, targetDir) { let actionYmlFound = false; @@ -106606,8 +106606,11 @@ function stageActionFiles(actionDir, targetDir) { if (basename === 'action.yml' || basename === 'action.yaml') { actionYmlFound = true; } - // Filter out hidden folers like .git and .github - return basename === '.' || !basename.startsWith('.'); + // Filter out the .git folder. + if (basename === '.git') { + return false; + } + return true; } }); if (!actionYmlFound) { diff --git a/src/fs-helper.ts b/src/fs-helper.ts index a9b5997..497075b 100644 --- a/src/fs-helper.ts +++ b/src/fs-helper.ts @@ -90,7 +90,7 @@ export function readFileContents(filePath: string): Buffer { return fs.readFileSync(filePath) } -// Copy actions files from sourceDir to targetDir, excluding files and folders not relevant to the action +// Copy actions files from sourceDir to targetDir, excluding the .git folder. // Errors if the repo appears to not contain any action files, such as an action.yml file export function stageActionFiles(actionDir: string, targetDir: string): void { let actionYmlFound = false @@ -103,8 +103,12 @@ export function stageActionFiles(actionDir: string, targetDir: string): void { actionYmlFound = true } - // Filter out hidden folers like .git and .github - return basename === '.' || !basename.startsWith('.') + // Filter out the .git folder. + if (basename === '.git') { + return false + } + + return true } })