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 @@
-
\ No newline at end of file
+
\ 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
}
})