@docker/actions-toolkit 0.1.0-beta.16 → 0.1.0-beta.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/lib/buildx/buildx.js +1 -1
- package/lib/buildx/buildx.js.map +1 -1
- package/lib/buildx/install.js +2 -2
- package/lib/buildx/install.js.map +1 -1
- package/lib/docker/assets.d.ts +23 -0
- package/lib/docker/assets.js +339 -0
- package/lib/docker/assets.js.map +1 -0
- package/lib/{docker.js → docker/docker.js} +1 -1
- package/lib/docker/docker.js.map +1 -0
- package/lib/docker/install.d.ts +30 -0
- package/lib/docker/install.js +360 -0
- package/lib/docker/install.js.map +1 -0
- package/lib/git.d.ts +10 -1
- package/lib/git.js +74 -7
- package/lib/git.js.map +1 -1
- package/lib/types/git.d.ts +17 -0
- package/lib/types/git.js +18 -0
- package/lib/types/git.js.map +1 -0
- package/lib/util.d.ts +5 -0
- package/lib/util.js +30 -0
- package/lib/util.js.map +1 -1
- package/package.json +6 -2
- package/lib/docker.js.map +0 -1
- /package/lib/{docker.d.ts → docker/docker.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
[](https://www.npmjs.com/package/@docker/actions-toolkit)
|
|
2
2
|
[](https://www.npmjs.com/package/@docker/actions-toolkit)
|
|
3
|
+
[](https://github.com/docker/actions-toolkit/actions?workflow=build)
|
|
3
4
|
[](https://github.com/docker/actions-toolkit/actions?workflow=test)
|
|
5
|
+
[](https://github.com/docker/actions-toolkit/actions?workflow=e2e)
|
|
4
6
|
[](https://codecov.io/gh/docker/actions-toolkit)
|
|
5
7
|
|
|
6
8
|
# Actions Toolkit
|
package/lib/buildx/buildx.js
CHANGED
|
@@ -55,7 +55,7 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
55
55
|
const path_1 = __importDefault(require("path"));
|
|
56
56
|
const core = __importStar(require("@actions/core"));
|
|
57
57
|
const semver = __importStar(require("semver"));
|
|
58
|
-
const docker_1 = require("../docker");
|
|
58
|
+
const docker_1 = require("../docker/docker");
|
|
59
59
|
const exec_1 = require("../exec");
|
|
60
60
|
const inputs_1 = require("./inputs");
|
|
61
61
|
class Buildx {
|
package/lib/buildx/buildx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildx.js","sourceRoot":"","sources":["../../src/buildx/buildx.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAoB;AACpB,gDAAwB;AACxB,oDAAsC;AACtC,+CAAiC;AAEjC,
|
|
1
|
+
{"version":3,"file":"buildx.js","sourceRoot":"","sources":["../../src/buildx/buildx.ts"],"names":[],"mappings":"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"}
|
package/lib/buildx/install.js
CHANGED
|
@@ -62,7 +62,7 @@ const util = __importStar(require("util"));
|
|
|
62
62
|
const buildx_1 = require("./buildx");
|
|
63
63
|
const context_1 = require("../context");
|
|
64
64
|
const exec_1 = require("../exec");
|
|
65
|
-
const docker_1 = require("../docker");
|
|
65
|
+
const docker_1 = require("../docker/docker");
|
|
66
66
|
const git_1 = require("../git");
|
|
67
67
|
class Install {
|
|
68
68
|
constructor(opts) {
|
|
@@ -99,7 +99,7 @@ class Install {
|
|
|
99
99
|
vspec = ref;
|
|
100
100
|
}
|
|
101
101
|
else {
|
|
102
|
-
vspec = yield git_1.Git.
|
|
102
|
+
vspec = yield git_1.Git.remoteSha(repo, ref);
|
|
103
103
|
}
|
|
104
104
|
core.debug(`Install.build: tool version spec ${vspec}`);
|
|
105
105
|
let toolPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/buildx/install.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AACxB,oDAAsC;AACtC,4DAA8C;AAC9C,wDAA0C;AAC1C,+CAAiC;AACjC,2CAA6B;AAE7B,qCAAgC;AAChC,wCAAmC;AACnC,kCAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/buildx/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 actions-toolkit authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare const setupDockerLinuxSh: () => string;
|
|
17
|
+
export declare const setupDockerWinPs1: () => string;
|
|
18
|
+
export declare const dockerServiceLogsPs1: () => string;
|
|
19
|
+
export declare const colimaYaml: () => string;
|
|
20
|
+
export declare const setupDockerLinuxShData = "\n#!/usr/bin/env bash\n\nset -eu\n\n: \"${TOOLDIR=}\"\n: \"${RUNDIR=}\"\n: \"${DOCKER_HOST=}\"\n\nexport PATH=\"$TOOLDIR::$PATH\"\n\nif [ -z \"$DOCKER_HOST\" ]; then\n echo >&2 'error: DOCKER_HOST required'\n false\nfi\n\nif ! command -v dockerd &> /dev/null; then\n echo >&2 'error: dockerd missing from PATH'\n false\nfi\n\nmkdir -p \"$RUNDIR\"\n\n(\n echo \"Starting dockerd\"\n set -x\n exec dockerd \\\n --host=\"$DOCKER_HOST\" \\\n --exec-root=\"$RUNDIR/execroot\" \\\n --data-root=\"$RUNDIR/data\" \\\n --pidfile=\"$RUNDIR/docker.pid\" \\\n --userland-proxy=false \\\n 2>&1 | tee \"$RUNDIR/dockerd.log\"\n) &\n";
|
|
21
|
+
export declare const setupDockerWinPs1Data = "\n[CmdletBinding()]\nparam(\n [Parameter(Mandatory = $true)]\n [string]$ToolDir,\n\n [Parameter(Mandatory = $true)]\n [string]$RunDir,\n\n [Parameter(Mandatory = $true)]\n [string]$DockerHost)\n\n$pwver = (Get-ItemProperty -Path HKLM:\\SOFTWARE\\Microsoft\\PowerShell\\3\\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion\nWrite-Host \"PowerShell version: $pwver\"\n\n# Create run directory\nNew-Item -ItemType Directory \"$RunDir\" -ErrorAction SilentlyContinue | Out-Null\n\n# Remove existing service\nif (Get-Service docker -ErrorAction SilentlyContinue) {\n $dockerVersion = (docker version -f \"{{.Server.Version}}\")\n Write-Host \"Current installed Docker version: $dockerVersion\"\n # stop service\n Stop-Service -Force -Name docker\n Write-Host \"Service stopped\"\n # remove service\n sc.exe delete \"docker\"\n # removes event log entry. we could use \"Remove-EventLog -LogName -Source docker\"\n # but this cmd is not available atm\n $ErrorActionPreference = \"SilentlyContinue\"\n & reg delete \"HKLM\\SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\docker\" /f 2>&1 | Out-Null\n $ErrorActionPreference = \"Stop\"\n Write-Host \"Service removed\"\n}\n\n$env:DOCKER_HOST = $DockerHost\nWrite-Host \"DOCKER_HOST: $env:DOCKER_HOST\"\n\nWrite-Host \"Creating service\"\nNew-Item -ItemType Directory \"$RunDir\\moby-root\" -ErrorAction SilentlyContinue | Out-Null\nNew-Item -ItemType Directory \"$RunDir\\moby-exec\" -ErrorAction SilentlyContinue | Out-Null\nStart-Process -Wait -NoNewWindow \"$ToolDir\\dockerd\" `\n -ArgumentList `\n \"--host=$DockerHost\", `\n \"--data-root=$RunDir\\moby-root\", `\n \"--exec-root=$RunDir\\moby-exec\", `\n \"--pidfile=$RunDir\\docker.pid\", `\n \"--register-service\"\nWrite-Host \"Starting service\"\nStart-Service -Name docker\nWrite-Host \"Service started successfully!\"\n\n$tries=20\nWrite-Host \"Waiting for Docker daemon to start...\"\nWhile ($true) {\n $ErrorActionPreference = \"SilentlyContinue\"\n & \"$ToolDir\\docker\" version | Out-Null\n $ErrorActionPreference = \"Stop\"\n If ($LastExitCode -eq 0) {\n break\n }\n $tries--\n If ($tries -le 0) {\n Throw \"Failed to get a response from Docker daemon\"\n }\n Write-Host -NoNewline \".\"\n Start-Sleep -Seconds 1\n}\nWrite-Host \"Docker daemon started successfully!\"\n";
|
|
22
|
+
export declare const dockerServiceLogsPs1Data = "\nGet-WinEvent -ea SilentlyContinue `\n -FilterHashtable @{ProviderName= \"docker\"; LogName = \"application\"} |\n Sort-Object @{Expression=\"TimeCreated\";Descending=$false} |\n ForEach-Object {\"$($_.TimeCreated.ToUniversalTime().ToString(\"o\")) [$($_.LevelDisplayName)] $($_.Message)\"}\n";
|
|
23
|
+
export declare const colimaYamlData = "\n# Number of CPUs to be allocated to the virtual machine.\n# Default: 2\ncpu: 2\n\n# Size of the disk in GiB to be allocated to the virtual machine.\n# NOTE: changing this has no effect after the virtual machine has been created.\n# Default: 60\ndisk: 60\n\n# Size of the memory in GiB to be allocated to the virtual machine.\n# Default: 2\nmemory: 2\n\n# Architecture of the virtual machine (x86_64, aarch64, host).\n# Default: host\narch: host\n\n# Container runtime to be used (docker, containerd).\n# Default: docker\nruntime: docker\n\n# Kubernetes configuration for the virtual machine.\nkubernetes:\n enabled: false\n\n# Auto-activate on the Host for client access.\n# Setting to true does the following on startup\n# - sets as active Docker context (for Docker runtime).\n# - sets as active Kubernetes context (if Kubernetes is enabled).\n# Default: true\nautoActivate: false\n\n# Network configurations for the virtual machine.\nnetwork:\n # Assign reachable IP address to the virtual machine.\n # NOTE: this is currently macOS only and ignored on Linux.\n # Default: false\n address: false\n\n # Custom DNS resolvers for the virtual machine.\n #\n # EXAMPLE\n # dns: [8.8.8.8, 1.1.1.1]\n #\n # Default: []\n dns: []\n\n # DNS hostnames to resolve to custom targets using the internal resolver.\n # This setting has no effect if a custom DNS resolver list is supplied above.\n # It does not configure the /etc/hosts files of any machine or container.\n # The value can be an IP address or another host.\n #\n # EXAMPLE\n # dnsHosts:\n # example.com: 1.2.3.4\n dnsHosts:\n host.docker.internal: host.lima.internal\n\n # Network driver to use (slirp, gvproxy), (requires vmType `qemu`)\n # - slirp is the default user mode networking provided by Qemu\n # - gvproxy is an alternative to VPNKit based on gVisor https://github.com/containers/gvisor-tap-vsock\n # Default: gvproxy\n driver: gvproxy\n\n# Forward the host's SSH agent to the virtual machine.\n# Default: false\nforwardAgent: false\n\n# Docker daemon configuration that maps directly to daemon.json.\n# https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file.\n# NOTE: some settings may affect Colima's ability to start docker. e.g. `hosts`.\n#\n# EXAMPLE - disable buildkit\n# docker:\n# features:\n# buildkit: false\n#\n# EXAMPLE - add insecure registries\n# docker:\n# insecure-registries:\n# - myregistry.com:5000\n# - host.docker.internal:5000\n#\n# Colima default behaviour: buildkit enabled\n# Default: {}\ndocker: {}\n\n# Virtual Machine type (qemu, vz)\n# NOTE: this is macOS 13 only. For Linux and macOS <13.0, qemu is always used.\n#\n# vz is macOS virtualization framework and requires macOS 13\n#\n# Default: qemu\nvmType: qemu\n\n# Volume mount driver for the virtual machine (virtiofs, 9p, sshfs).\n#\n# virtiofs is limited to macOS and vmType `vz`. It is the fastest of the options.\n#\n# 9p is the recommended and the most stable option for vmType `qemu`.\n#\n# sshfs is faster than 9p but the least reliable of the options (when there are lots\n# of concurrent reads or writes).\n#\n# Default: virtiofs (for vz), sshfs (for qemu)\nmountType: 9p\n\n# The CPU type for the virtual machine (requires vmType `qemu`).\n# Options available for host emulation can be checked with: `qemu-system-$(arch) -cpu help`.\n# Instructions are also supported by appending to the cpu type e.g. \"qemu64,+ssse3\".\n# Default: host\ncpuType: host\n\n# For a more general purpose virtual machine, Ubuntu container is optionally provided\n# as a layer on the virtual machine.\n# The underlying virtual machine is still accessible via `colima ssh --layer=false` or running `colima` in\n# the Ubuntu session.\n#\n# Default: false\nlayer: false\n\n# Custom provision scripts for the virtual machine.\n# Provisioning scripts are executed on startup and therefore needs to be idempotent.\n#\n# EXAMPLE - script exected as root\n# provision:\n# - mode: system\n# script: apk add htop vim\n#\n# EXAMPLE - script exected as user\n# provision:\n# - mode: user\n# script: |\n# [ -f ~/.provision ] && exit 0;\n# echo provisioning as $USER...\n# touch ~/.provision\n#\n# Default: []\nprovision:\n - mode: system\n script: |\n mkdir -p /tmp/docker-bins\n cd /tmp/docker-bins\n wget -qO- \"https://download.docker.com/linux/static/{{dockerChannel}}/{{hostArch}}/docker-{{dockerVersion}}.tgz\" | tar xvz --strip 1\n mv -f /tmp/docker-bins/* /usr/bin/\n\n# Modify ~/.ssh/config automatically to include a SSH config for the virtual machine.\n# SSH config will still be generated in ~/.colima/ssh_config regardless.\n# Default: true\nsshConfig: false\n\n# Configure volume mounts for the virtual machine.\n# Colima mounts user's home directory by default to provide a familiar\n# user experience.\n#\n# EXAMPLE\n# mounts:\n# - location: ~/secrets\n# writable: false\n# - location: ~/projects\n# writable: true\n#\n# Colima default behaviour: $HOME and /tmp/colima are mounted as writable.\n# Default: []\nmounts: []\n\n# Environment variables for the virtual machine.\n#\n# EXAMPLE\n# env:\n# KEY: value\n# ANOTHER_KEY: another value\n#\n# Default: {}\nenv: {}\n";
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2023 actions-toolkit authors
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.colimaYamlData = exports.dockerServiceLogsPs1Data = exports.setupDockerWinPs1Data = exports.setupDockerLinuxShData = exports.colimaYaml = exports.dockerServiceLogsPs1 = exports.setupDockerWinPs1 = exports.setupDockerLinuxSh = void 0;
|
|
22
|
+
const fs_1 = __importDefault(require("fs"));
|
|
23
|
+
const context_1 = require("../context");
|
|
24
|
+
const setupDockerLinuxSh = () => {
|
|
25
|
+
return get('docker-setup-linux.sh', exports.setupDockerLinuxShData, '0755');
|
|
26
|
+
};
|
|
27
|
+
exports.setupDockerLinuxSh = setupDockerLinuxSh;
|
|
28
|
+
const setupDockerWinPs1 = () => {
|
|
29
|
+
return get('docker-setup-win.ps1', exports.setupDockerWinPs1Data);
|
|
30
|
+
};
|
|
31
|
+
exports.setupDockerWinPs1 = setupDockerWinPs1;
|
|
32
|
+
const dockerServiceLogsPs1 = () => {
|
|
33
|
+
return get('docker-service-logs.ps1', exports.dockerServiceLogsPs1Data);
|
|
34
|
+
};
|
|
35
|
+
exports.dockerServiceLogsPs1 = dockerServiceLogsPs1;
|
|
36
|
+
const colimaYaml = () => {
|
|
37
|
+
return get('colima.yaml', exports.colimaYamlData);
|
|
38
|
+
};
|
|
39
|
+
exports.colimaYaml = colimaYaml;
|
|
40
|
+
const get = (filename, data, mode) => {
|
|
41
|
+
const assetPath = context_1.Context.tmpName({
|
|
42
|
+
template: `docker-asset-XXXXXX-${filename}`,
|
|
43
|
+
tmpdir: context_1.Context.tmpDir()
|
|
44
|
+
});
|
|
45
|
+
fs_1.default.writeFileSync(assetPath, data);
|
|
46
|
+
if (mode) {
|
|
47
|
+
fs_1.default.chmodSync(assetPath, mode);
|
|
48
|
+
}
|
|
49
|
+
return assetPath;
|
|
50
|
+
};
|
|
51
|
+
exports.setupDockerLinuxShData = `
|
|
52
|
+
#!/usr/bin/env bash
|
|
53
|
+
|
|
54
|
+
set -eu
|
|
55
|
+
|
|
56
|
+
: "\${TOOLDIR=}"
|
|
57
|
+
: "\${RUNDIR=}"
|
|
58
|
+
: "\${DOCKER_HOST=}"
|
|
59
|
+
|
|
60
|
+
export PATH="$TOOLDIR::$PATH"
|
|
61
|
+
|
|
62
|
+
if [ -z "$DOCKER_HOST" ]; then
|
|
63
|
+
echo >&2 'error: DOCKER_HOST required'
|
|
64
|
+
false
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
if ! command -v dockerd &> /dev/null; then
|
|
68
|
+
echo >&2 'error: dockerd missing from PATH'
|
|
69
|
+
false
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
mkdir -p "$RUNDIR"
|
|
73
|
+
|
|
74
|
+
(
|
|
75
|
+
echo "Starting dockerd"
|
|
76
|
+
set -x
|
|
77
|
+
exec dockerd \\
|
|
78
|
+
--host="$DOCKER_HOST" \\
|
|
79
|
+
--exec-root="$RUNDIR/execroot" \\
|
|
80
|
+
--data-root="$RUNDIR/data" \\
|
|
81
|
+
--pidfile="$RUNDIR/docker.pid" \\
|
|
82
|
+
--userland-proxy=false \\
|
|
83
|
+
2>&1 | tee "$RUNDIR/dockerd.log"
|
|
84
|
+
) &
|
|
85
|
+
`;
|
|
86
|
+
exports.setupDockerWinPs1Data = `
|
|
87
|
+
[CmdletBinding()]
|
|
88
|
+
param(
|
|
89
|
+
[Parameter(Mandatory = $true)]
|
|
90
|
+
[string]$ToolDir,
|
|
91
|
+
|
|
92
|
+
[Parameter(Mandatory = $true)]
|
|
93
|
+
[string]$RunDir,
|
|
94
|
+
|
|
95
|
+
[Parameter(Mandatory = $true)]
|
|
96
|
+
[string]$DockerHost)
|
|
97
|
+
|
|
98
|
+
$pwver = (Get-ItemProperty -Path HKLM:\\SOFTWARE\\Microsoft\\PowerShell\\3\\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
|
|
99
|
+
Write-Host "PowerShell version: $pwver"
|
|
100
|
+
|
|
101
|
+
# Create run directory
|
|
102
|
+
New-Item -ItemType Directory "$RunDir" -ErrorAction SilentlyContinue | Out-Null
|
|
103
|
+
|
|
104
|
+
# Remove existing service
|
|
105
|
+
if (Get-Service docker -ErrorAction SilentlyContinue) {
|
|
106
|
+
$dockerVersion = (docker version -f "{{.Server.Version}}")
|
|
107
|
+
Write-Host "Current installed Docker version: $dockerVersion"
|
|
108
|
+
# stop service
|
|
109
|
+
Stop-Service -Force -Name docker
|
|
110
|
+
Write-Host "Service stopped"
|
|
111
|
+
# remove service
|
|
112
|
+
sc.exe delete "docker"
|
|
113
|
+
# removes event log entry. we could use "Remove-EventLog -LogName -Source docker"
|
|
114
|
+
# but this cmd is not available atm
|
|
115
|
+
$ErrorActionPreference = "SilentlyContinue"
|
|
116
|
+
& reg delete "HKLM\\SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\docker" /f 2>&1 | Out-Null
|
|
117
|
+
$ErrorActionPreference = "Stop"
|
|
118
|
+
Write-Host "Service removed"
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
$env:DOCKER_HOST = $DockerHost
|
|
122
|
+
Write-Host "DOCKER_HOST: $env:DOCKER_HOST"
|
|
123
|
+
|
|
124
|
+
Write-Host "Creating service"
|
|
125
|
+
New-Item -ItemType Directory "$RunDir\\moby-root" -ErrorAction SilentlyContinue | Out-Null
|
|
126
|
+
New-Item -ItemType Directory "$RunDir\\moby-exec" -ErrorAction SilentlyContinue | Out-Null
|
|
127
|
+
Start-Process -Wait -NoNewWindow "$ToolDir\\dockerd" \`
|
|
128
|
+
-ArgumentList \`
|
|
129
|
+
"--host=$DockerHost", \`
|
|
130
|
+
"--data-root=$RunDir\\moby-root", \`
|
|
131
|
+
"--exec-root=$RunDir\\moby-exec", \`
|
|
132
|
+
"--pidfile=$RunDir\\docker.pid", \`
|
|
133
|
+
"--register-service"
|
|
134
|
+
Write-Host "Starting service"
|
|
135
|
+
Start-Service -Name docker
|
|
136
|
+
Write-Host "Service started successfully!"
|
|
137
|
+
|
|
138
|
+
$tries=20
|
|
139
|
+
Write-Host "Waiting for Docker daemon to start..."
|
|
140
|
+
While ($true) {
|
|
141
|
+
$ErrorActionPreference = "SilentlyContinue"
|
|
142
|
+
& "$ToolDir\\docker" version | Out-Null
|
|
143
|
+
$ErrorActionPreference = "Stop"
|
|
144
|
+
If ($LastExitCode -eq 0) {
|
|
145
|
+
break
|
|
146
|
+
}
|
|
147
|
+
$tries--
|
|
148
|
+
If ($tries -le 0) {
|
|
149
|
+
Throw "Failed to get a response from Docker daemon"
|
|
150
|
+
}
|
|
151
|
+
Write-Host -NoNewline "."
|
|
152
|
+
Start-Sleep -Seconds 1
|
|
153
|
+
}
|
|
154
|
+
Write-Host "Docker daemon started successfully!"
|
|
155
|
+
`;
|
|
156
|
+
exports.dockerServiceLogsPs1Data = `
|
|
157
|
+
Get-WinEvent -ea SilentlyContinue \`
|
|
158
|
+
-FilterHashtable @{ProviderName= "docker"; LogName = "application"} |
|
|
159
|
+
Sort-Object @{Expression="TimeCreated";Descending=$false} |
|
|
160
|
+
ForEach-Object {"$($_.TimeCreated.ToUniversalTime().ToString("o")) [$($_.LevelDisplayName)] $($_.Message)"}
|
|
161
|
+
`;
|
|
162
|
+
exports.colimaYamlData = `
|
|
163
|
+
# Number of CPUs to be allocated to the virtual machine.
|
|
164
|
+
# Default: 2
|
|
165
|
+
cpu: 2
|
|
166
|
+
|
|
167
|
+
# Size of the disk in GiB to be allocated to the virtual machine.
|
|
168
|
+
# NOTE: changing this has no effect after the virtual machine has been created.
|
|
169
|
+
# Default: 60
|
|
170
|
+
disk: 60
|
|
171
|
+
|
|
172
|
+
# Size of the memory in GiB to be allocated to the virtual machine.
|
|
173
|
+
# Default: 2
|
|
174
|
+
memory: 2
|
|
175
|
+
|
|
176
|
+
# Architecture of the virtual machine (x86_64, aarch64, host).
|
|
177
|
+
# Default: host
|
|
178
|
+
arch: host
|
|
179
|
+
|
|
180
|
+
# Container runtime to be used (docker, containerd).
|
|
181
|
+
# Default: docker
|
|
182
|
+
runtime: docker
|
|
183
|
+
|
|
184
|
+
# Kubernetes configuration for the virtual machine.
|
|
185
|
+
kubernetes:
|
|
186
|
+
enabled: false
|
|
187
|
+
|
|
188
|
+
# Auto-activate on the Host for client access.
|
|
189
|
+
# Setting to true does the following on startup
|
|
190
|
+
# - sets as active Docker context (for Docker runtime).
|
|
191
|
+
# - sets as active Kubernetes context (if Kubernetes is enabled).
|
|
192
|
+
# Default: true
|
|
193
|
+
autoActivate: false
|
|
194
|
+
|
|
195
|
+
# Network configurations for the virtual machine.
|
|
196
|
+
network:
|
|
197
|
+
# Assign reachable IP address to the virtual machine.
|
|
198
|
+
# NOTE: this is currently macOS only and ignored on Linux.
|
|
199
|
+
# Default: false
|
|
200
|
+
address: false
|
|
201
|
+
|
|
202
|
+
# Custom DNS resolvers for the virtual machine.
|
|
203
|
+
#
|
|
204
|
+
# EXAMPLE
|
|
205
|
+
# dns: [8.8.8.8, 1.1.1.1]
|
|
206
|
+
#
|
|
207
|
+
# Default: []
|
|
208
|
+
dns: []
|
|
209
|
+
|
|
210
|
+
# DNS hostnames to resolve to custom targets using the internal resolver.
|
|
211
|
+
# This setting has no effect if a custom DNS resolver list is supplied above.
|
|
212
|
+
# It does not configure the /etc/hosts files of any machine or container.
|
|
213
|
+
# The value can be an IP address or another host.
|
|
214
|
+
#
|
|
215
|
+
# EXAMPLE
|
|
216
|
+
# dnsHosts:
|
|
217
|
+
# example.com: 1.2.3.4
|
|
218
|
+
dnsHosts:
|
|
219
|
+
host.docker.internal: host.lima.internal
|
|
220
|
+
|
|
221
|
+
# Network driver to use (slirp, gvproxy), (requires vmType \`qemu\`)
|
|
222
|
+
# - slirp is the default user mode networking provided by Qemu
|
|
223
|
+
# - gvproxy is an alternative to VPNKit based on gVisor https://github.com/containers/gvisor-tap-vsock
|
|
224
|
+
# Default: gvproxy
|
|
225
|
+
driver: gvproxy
|
|
226
|
+
|
|
227
|
+
# Forward the host's SSH agent to the virtual machine.
|
|
228
|
+
# Default: false
|
|
229
|
+
forwardAgent: false
|
|
230
|
+
|
|
231
|
+
# Docker daemon configuration that maps directly to daemon.json.
|
|
232
|
+
# https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file.
|
|
233
|
+
# NOTE: some settings may affect Colima's ability to start docker. e.g. \`hosts\`.
|
|
234
|
+
#
|
|
235
|
+
# EXAMPLE - disable buildkit
|
|
236
|
+
# docker:
|
|
237
|
+
# features:
|
|
238
|
+
# buildkit: false
|
|
239
|
+
#
|
|
240
|
+
# EXAMPLE - add insecure registries
|
|
241
|
+
# docker:
|
|
242
|
+
# insecure-registries:
|
|
243
|
+
# - myregistry.com:5000
|
|
244
|
+
# - host.docker.internal:5000
|
|
245
|
+
#
|
|
246
|
+
# Colima default behaviour: buildkit enabled
|
|
247
|
+
# Default: {}
|
|
248
|
+
docker: {}
|
|
249
|
+
|
|
250
|
+
# Virtual Machine type (qemu, vz)
|
|
251
|
+
# NOTE: this is macOS 13 only. For Linux and macOS <13.0, qemu is always used.
|
|
252
|
+
#
|
|
253
|
+
# vz is macOS virtualization framework and requires macOS 13
|
|
254
|
+
#
|
|
255
|
+
# Default: qemu
|
|
256
|
+
vmType: qemu
|
|
257
|
+
|
|
258
|
+
# Volume mount driver for the virtual machine (virtiofs, 9p, sshfs).
|
|
259
|
+
#
|
|
260
|
+
# virtiofs is limited to macOS and vmType \`vz\`. It is the fastest of the options.
|
|
261
|
+
#
|
|
262
|
+
# 9p is the recommended and the most stable option for vmType \`qemu\`.
|
|
263
|
+
#
|
|
264
|
+
# sshfs is faster than 9p but the least reliable of the options (when there are lots
|
|
265
|
+
# of concurrent reads or writes).
|
|
266
|
+
#
|
|
267
|
+
# Default: virtiofs (for vz), sshfs (for qemu)
|
|
268
|
+
mountType: 9p
|
|
269
|
+
|
|
270
|
+
# The CPU type for the virtual machine (requires vmType \`qemu\`).
|
|
271
|
+
# Options available for host emulation can be checked with: \`qemu-system-$(arch) -cpu help\`.
|
|
272
|
+
# Instructions are also supported by appending to the cpu type e.g. "qemu64,+ssse3".
|
|
273
|
+
# Default: host
|
|
274
|
+
cpuType: host
|
|
275
|
+
|
|
276
|
+
# For a more general purpose virtual machine, Ubuntu container is optionally provided
|
|
277
|
+
# as a layer on the virtual machine.
|
|
278
|
+
# The underlying virtual machine is still accessible via \`colima ssh --layer=false\` or running \`colima\` in
|
|
279
|
+
# the Ubuntu session.
|
|
280
|
+
#
|
|
281
|
+
# Default: false
|
|
282
|
+
layer: false
|
|
283
|
+
|
|
284
|
+
# Custom provision scripts for the virtual machine.
|
|
285
|
+
# Provisioning scripts are executed on startup and therefore needs to be idempotent.
|
|
286
|
+
#
|
|
287
|
+
# EXAMPLE - script exected as root
|
|
288
|
+
# provision:
|
|
289
|
+
# - mode: system
|
|
290
|
+
# script: apk add htop vim
|
|
291
|
+
#
|
|
292
|
+
# EXAMPLE - script exected as user
|
|
293
|
+
# provision:
|
|
294
|
+
# - mode: user
|
|
295
|
+
# script: |
|
|
296
|
+
# [ -f ~/.provision ] && exit 0;
|
|
297
|
+
# echo provisioning as $USER...
|
|
298
|
+
# touch ~/.provision
|
|
299
|
+
#
|
|
300
|
+
# Default: []
|
|
301
|
+
provision:
|
|
302
|
+
- mode: system
|
|
303
|
+
script: |
|
|
304
|
+
mkdir -p /tmp/docker-bins
|
|
305
|
+
cd /tmp/docker-bins
|
|
306
|
+
wget -qO- "https://download.docker.com/linux/static/{{dockerChannel}}/{{hostArch}}/docker-{{dockerVersion}}.tgz" | tar xvz --strip 1
|
|
307
|
+
mv -f /tmp/docker-bins/* /usr/bin/
|
|
308
|
+
|
|
309
|
+
# Modify ~/.ssh/config automatically to include a SSH config for the virtual machine.
|
|
310
|
+
# SSH config will still be generated in ~/.colima/ssh_config regardless.
|
|
311
|
+
# Default: true
|
|
312
|
+
sshConfig: false
|
|
313
|
+
|
|
314
|
+
# Configure volume mounts for the virtual machine.
|
|
315
|
+
# Colima mounts user's home directory by default to provide a familiar
|
|
316
|
+
# user experience.
|
|
317
|
+
#
|
|
318
|
+
# EXAMPLE
|
|
319
|
+
# mounts:
|
|
320
|
+
# - location: ~/secrets
|
|
321
|
+
# writable: false
|
|
322
|
+
# - location: ~/projects
|
|
323
|
+
# writable: true
|
|
324
|
+
#
|
|
325
|
+
# Colima default behaviour: $HOME and /tmp/colima are mounted as writable.
|
|
326
|
+
# Default: []
|
|
327
|
+
mounts: []
|
|
328
|
+
|
|
329
|
+
# Environment variables for the virtual machine.
|
|
330
|
+
#
|
|
331
|
+
# EXAMPLE
|
|
332
|
+
# env:
|
|
333
|
+
# KEY: value
|
|
334
|
+
# ANOTHER_KEY: another value
|
|
335
|
+
#
|
|
336
|
+
# Default: {}
|
|
337
|
+
env: {}
|
|
338
|
+
`;
|
|
339
|
+
//# sourceMappingURL=assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/docker/assets.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,4CAAoB;AACpB,wCAAmC;AAE5B,MAAM,kBAAkB,GAAG,GAAW,EAAE;IAC7C,OAAO,GAAG,CAAC,uBAAuB,EAAE,8BAAsB,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEK,MAAM,iBAAiB,GAAG,GAAW,EAAE;IAC5C,OAAO,GAAG,CAAC,sBAAsB,EAAE,6BAAqB,CAAC,CAAC;AAC5D,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,oBAAoB,GAAG,GAAW,EAAE;IAC/C,OAAO,GAAG,CAAC,yBAAyB,EAAE,gCAAwB,CAAC,CAAC;AAClE,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B;AAEK,MAAM,UAAU,GAAG,GAAW,EAAE;IACrC,OAAO,GAAG,CAAC,aAAa,EAAE,sBAAc,CAAC,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF,MAAM,GAAG,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAa,EAAU,EAAE;IACpE,MAAM,SAAS,GAAG,iBAAO,CAAC,OAAO,CAAC;QAChC,QAAQ,EAAE,uBAAuB,QAAQ,EAAE;QAC3C,MAAM,EAAE,iBAAO,CAAC,MAAM,EAAE;KACzB,CAAC,CAAC;IACH,YAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,EAAE;QACR,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KAC/B;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEW,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCrC,CAAC;AAEW,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEpC,CAAC;AAEW,QAAA,wBAAwB,GAAG;;;;;CAKvC,CAAC;AAEW,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgL7B,CAAC"}
|
|
@@ -55,7 +55,7 @@ const os_1 = __importDefault(require("os"));
|
|
|
55
55
|
const path_1 = __importDefault(require("path"));
|
|
56
56
|
const core = __importStar(require("@actions/core"));
|
|
57
57
|
const io = __importStar(require("@actions/io"));
|
|
58
|
-
const exec_1 = require("
|
|
58
|
+
const exec_1 = require("../exec");
|
|
59
59
|
class Docker {
|
|
60
60
|
static get configDir() {
|
|
61
61
|
return process.env.DOCKER_CONFIG || path_1.default.join(os_1.default.homedir(), '.docker');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/docker/docker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAoB;AACpB,gDAAwB;AACxB,oDAAsC;AACtC,gDAAkC;AAClC,kCAA6B;AAE7B,MAAa,MAAM;IACjB,MAAM,KAAK,SAAS;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAEM,MAAM,CAAO,WAAW;;YAC7B,OAAO,MAAM,EAAE;iBACZ,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;iBACrB,IAAI,CAAC,GAAG,CAAC,EAAE;gBACV,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;iBACD,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAO,OAAO,CAAC,IAAa;;YACvC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjB;YACD,OAAO,MAAM,WAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE;gBAC9C,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACZ,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE;oBAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC7B;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEM,MAAM,CAAO,YAAY;;YAC9B,MAAM,WAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACzC,CAAC;KAAA;IAEM,MAAM,CAAO,SAAS;;YAC3B,MAAM,WAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;KAAA;CACF;AAzCD,wBAyCC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 actions-toolkit authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare class Install {
|
|
17
|
+
download(version: string, channel?: string): Promise<string>;
|
|
18
|
+
install(toolDir: string, runDir: string, version: string, channel?: string): Promise<void>;
|
|
19
|
+
private installDarwin;
|
|
20
|
+
private installLinux;
|
|
21
|
+
private installWindows;
|
|
22
|
+
tearDown(runDir: string): Promise<void>;
|
|
23
|
+
private tearDownDarwin;
|
|
24
|
+
private tearDownLinux;
|
|
25
|
+
private tearDownWindows;
|
|
26
|
+
private downloadURL;
|
|
27
|
+
private static platformOS;
|
|
28
|
+
private static platformArch;
|
|
29
|
+
private static colimaInstalled;
|
|
30
|
+
}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2023 actions-toolkit authors
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
41
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
42
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
43
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
44
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
45
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
46
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.Install = void 0;
|
|
54
|
+
const child_process = __importStar(require("child_process"));
|
|
55
|
+
const fs_1 = __importDefault(require("fs"));
|
|
56
|
+
const os_1 = __importDefault(require("os"));
|
|
57
|
+
const path_1 = __importDefault(require("path"));
|
|
58
|
+
const async_retry_1 = __importDefault(require("async-retry"));
|
|
59
|
+
const handlebars = __importStar(require("handlebars"));
|
|
60
|
+
const util = __importStar(require("util"));
|
|
61
|
+
const core = __importStar(require("@actions/core"));
|
|
62
|
+
const io = __importStar(require("@actions/io"));
|
|
63
|
+
const tc = __importStar(require("@actions/tool-cache"));
|
|
64
|
+
const exec_1 = require("../exec");
|
|
65
|
+
const util_1 = require("../util");
|
|
66
|
+
const assets_1 = require("./assets");
|
|
67
|
+
class Install {
|
|
68
|
+
download(version, channel) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
channel = channel || 'stable';
|
|
71
|
+
const downloadURL = this.downloadURL(version, channel);
|
|
72
|
+
core.info(`Downloading ${downloadURL}`);
|
|
73
|
+
const downloadPath = yield tc.downloadTool(downloadURL);
|
|
74
|
+
core.debug(`docker.Install.download downloadPath: ${downloadPath}`);
|
|
75
|
+
let extractFolder;
|
|
76
|
+
if (os_1.default.platform() == 'win32') {
|
|
77
|
+
extractFolder = yield tc.extractZip(downloadPath);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
extractFolder = yield tc.extractTar(downloadPath);
|
|
81
|
+
}
|
|
82
|
+
if (util_1.Util.isDirectory(path_1.default.join(extractFolder, 'docker'))) {
|
|
83
|
+
extractFolder = path_1.default.join(extractFolder, 'docker');
|
|
84
|
+
}
|
|
85
|
+
core.debug(`docker.Install.download extractFolder: ${extractFolder}`);
|
|
86
|
+
core.info('Fixing perms');
|
|
87
|
+
fs_1.default.readdir(path_1.default.join(extractFolder), function (err, files) {
|
|
88
|
+
if (err) {
|
|
89
|
+
throw err;
|
|
90
|
+
}
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
92
|
+
files.forEach(function (file, index) {
|
|
93
|
+
fs_1.default.chmodSync(path_1.default.join(extractFolder, file), '0755');
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
const tooldir = yield tc.cacheDir(extractFolder, `docker-${channel}`, version.replace(/(0+)([1-9]+)/, '$2'));
|
|
97
|
+
core.addPath(tooldir);
|
|
98
|
+
core.info('Added Docker to PATH');
|
|
99
|
+
return tooldir;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
install(toolDir, runDir, version, channel) {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
if (toolDir.length == 0) {
|
|
105
|
+
throw new Error('toolDir must be set');
|
|
106
|
+
}
|
|
107
|
+
if (runDir.length == 0) {
|
|
108
|
+
throw new Error('runDir must be set');
|
|
109
|
+
}
|
|
110
|
+
channel = channel || 'stable';
|
|
111
|
+
switch (os_1.default.platform()) {
|
|
112
|
+
case 'darwin': {
|
|
113
|
+
yield this.installDarwin(toolDir, version, channel);
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
case 'linux': {
|
|
117
|
+
yield this.installLinux(toolDir, runDir);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
case 'win32': {
|
|
121
|
+
yield this.installWindows(toolDir, runDir);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
default: {
|
|
125
|
+
throw new Error(`Unsupported platform: ${os_1.default.platform()}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
installDarwin(toolDir, version, channel) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
const colimaDir = path_1.default.join(os_1.default.homedir(), '.colima', 'default'); // TODO: create a custom colima profile to avoid overlap with other actions
|
|
133
|
+
yield io.mkdirP(colimaDir);
|
|
134
|
+
const dockerHost = `unix://${colimaDir}/docker.sock`;
|
|
135
|
+
if (!(yield Install.colimaInstalled())) {
|
|
136
|
+
yield core.group('Installing colima', () => __awaiter(this, void 0, void 0, function* () {
|
|
137
|
+
yield exec_1.Exec.exec('brew', ['install', 'colima']);
|
|
138
|
+
}));
|
|
139
|
+
}
|
|
140
|
+
yield core.group('Creating colima config', () => __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
const colimaCfg = handlebars.compile(assets_1.colimaYamlData)({
|
|
142
|
+
hostArch: Install.platformArch(),
|
|
143
|
+
dockerVersion: version,
|
|
144
|
+
dockerChannel: channel
|
|
145
|
+
});
|
|
146
|
+
core.info(`Writing colima config to ${path_1.default.join(colimaDir, 'colima.yaml')}`);
|
|
147
|
+
fs_1.default.writeFileSync(path_1.default.join(colimaDir, 'colima.yaml'), colimaCfg);
|
|
148
|
+
core.info(colimaCfg);
|
|
149
|
+
}));
|
|
150
|
+
// colima is already started on the runner so env var added in download
|
|
151
|
+
// method is not expanded to the running process.
|
|
152
|
+
const envs = Object.assign({}, process.env, {
|
|
153
|
+
PATH: `${toolDir}:${process.env.PATH}`
|
|
154
|
+
});
|
|
155
|
+
yield core.group('Starting colima', () => __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
yield exec_1.Exec.exec('colima', ['start', '--very-verbose'], { env: envs });
|
|
157
|
+
}));
|
|
158
|
+
yield core.group('Create Docker context', () => __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
yield exec_1.Exec.exec('docker', ['context', 'create', 'setup-docker-action', '--docker', `host=${dockerHost}`]);
|
|
160
|
+
yield exec_1.Exec.exec('docker', ['context', 'use', 'setup-docker-action']);
|
|
161
|
+
}));
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
installLinux(toolDir, runDir) {
|
|
165
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
166
|
+
const dockerHost = `unix://${path_1.default.join(runDir, 'docker.sock')}`;
|
|
167
|
+
yield io.mkdirP(runDir);
|
|
168
|
+
yield core.group('Start Docker daemon', () => __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
const bashPath = yield io.which('bash', true);
|
|
170
|
+
const proc = yield child_process.spawn(`sudo -E ${bashPath} ${(0, assets_1.setupDockerLinuxSh)()}`, [], {
|
|
171
|
+
detached: true,
|
|
172
|
+
shell: true,
|
|
173
|
+
stdio: ['ignore', process.stdout, process.stderr],
|
|
174
|
+
env: Object.assign({}, process.env, {
|
|
175
|
+
TOOLDIR: toolDir,
|
|
176
|
+
RUNDIR: runDir,
|
|
177
|
+
DOCKER_HOST: dockerHost
|
|
178
|
+
})
|
|
179
|
+
});
|
|
180
|
+
proc.unref();
|
|
181
|
+
yield (0, async_retry_1.default)((bail) => __awaiter(this, void 0, void 0, function* () {
|
|
182
|
+
yield exec_1.Exec.getExecOutput(`docker version`, undefined, {
|
|
183
|
+
ignoreReturnCode: true,
|
|
184
|
+
silent: true,
|
|
185
|
+
env: Object.assign({}, process.env, {
|
|
186
|
+
DOCKER_HOST: dockerHost
|
|
187
|
+
})
|
|
188
|
+
})
|
|
189
|
+
.then(res => {
|
|
190
|
+
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
191
|
+
bail(new Error(res.stderr));
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
return res.exitCode == 0;
|
|
195
|
+
})
|
|
196
|
+
.catch(error => {
|
|
197
|
+
bail(error);
|
|
198
|
+
return false;
|
|
199
|
+
});
|
|
200
|
+
}), {
|
|
201
|
+
retries: 5
|
|
202
|
+
});
|
|
203
|
+
core.info(`Docker daemon started started successfully`);
|
|
204
|
+
}));
|
|
205
|
+
yield core.group('Create Docker context', () => __awaiter(this, void 0, void 0, function* () {
|
|
206
|
+
yield exec_1.Exec.exec('docker', ['context', 'create', 'setup-docker-action', '--docker', `host=${dockerHost}`]);
|
|
207
|
+
yield exec_1.Exec.exec('docker', ['context', 'use', 'setup-docker-action']);
|
|
208
|
+
}));
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
installWindows(toolDir, runDir) {
|
|
212
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
213
|
+
const dockerHost = 'npipe:////./pipe/setup_docker_action';
|
|
214
|
+
yield core.group('Install Docker daemon service', () => __awaiter(this, void 0, void 0, function* () {
|
|
215
|
+
const setupCmd = yield util_1.Util.powershellCommand((0, assets_1.setupDockerWinPs1)(), {
|
|
216
|
+
ToolDir: toolDir,
|
|
217
|
+
RunDir: runDir,
|
|
218
|
+
DockerHost: dockerHost
|
|
219
|
+
});
|
|
220
|
+
yield exec_1.Exec.exec(setupCmd.command, setupCmd.args);
|
|
221
|
+
const logCmd = yield util_1.Util.powershellCommand((0, assets_1.dockerServiceLogsPs1)());
|
|
222
|
+
yield exec_1.Exec.exec(logCmd.command, logCmd.args);
|
|
223
|
+
}));
|
|
224
|
+
yield core.group('Create Docker context', () => __awaiter(this, void 0, void 0, function* () {
|
|
225
|
+
yield exec_1.Exec.exec('docker', ['context', 'create', 'setup-docker-action', '--docker', `host=${dockerHost}`]);
|
|
226
|
+
yield exec_1.Exec.exec('docker', ['context', 'use', 'setup-docker-action']);
|
|
227
|
+
}));
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
tearDown(runDir) {
|
|
231
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
232
|
+
switch (os_1.default.platform()) {
|
|
233
|
+
case 'darwin': {
|
|
234
|
+
yield this.tearDownDarwin(runDir);
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
case 'linux': {
|
|
238
|
+
yield this.tearDownLinux(runDir);
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case 'win32': {
|
|
242
|
+
yield this.tearDownWindows();
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
default: {
|
|
246
|
+
throw new Error(`Unsupported platform: ${os_1.default.platform()}`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
tearDownDarwin(runDir) {
|
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
+
yield core.group('Docker daemon logs', () => __awaiter(this, void 0, void 0, function* () {
|
|
254
|
+
yield exec_1.Exec.exec('colima', ['exec', '--', 'cat', '/var/log/docker.log']);
|
|
255
|
+
}));
|
|
256
|
+
yield core.group('Stopping colima', () => __awaiter(this, void 0, void 0, function* () {
|
|
257
|
+
yield exec_1.Exec.exec('colima', ['stop', '--very-verbose']);
|
|
258
|
+
}));
|
|
259
|
+
yield core.group('Removing Docker context', () => __awaiter(this, void 0, void 0, function* () {
|
|
260
|
+
yield exec_1.Exec.exec('docker', ['context', 'rm', '-f', 'setup-docker-action']);
|
|
261
|
+
}));
|
|
262
|
+
yield core.group(`Cleaning up runDir`, () => __awaiter(this, void 0, void 0, function* () {
|
|
263
|
+
yield exec_1.Exec.exec('sudo', ['rm', '-rf', runDir]);
|
|
264
|
+
}));
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
tearDownLinux(runDir) {
|
|
268
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
269
|
+
yield core.group('Docker daemon logs', () => __awaiter(this, void 0, void 0, function* () {
|
|
270
|
+
core.info(fs_1.default.readFileSync(path_1.default.join(runDir, 'dockerd.log'), { encoding: 'utf8' }));
|
|
271
|
+
}));
|
|
272
|
+
yield core.group('Stopping Docker daemon', () => __awaiter(this, void 0, void 0, function* () {
|
|
273
|
+
yield exec_1.Exec.exec('sudo', ['kill', fs_1.default.readFileSync(path_1.default.join(runDir, 'docker.pid')).toString().trim()]);
|
|
274
|
+
}));
|
|
275
|
+
yield core.group('Removing Docker context', () => __awaiter(this, void 0, void 0, function* () {
|
|
276
|
+
yield exec_1.Exec.exec('docker', ['context', 'rm', '-f', 'setup-docker-action']);
|
|
277
|
+
}));
|
|
278
|
+
yield core.group(`Cleaning up runDir`, () => __awaiter(this, void 0, void 0, function* () {
|
|
279
|
+
yield exec_1.Exec.exec('sudo', ['rm', '-rf', runDir]);
|
|
280
|
+
}));
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
tearDownWindows() {
|
|
284
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
285
|
+
yield core.group('Docker daemon logs', () => __awaiter(this, void 0, void 0, function* () {
|
|
286
|
+
const logCmd = yield util_1.Util.powershellCommand((0, assets_1.dockerServiceLogsPs1)());
|
|
287
|
+
yield exec_1.Exec.exec(logCmd.command, logCmd.args);
|
|
288
|
+
}));
|
|
289
|
+
yield core.group('Removing Docker context', () => __awaiter(this, void 0, void 0, function* () {
|
|
290
|
+
yield exec_1.Exec.exec('docker', ['context', 'rm', '-f', 'setup-docker-action']);
|
|
291
|
+
}));
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
downloadURL(version, channel) {
|
|
295
|
+
const platformOS = Install.platformOS();
|
|
296
|
+
const platformArch = Install.platformArch();
|
|
297
|
+
const ext = platformOS === 'win' ? '.zip' : '.tgz';
|
|
298
|
+
return util.format('https://download.docker.com/%s/static/%s/%s/docker-%s%s', platformOS, channel, platformArch, version, ext);
|
|
299
|
+
}
|
|
300
|
+
static platformOS() {
|
|
301
|
+
switch (os_1.default.platform()) {
|
|
302
|
+
case 'darwin': {
|
|
303
|
+
return 'mac';
|
|
304
|
+
}
|
|
305
|
+
case 'linux': {
|
|
306
|
+
return 'linux';
|
|
307
|
+
}
|
|
308
|
+
case 'win32': {
|
|
309
|
+
return 'win';
|
|
310
|
+
}
|
|
311
|
+
default: {
|
|
312
|
+
return os_1.default.platform();
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
static platformArch() {
|
|
317
|
+
switch (os_1.default.arch()) {
|
|
318
|
+
case 'x64': {
|
|
319
|
+
return 'x86_64';
|
|
320
|
+
}
|
|
321
|
+
case 'ppc64': {
|
|
322
|
+
return 'ppc64le';
|
|
323
|
+
}
|
|
324
|
+
case 'arm': {
|
|
325
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
326
|
+
const arm_version = process.config.variables.arm_version;
|
|
327
|
+
switch (arm_version) {
|
|
328
|
+
case 6: {
|
|
329
|
+
return 'armel';
|
|
330
|
+
}
|
|
331
|
+
case 7: {
|
|
332
|
+
return 'armhf';
|
|
333
|
+
}
|
|
334
|
+
default: {
|
|
335
|
+
return `v${arm_version}`;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
default: {
|
|
340
|
+
return os_1.default.arch();
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
static colimaInstalled() {
|
|
345
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
346
|
+
return yield io
|
|
347
|
+
.which('colima', true)
|
|
348
|
+
.then(res => {
|
|
349
|
+
core.debug(`docker.Install.colimaAvailable ok: ${res}`);
|
|
350
|
+
return true;
|
|
351
|
+
})
|
|
352
|
+
.catch(error => {
|
|
353
|
+
core.debug(`docker.Install.colimaAvailable error: ${error}`);
|
|
354
|
+
return false;
|
|
355
|
+
});
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
exports.Install = Install;
|
|
360
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/docker/install.ts"],"names":[],"mappings":"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"}
|
package/lib/git.d.ts
CHANGED
|
@@ -13,6 +13,15 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import { Context as GitContext } from './types/git';
|
|
16
17
|
export declare class Git {
|
|
17
|
-
static
|
|
18
|
+
static context(): Promise<GitContext>;
|
|
19
|
+
static isInsideWorkTree(): Promise<boolean>;
|
|
20
|
+
static remoteSha(repo: string, ref: string): Promise<string>;
|
|
21
|
+
static remoteURL(): Promise<string>;
|
|
22
|
+
static ref(): Promise<string>;
|
|
23
|
+
static fullCommit(): Promise<string>;
|
|
24
|
+
static shortCommit(): Promise<string>;
|
|
25
|
+
static tag(): Promise<string>;
|
|
26
|
+
private static exec;
|
|
18
27
|
}
|
package/lib/git.js
CHANGED
|
@@ -26,21 +26,88 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
27
|
exports.Git = void 0;
|
|
28
28
|
const exec_1 = require("./exec");
|
|
29
|
+
const context_1 = require("@actions/github/lib/context");
|
|
29
30
|
class Git {
|
|
30
|
-
static
|
|
31
|
+
static context() {
|
|
31
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
|
|
33
|
+
const ctx = new context_1.Context();
|
|
34
|
+
ctx.ref = yield Git.ref();
|
|
35
|
+
ctx.sha = yield Git.fullCommit();
|
|
36
|
+
return ctx;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
static isInsideWorkTree() {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return yield Git.exec(['rev-parse', '--is-inside-work-tree'])
|
|
42
|
+
.then(out => {
|
|
43
|
+
return out === 'true';
|
|
44
|
+
})
|
|
45
|
+
.catch(() => {
|
|
46
|
+
return false;
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
static remoteSha(repo, ref) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
return yield Git.exec(['ls-remote', repo, ref]).then(out => {
|
|
53
|
+
const [rsha] = out.split(/[\s\t]/);
|
|
54
|
+
if (rsha.length == 0) {
|
|
55
|
+
throw new Error(`Cannot find remote ref for ${repo}#${ref}`);
|
|
56
|
+
}
|
|
57
|
+
return rsha;
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
static remoteURL() {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
return yield Git.exec(['remote', 'get-url', 'origin']).then(rurl => {
|
|
64
|
+
if (rurl.length == 0) {
|
|
65
|
+
return Git.exec(['remote', 'get-url', 'upstream']).then(rurl => {
|
|
66
|
+
if (rurl.length == 0) {
|
|
67
|
+
throw new Error(`Cannot find remote URL for origin or upstream`);
|
|
68
|
+
}
|
|
69
|
+
return rurl;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return rurl;
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
static ref() {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
return yield Git.exec(['symbolic-ref', 'HEAD']);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
static fullCommit() {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
return yield Git.exec(['show', '--format=%H', 'HEAD', '--quiet', '--']);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
static shortCommit() {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
return yield Git.exec(['show', '--format=%h', 'HEAD', '--quiet', '--']);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
static tag() {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
return yield Git.exec(['tag', '--points-at', 'HEAD', '--sort', '-version:creatordate']).then(tags => {
|
|
94
|
+
if (tags.length == 0) {
|
|
95
|
+
return Git.exec(['describe', '--tags', '--abbrev=0']);
|
|
96
|
+
}
|
|
97
|
+
return tags.split('\n')[0];
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
static exec(args = []) {
|
|
102
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
return yield exec_1.Exec.getExecOutput(`git`, args, {
|
|
33
104
|
ignoreReturnCode: true,
|
|
34
105
|
silent: true
|
|
35
106
|
}).then(res => {
|
|
36
107
|
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
37
108
|
throw new Error(res.stderr);
|
|
38
109
|
}
|
|
39
|
-
|
|
40
|
-
if (rsha.length == 0) {
|
|
41
|
-
throw new Error(`Cannot find remote ref for ${repo}#${ref}`);
|
|
42
|
-
}
|
|
43
|
-
return rsha;
|
|
110
|
+
return res.stdout.trim();
|
|
44
111
|
});
|
|
45
112
|
});
|
|
46
113
|
}
|
package/lib/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;AAEH,iCAA4B;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 actions-toolkit authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Context as GitHubContext } from '@actions/github/lib/context';
|
|
17
|
+
export type Context = GitHubContext;
|
package/lib/types/git.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2023 actions-toolkit authors
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/types/git.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
|
package/lib/util.d.ts
CHANGED
|
@@ -22,4 +22,9 @@ export declare class Util {
|
|
|
22
22
|
static getInputList(name: string, opts?: InputListOpts): string[];
|
|
23
23
|
static asyncForEach(array: any, callback: any): Promise<void>;
|
|
24
24
|
static isValidUrl(url: string): boolean;
|
|
25
|
+
static powershellCommand(script: string, params?: Record<string, string>): Promise<{
|
|
26
|
+
command: string;
|
|
27
|
+
args: string[];
|
|
28
|
+
}>;
|
|
29
|
+
static isDirectory(p: any): boolean;
|
|
25
30
|
}
|
package/lib/util.js
CHANGED
|
@@ -46,9 +46,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
46
46
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
47
47
|
});
|
|
48
48
|
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
49
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
53
|
exports.Util = void 0;
|
|
54
|
+
const fs_1 = __importDefault(require("fs"));
|
|
51
55
|
const core = __importStar(require("@actions/core"));
|
|
56
|
+
const io = __importStar(require("@actions/io"));
|
|
52
57
|
const sync_1 = require("csv-parse/sync");
|
|
53
58
|
class Util {
|
|
54
59
|
static getInputList(name, opts) {
|
|
@@ -99,6 +104,31 @@ class Util {
|
|
|
99
104
|
}
|
|
100
105
|
return true;
|
|
101
106
|
}
|
|
107
|
+
static powershellCommand(script, params) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const powershellPath = yield io.which('powershell', true);
|
|
110
|
+
const escapedScript = script.replace(/'/g, "''").replace(/"|\n|\r/g, '');
|
|
111
|
+
const escapedParams = [];
|
|
112
|
+
if (params) {
|
|
113
|
+
for (const key in params) {
|
|
114
|
+
escapedParams.push(`-${key} '${params[key].replace(/'/g, "''").replace(/"|\n|\r/g, '')}'`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
command: `"${powershellPath}"`,
|
|
119
|
+
args: ['-NoLogo', '-Sta', '-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Unrestricted', '-Command', `& '${escapedScript}' ${escapedParams.join(' ')}`]
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
static isDirectory(p) {
|
|
124
|
+
try {
|
|
125
|
+
return fs_1.default.lstatSync(p).isDirectory();
|
|
126
|
+
}
|
|
127
|
+
catch (_) {
|
|
128
|
+
// noop
|
|
129
|
+
}
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
102
132
|
}
|
|
103
133
|
exports.Util = Util;
|
|
104
134
|
//# sourceMappingURL=util.js.map
|
package/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docker/actions-toolkit",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.17",
|
|
4
4
|
"description": "Toolkit for Docker (GitHub) Actions",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc",
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
"prettier": "prettier --check \"./**/*.ts\"",
|
|
12
12
|
"prettier:fix": "prettier --write \"./**/*.ts\"",
|
|
13
13
|
"test": "jest",
|
|
14
|
-
"test
|
|
14
|
+
"test:e2e": "jest -c jest.config.e2e.ts --runInBand --detectOpenHandles",
|
|
15
|
+
"test-coverage": "jest --coverage",
|
|
16
|
+
"test-coverage:e2e": "jest --coverage -c jest.config.e2e.ts --runInBand --detectOpenHandles"
|
|
15
17
|
},
|
|
16
18
|
"repository": {
|
|
17
19
|
"type": "git",
|
|
@@ -48,7 +50,9 @@
|
|
|
48
50
|
"@actions/http-client": "^2.0.1",
|
|
49
51
|
"@actions/io": "^1.1.2",
|
|
50
52
|
"@actions/tool-cache": "^2.0.1",
|
|
53
|
+
"async-retry": "^1.3.3",
|
|
51
54
|
"csv-parse": "^5.3.5",
|
|
55
|
+
"handlebars": "^4.7.7",
|
|
52
56
|
"jwt-decode": "^3.1.2",
|
|
53
57
|
"semver": "^7.3.8",
|
|
54
58
|
"tmp": "^0.2.1"
|
package/lib/docker.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAoB;AACpB,gDAAwB;AACxB,oDAAsC;AACtC,gDAAkC;AAClC,iCAA4B;AAE5B,MAAa,MAAM;IACjB,MAAM,KAAK,SAAS;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAEM,MAAM,CAAO,WAAW;;YAC7B,OAAO,MAAM,EAAE;iBACZ,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;iBACrB,IAAI,CAAC,GAAG,CAAC,EAAE;gBACV,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;iBACD,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAO,OAAO,CAAC,IAAa;;YACvC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjB;YACD,OAAO,MAAM,WAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE;gBAC9C,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACZ,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE;oBAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC7B;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEM,MAAM,CAAO,YAAY;;YAC9B,MAAM,WAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACzC,CAAC;KAAA;IAEM,MAAM,CAAO,SAAS;;YAC3B,MAAM,WAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;KAAA;CACF;AAzCD,wBAyCC"}
|
|
File without changes
|