We only need to exclude the .git folder
This commit is contained in:
@@ -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.writeFileSync(`${sourceDir}/action.yml`, fileContent)
|
||||||
|
|
||||||
fs.mkdirSync(`${sourceDir}/.git`)
|
fs.mkdirSync(`${sourceDir}/.git`)
|
||||||
@@ -44,12 +44,14 @@ describe('stageActionFiles', () => {
|
|||||||
expect(fs.existsSync(`${stagingDir}/src/main.js`)).toBe(true)
|
expect(fs.existsSync(`${stagingDir}/src/main.js`)).toBe(true)
|
||||||
expect(fs.existsSync(`${stagingDir}/src/other.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}/.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.mkdirSync(`${sourceDir}/my-sub-action`, { recursive: true })
|
||||||
fs.writeFileSync(`${sourceDir}/my-sub-action/action.yml`, fileContent)
|
fs.writeFileSync(`${sourceDir}/my-sub-action/action.yml`, fileContent)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="116" height="20" role="img" aria-label="Coverage: 97.08%"><title>Coverage: 97.08%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="116" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="63" height="20" fill="#555"/><rect x="63" width="53" height="20" fill="#4c1"/><rect width="116" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="325" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="530">Coverage</text><text x="325" y="140" transform="scale(.1)" fill="#fff" textLength="530">Coverage</text><text aria-hidden="true" x="885" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">97.08%</text><text x="885" y="140" transform="scale(.1)" fill="#fff" textLength="430">97.08%</text></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="110" height="20" role="img" aria-label="Coverage: 97.1%"><title>Coverage: 97.1%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="110" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="63" height="20" fill="#555"/><rect x="63" width="47" height="20" fill="#4c1"/><rect width="110" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="325" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="530">Coverage</text><text x="325" y="140" transform="scale(.1)" fill="#fff" textLength="530">Coverage</text><text aria-hidden="true" x="855" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="370">97.1%</text><text x="855" y="140" transform="scale(.1)" fill="#fff" textLength="370">97.1%</text></g></svg>
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
+6
-3
@@ -106596,7 +106596,7 @@ function isDirectory(dirPath) {
|
|||||||
function readFileContents(filePath) {
|
function readFileContents(filePath) {
|
||||||
return fs.readFileSync(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
|
// Errors if the repo appears to not contain any action files, such as an action.yml file
|
||||||
function stageActionFiles(actionDir, targetDir) {
|
function stageActionFiles(actionDir, targetDir) {
|
||||||
let actionYmlFound = false;
|
let actionYmlFound = false;
|
||||||
@@ -106606,8 +106606,11 @@ function stageActionFiles(actionDir, targetDir) {
|
|||||||
if (basename === 'action.yml' || basename === 'action.yaml') {
|
if (basename === 'action.yml' || basename === 'action.yaml') {
|
||||||
actionYmlFound = true;
|
actionYmlFound = true;
|
||||||
}
|
}
|
||||||
// Filter out hidden folers like .git and .github
|
// Filter out the .git folder.
|
||||||
return basename === '.' || !basename.startsWith('.');
|
if (basename === '.git') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (!actionYmlFound) {
|
if (!actionYmlFound) {
|
||||||
|
|||||||
+7
-3
@@ -90,7 +90,7 @@ export function readFileContents(filePath: string): Buffer {
|
|||||||
return fs.readFileSync(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
|
// 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 {
|
export function stageActionFiles(actionDir: string, targetDir: string): void {
|
||||||
let actionYmlFound = false
|
let actionYmlFound = false
|
||||||
@@ -103,8 +103,12 @@ export function stageActionFiles(actionDir: string, targetDir: string): void {
|
|||||||
actionYmlFound = true
|
actionYmlFound = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filter out hidden folers like .git and .github
|
// Filter out the .git folder.
|
||||||
return basename === '.' || !basename.startsWith('.')
|
if (basename === '.git') {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user