mirror of
https://github.com/actions/runner-container-hooks.git
synced 2026-01-10 03:51:17 +08:00
Compare commits
5 Commits
bed5615e7b
...
copilot/su
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5f503f27d3 | ||
|
|
287a0458a1 | ||
|
|
b8af7ebe0e | ||
|
|
f8e1cae677 | ||
|
|
996cc75daf |
28
.github/dependabot.yml
vendored
Normal file
28
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
version: 2
|
||||||
|
|
||||||
|
updates:
|
||||||
|
# Group updates into a single PR per workspace package
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: "/packages/docker"
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
groups:
|
||||||
|
all-dependencies:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: "/packages/hooklib"
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
groups:
|
||||||
|
all-dependencies:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: "/packages/k8s"
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
groups:
|
||||||
|
all-dependencies:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
730
packages/docker/package-lock.json
generated
730
packages/docker/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -14,20 +14,20 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.11.1",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^1.1.1",
|
"@actions/exec": "^2.0.0",
|
||||||
"hooklib": "file:../hooklib",
|
"hooklib": "file:../hooklib",
|
||||||
"shlex": "^3.0.0",
|
"shlex": "^3.0.0",
|
||||||
"uuid": "^11.1.0"
|
"uuid": "^13.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.25.2",
|
"@babel/core": "^7.28.5",
|
||||||
"@babel/preset-env": "^7.25.4",
|
"@babel/preset-env": "^7.28.5",
|
||||||
"@types/jest": "^30.0.0",
|
"@types/jest": "^30.0.0",
|
||||||
"@types/node": "^24.0.14",
|
"@types/node": "^24.0.14",
|
||||||
"@typescript-eslint/parser": "^8.37.0",
|
"@typescript-eslint/parser": "^8.49.0",
|
||||||
"@vercel/ncc": "^0.38.3",
|
"@vercel/ncc": "^0.38.3",
|
||||||
"jest": "^30.0.4",
|
"jest": "^30.0.4",
|
||||||
"ts-jest": "^29.4.0",
|
"ts-jest": "^29.4.6",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"tsconfig-paths": "^4.2.0",
|
"tsconfig-paths": "^4.2.0",
|
||||||
"typescript": "^5.8.3"
|
"typescript": "^5.8.3"
|
||||||
|
|||||||
@@ -27,21 +27,15 @@ export async function runScriptStep(
|
|||||||
const containerTemp = '/__w/_temp'
|
const containerTemp = '/__w/_temp'
|
||||||
const containerTempSrc = '/__w/_temp_pre'
|
const containerTempSrc = '/__w/_temp_pre'
|
||||||
// Ensure base and staging dirs exist before copying
|
// Ensure base and staging dirs exist before copying
|
||||||
try {
|
await execPodStep(
|
||||||
await execPodStep(
|
[
|
||||||
[
|
'sh',
|
||||||
'sh',
|
'-c',
|
||||||
'-c',
|
'mkdir -p /__w && mkdir -p /__w/_temp && mkdir -p /__w/_temp_pre'
|
||||||
'mkdir -p /__w && mkdir -p /__w/_temp && mkdir -p /__w/_temp_pre'
|
],
|
||||||
],
|
state.jobPod,
|
||||||
state.jobPod,
|
JOB_CONTAINER_NAME
|
||||||
JOB_CONTAINER_NAME
|
)
|
||||||
)
|
|
||||||
} catch (err) {
|
|
||||||
core.debug(
|
|
||||||
`Failed to create temp dirs in container: ${JSON.stringify(err)}`
|
|
||||||
)
|
|
||||||
}
|
|
||||||
await execCpToPod(state.jobPod, runnerTemp, containerTempSrc)
|
await execCpToPod(state.jobPod, runnerTemp, containerTempSrc)
|
||||||
|
|
||||||
// Copy GitHub directories from temp to /github
|
// Copy GitHub directories from temp to /github
|
||||||
@@ -54,9 +48,14 @@ export async function runScriptStep(
|
|||||||
'SRC=/__w/_temp_pre',
|
'SRC=/__w/_temp_pre',
|
||||||
'DST=/__w/_temp',
|
'DST=/__w/_temp',
|
||||||
// Overwrite _runner_file_commands
|
// Overwrite _runner_file_commands
|
||||||
'[ -d "$SRC/_runner_file_commands" ] && mkdir -p "$DST/_runner_file_commands" && cp -a "$SRC/_runner_file_commands/." "$DST/_runner_file_commands/" || true',
|
`find "$SRC" -type f ! -path "*/_runner_file_commands/*" -exec sh -c '
|
||||||
// Append other files if missing
|
rel="\${1#$2/}"
|
||||||
'find "$SRC" -type f ! -path "*/_runner_file_commands/*" | while read -r f; do rel=${f#"$SRC/"}; target="$DST/$rel"; dir=$(dirname "$target"); if [ ! -e "$target" ]; then mkdir -p "$dir"; cp -a "$f" "$target"; fi; done'
|
target="$3/$rel"
|
||||||
|
mkdir -p "$(dirname "$target")"
|
||||||
|
cp -a "$1" "$target"
|
||||||
|
' _ {} "$SRC" "$DST" \\;`,
|
||||||
|
// Remove _temp_pre after merging
|
||||||
|
'rm -rf /__w/_temp_pre'
|
||||||
]
|
]
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -96,7 +95,11 @@ export async function runScriptStep(
|
|||||||
core.debug(
|
core.debug(
|
||||||
`Copying from job pod '${state.jobPod}' ${containerTemp} to ${runnerTemp}`
|
`Copying from job pod '${state.jobPod}' ${containerTemp} to ${runnerTemp}`
|
||||||
)
|
)
|
||||||
await execCpFromPod(state.jobPod, containerTemp, `${workdir}`)
|
await execCpFromPod(
|
||||||
|
state.jobPod,
|
||||||
|
`${containerTemp}/_runner_file_commands`,
|
||||||
|
`${workdir}/_temp`
|
||||||
|
)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.warning('Failed to copy _temp from pod')
|
core.warning('Failed to copy _temp from pod')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ describe('Prepare job', () => {
|
|||||||
process.env.GITHUB_WORKSPACE as string,
|
process.env.GITHUB_WORKSPACE as string,
|
||||||
'myvolume'
|
'myvolume'
|
||||||
)
|
)
|
||||||
fs.mkdirSync(userVolumeMount)
|
fs.mkdirSync(userVolumeMount, { recursive: true })
|
||||||
fs.writeFileSync(path.join(userVolumeMount, 'file.txt'), 'hello')
|
fs.writeFileSync(path.join(userVolumeMount, 'file.txt'), 'hello')
|
||||||
prepareJobData.args.container.userMountVolumes = [
|
prepareJobData.args.container.userMountVolumes = [
|
||||||
{
|
{
|
||||||
@@ -63,11 +63,7 @@ describe('Prepare job', () => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
await execPodStep(
|
await execPodStep(
|
||||||
[
|
['sh', '-c', '[ "$(cat /__w/myvolume/file.txt)" = "hello" ] || exit 5'],
|
||||||
'sh',
|
|
||||||
'-c',
|
|
||||||
'\'[ "$(cat /__w/myvolume/file.txt)" = "hello" ] || exit 5\''
|
|
||||||
],
|
|
||||||
content!.state!.jobPod,
|
content!.state!.jobPod,
|
||||||
JOB_CONTAINER_NAME
|
JOB_CONTAINER_NAME
|
||||||
).then(output => {
|
).then(output => {
|
||||||
|
|||||||
Reference in New Issue
Block a user