Compare commits

..

15 Commits

Author SHA1 Message Date
af5130cb88 . 2022-12-01 18:37:34 +00:00
8e555ec39e . 2022-12-01 15:56:41 +00:00
b99f9d0aba . 2022-12-01 15:52:47 +00:00
a9f581070e . 2022-12-01 15:45:10 +00:00
d2e9d8b595 . 2022-12-01 15:42:14 +00:00
25424e8595 . 2022-12-01 15:41:55 +00:00
bac1bcfa81 . 2022-12-01 15:20:32 +00:00
1f9aeb9f74 adding stderr 2022-11-30 20:45:33 +00:00
9679ac6b68 adding stderr 2022-11-30 20:42:30 +00:00
f1764260c3 adding stderr 2022-11-30 20:41:41 +00:00
9684017cd6 adding stderr 2022-11-30 20:35:36 +00:00
5788ebd085 adding listener 2022-11-30 20:03:42 +00:00
ad19603e6b removing silent option 2022-11-30 19:42:26 +00:00
2c24b08d98 removing silent option 2022-11-30 19:40:09 +00:00
9634409d1e adding standard error 2022-11-30 19:32:40 +00:00
7 changed files with 227 additions and 795 deletions

View File

@ -1,20 +0,0 @@
---
name: "@actions/io"
version: 1.1.1
type: npm
summary: Actions exec lib
homepage: https://github.com/actions/toolkit/tree/main/packages/exec
license: mit
licenses:
- sources: LICENSE.md
text: |-
The MIT License (MIT)
Copyright 2019 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
notices: []

View File

@ -1,20 +0,0 @@
---
name: "@actions/io"
version: 1.1.2
type: npm
summary: Actions io lib
homepage: https://github.com/actions/toolkit/tree/main/packages/io
license: mit
licenses:
- sources: LICENSE.md
text: |-
The MIT License (MIT)
Copyright 2019 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
notices: []

Binary file not shown.

882
dist/index.js vendored

File diff suppressed because it is too large Load Diff

43
package-lock.json generated
View File

@ -59,8 +59,9 @@
}
},
"@actions/io": {
"version": "file:actions-io-1.1.3.tgz",
"integrity": "sha512-GJsPQzUKCnXjTYzTIyA0lfY3vpTCrD2+YyyQEq7WakKF5c7YPR2Ox3PjMnPrSWvseAkEOXz1ZfcidXN7EqLn5w=="
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.1.tgz",
"integrity": "sha512-rhq+tfZukbtaus7xyUtwKfuiCRXd1hWSfmJNEpFgBQJ4woqPEpsBw04awicjwz9tyG2/MVhAEMfVn664Cri5zA=="
},
"@actions/tool-cache": {
"version": "1.1.2",
@ -75,11 +76,6 @@
"uuid": "^3.3.2"
},
"dependencies": {
"@actions/io": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz",
"integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw=="
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@ -5523,9 +5519,9 @@
}
},
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"before-after-hook": {
@ -5746,7 +5742,7 @@
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"convert-source-map": {
@ -5910,6 +5906,11 @@
"integrity": "sha512-qcLvDUPf8DSIMWarHT2ptgcqrYg62n3vPA7vhrOF24d8UNzbUBaHu2CySiENR3nEDzYgaN60071t0F6KLYMQ7Q==",
"dev": true
},
"emitter-component": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz",
"integrity": "sha512-G+mpdiAySMuB7kesVRLuyvYRqDmshB7ReKEVuyBPkzQlmiDiLrt7hHHIy4Aff552bgknVN7B2/d3lzhGO5dvpQ=="
},
"emittery": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
@ -15886,9 +15887,9 @@
}
},
"minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
@ -16248,9 +16249,9 @@
"dev": true
},
"qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"version": "6.10.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
"integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
"requires": {
"side-channel": "^1.0.4"
}
@ -16491,6 +16492,14 @@
}
}
},
"stream": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz",
"integrity": "sha512-gCq3NDI2P35B2n6t76YJuOp7d6cN/C7Rt0577l91wllh0sY9ZBuw9KaSGqH/b0hzn3CWWJbpbW0W0WvQ1H/Q7g==",
"requires": {
"emitter-component": "^1.1.1"
}
},
"string-length": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",

View File

@ -4,7 +4,6 @@
"description": "checkout action",
"main": "lib/main.js",
"scripts": {
"build-full": "npm i --package-lock && npm ci && npm run format && npm run build && npm run test",
"build": "tsc && ncc build && node lib/misc/generate-docs.js",
"format": "prettier --write '**/*.ts'",
"format-check": "prettier --check '**/*.ts'",
@ -32,8 +31,9 @@
"@actions/core": "^1.10.0",
"@actions/exec": "^1.0.1",
"@actions/github": "^2.2.0",
"@actions/io": "file:actions-io-1.1.3.tgz",
"@actions/io": "^1.0.1",
"@actions/tool-cache": "^1.1.2",
"stream": "0.0.2",
"uuid": "^3.3.3"
},
"devDependencies": {

View File

@ -7,6 +7,7 @@ import * as refHelper from './ref-helper'
import * as regexpHelper from './regexp-helper'
import * as retryHelper from './retry-helper'
import {GitVersion} from './git-version'
import stream, {Writable} from 'stream'
// Auth header not supported before 2.9
// Wire protocol v2 not supported before 2.18
@ -91,6 +92,7 @@ class GitCommandManager {
async branchList(remote: boolean): Promise<string[]> {
const result: string[] = []
const stderr: string[] = []
// Note, this implementation uses "rev-parse --symbolic-full-name" because the output from
// "branch --list" is more difficult when in a detached HEAD state.
@ -104,7 +106,15 @@ class GitCommandManager {
args.push('--branches')
}
const output = await this.execGit(args)
const listeners = {
stderr: (data: Buffer) => {
stderr.push(data.toString())
},
errline: (line: string) => {
stderr.push(line)
}
}
const output = await this.execGit(args, false, false, listeners)
for (let branch of output.stdout.trim().split('\n')) {
branch = branch.trim()
@ -118,7 +128,7 @@ class GitCommandManager {
result.push(branch)
}
}
core.info(stderr.join('\n'))
return result
}
@ -395,7 +405,8 @@ class GitCommandManager {
private async execGit(
args: string[],
allowAllExitCodes = false,
silent = false
silent = false,
customListeners = {}
): Promise<GitOutput> {
fshelper.directoryExistsSync(this.workingDirectory, true)
@ -408,23 +419,45 @@ class GitCommandManager {
for (const key of Object.keys(this.gitEnv)) {
env[key] = this.gitEnv[key]
}
const defaultListener = {
stdout: (data: Buffer) => {
stdout.push(data.toString())
}
}
// const listeners = Object.keys(customListeners) < 0 ? customListeners : {stdout: (data: Buffer) => {
// stdout.push(data.toString())
// }}
const listenersD = {...customListeners, ...defaultListener}
const stdout: string[] = []
// let temp = ''
// let temp2 = ''
const options = {
cwd: this.workingDirectory,
env,
silent,
ignoreReturnCode: allowAllExitCodes,
listeners: {
stdout: (data: Buffer) => {
stdout.push(data.toString())
}
}
listeners: listenersD
// ,
// errStream: new stream.Writable({
// write(chunk, _, next) {
// temp += chunk.toString()
// next()
// }
// }),
// outStream: new stream.Writable({
// write(chunk, _, next) {
// temp2 += chunk.toString()
// next()
// }
// })
}
result.exitCode = await exec.exec(`"${this.gitPath}"`, args, options)
result.stdout = stdout.join('')
// core.info(temp.length.toString())
// core.info(temp2.length.toString())
core.info(result.stdout)
return result
}