@docker/actions-toolkit 0.40.0 → 0.41.1

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.
@@ -18,4 +18,4 @@ export declare const dockerServiceLogsPs1: () => string;
18
18
  export declare const limaYaml: () => string;
19
19
  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 [Parameter(Mandatory = $false)]\n [string]$DaemonConfig)\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:Path = \"$ToolDir;\" + [System.Environment]::GetEnvironmentVariable(\"Path\",\"Machine\") + \";\" + [System.Environment]::GetEnvironmentVariable(\"Path\",\"User\")\nWrite-Host \"Path: $env:Path\"\n\n$env:DOCKER_HOST = $DockerHost\nWrite-Host \"DOCKER_HOST: $env:DOCKER_HOST\"\n\nif ($DaemonConfig) {\n Write-Host \"Writing Docker daemon config\"\n New-Item -ItemType Directory -Force -Path \"$env:ProgramData\\Docker\\config\"\n $DaemonConfig | Out-File -FilePath \"$env:ProgramData\\Docker\\config\\daemon.json\"\n}\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";
20
20
  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";
21
- export declare const limaYamlData = "\n# VM type: \"qemu\" or \"vz\" (on macOS 13 and later).\n# The vmType can be specified only on creating the instance.\n# The vmType of existing instances cannot be changed.\n# Builtin default: \"qemu\"\nvmType: qemu\n\n# OS: \"Linux\".\n# Builtin default: \"Linux\"\nos: null\n\n# Arch: \"default\", \"x86_64\", \"aarch64\".\n# Builtin default: \"default\" (corresponds to the host architecture)\narch: null\n\nimages:\n{{#each customImages}}\n- location: \"{{location}}\"\n arch: \"{{arch}}\"\n digest: \"{{digest}}\"\n{{/each}}\n- location: \"https://cloud-images.ubuntu.com/releases/22.04/release-20231026/ubuntu-22.04-server-cloudimg-amd64.img\"\n arch: \"x86_64\"\n digest: \"sha256:054db2d88c454bb0ad8dfd8883955e3946b57d2b0bf0d023f3ade3c93cdd14e5\"\n- location: \"https://cloud-images.ubuntu.com/releases/22.04/release-20231026/ubuntu-22.04-server-cloudimg-arm64.img\"\n arch: \"aarch64\"\n digest: \"sha256:eafa7742ce5ff109222ea313d31ea366d587b4e89b900b11d8285ae775dfe8c3\"\n\n# CPUs\n# Builtin default: min(4, host CPU cores)\ncpus: null\n\n# Memory size\n# Builtin default: min(\"4GiB\", half of host memory)\nmemory: null\n\n# Disk size\n# Builtin default: \"100GiB\"\ndisk: 60GiB\n\n# Expose host directories to the guest, the mount point might be accessible from all UIDs in the guest\n# Builtin default: null (Mount nothing)\n# This file: Mount the home as read-only, /tmp/lima as writable\nmounts:\n- location: \"~\"\n- location: \"/tmp/lima\"\n writable: true\n\n# Mount type for above mounts, such as \"reverse-sshfs\" (from sshocker), \"9p\" (EXPERIMENTAL, from QEMU\u2019s virtio-9p-pci, aka virtfs),\n# or \"virtiofs\" (EXPERIMENTAL, needs `vmType: vz`)\n# Builtin default: \"reverse-sshfs\" (for QEMU), \"virtiofs\" (for vz)\nmountType: null\n\ncontainerd:\n system: false\n user: false\n\nprovision:\n- mode: system\n # This script defines the host.docker.internal hostname when hostResolver is disabled.\n # It is also needed for lima 0.8.2 and earlier, which does not support hostResolver.hosts.\n # Names defined in /etc/hosts inside the VM are not resolved inside containers when\n # using the hostResolver; use hostResolver.hosts instead (requires lima 0.8.3 or later).\n script: |\n #!/bin/sh\n sed -i 's/host.lima.internal.*/host.lima.internal host.docker.internal/' /etc/hosts\n- mode: system\n script: |\n #!/bin/sh\n apt-get install -f -y iptables\n- mode: system\n script: |\n #!/bin/bash\n set -eux -o pipefail\n command -v docker >/dev/null 2>&1 && exit 0\n if [ ! -e /etc/systemd/system/docker.socket.d/override.conf ]; then\n mkdir -p /etc/systemd/system/docker.socket.d\n # Alternatively we could just add the user to the \"docker\" group, but that requires restarting the user session\n cat <<-EOF >/etc/systemd/system/docker.socket.d/override.conf\n [Socket]\n SocketUser=${LIMA_CIDATA_USER}\n EOF\n fi\n if [ ! -e /etc/docker/daemon.json ]; then\n mkdir -p /etc/docker\n cat <<-EOF >/etc/docker/daemon.json\n {{stringify daemonConfig}}\n EOF\n fi\n export DEBIAN_FRONTEND=noninteractive\n curl -fsSL https://get.docker.com | sh -s -- --channel {{dockerBinChannel}} --version {{dockerBinVersion}}\n\nprobes:\n- script: |\n #!/bin/bash\n set -eux -o pipefail\n if ! timeout 30s bash -c \"until command -v docker >/dev/null 2>&1; do sleep 3; done\"; then\n echo >&2 \"docker is not installed yet\"\n exit 1\n fi\n if ! timeout 30s bash -c \"until pgrep dockerd; do sleep 3; done\"; then\n echo >&2 \"dockerd is not running\"\n exit 1\n fi\n hint: See \"/var/log/cloud-init-output.log\". in the guest\n\nhostResolver:\n # hostResolver.hosts requires lima 0.8.3 or later. Names defined here will also\n # resolve inside containers, and not just inside the VM itself.\n hosts:\n host.docker.internal: host.lima.internal\n\nportForwards:\n- guestSocket: \"/var/run/docker.sock\"\n hostSocket: \"{{dockerSock}}\"\n\naudio:\n # EXPERIMENTAL\n # QEMU audiodev, e.g., \"none\", \"coreaudio\", \"pa\", \"alsa\", \"oss\".\n # VZ driver, use \"vz\" as device name\n # Choosing \"none\" will mute the audio output, and not play any sound.\n # Builtin default: \"\"\n device: none\n";
21
+ export declare const limaYamlData = "\n# VM type: \"qemu\" or \"vz\" (on macOS 13 and later).\n# The vmType can be specified only on creating the instance.\n# The vmType of existing instances cannot be changed.\n# Builtin default: \"qemu\"\nvmType: qemu\n\n# OS: \"Linux\".\n# Builtin default: \"Linux\"\nos: null\n\n# Arch: \"default\", \"x86_64\", \"aarch64\".\n# Builtin default: \"default\" (corresponds to the host architecture)\narch: null\n\nimages:\n{{#each customImages}}\n- location: \"{{location}}\"\n arch: \"{{arch}}\"\n digest: \"{{digest}}\"\n{{/each}}\n- location: \"https://cloud-images.ubuntu.com/releases/22.04/release-20231026/ubuntu-22.04-server-cloudimg-amd64.img\"\n arch: \"x86_64\"\n digest: \"sha256:054db2d88c454bb0ad8dfd8883955e3946b57d2b0bf0d023f3ade3c93cdd14e5\"\n- location: \"https://cloud-images.ubuntu.com/releases/22.04/release-20231026/ubuntu-22.04-server-cloudimg-arm64.img\"\n arch: \"aarch64\"\n digest: \"sha256:eafa7742ce5ff109222ea313d31ea366d587b4e89b900b11d8285ae775dfe8c3\"\n\n# CPUs\n# Builtin default: min(4, host CPU cores)\ncpus: null\n\n# Memory size\n# Builtin default: min(\"4GiB\", half of host memory)\nmemory: null\n\n# Disk size\n# Builtin default: \"100GiB\"\ndisk: 60GiB\n\n# Expose host directories to the guest, the mount point might be accessible from all UIDs in the guest\n# Builtin default: null (Mount nothing)\n# This file: Mount the home as read-only, /tmp/lima as writable\nmounts:\n- location: \"~\"\n- location: \"/tmp/lima\"\n writable: true\n\n# Mount type for above mounts, such as \"reverse-sshfs\" (from sshocker), \"9p\" (EXPERIMENTAL, from QEMU\u2019s virtio-9p-pci, aka virtfs),\n# or \"virtiofs\" (EXPERIMENTAL, needs `vmType: vz`)\n# Builtin default: \"reverse-sshfs\" (for QEMU), \"virtiofs\" (for vz)\nmountType: null\n\ncontainerd:\n system: false\n user: false\n\nprovision:\n- mode: system\n # This script defines the host.docker.internal hostname when hostResolver is disabled.\n # It is also needed for lima 0.8.2 and earlier, which does not support hostResolver.hosts.\n # Names defined in /etc/hosts inside the VM are not resolved inside containers when\n # using the hostResolver; use hostResolver.hosts instead (requires lima 0.8.3 or later).\n script: |\n #!/bin/sh\n sed -i 's/host.lima.internal.*/host.lima.internal host.docker.internal/' /etc/hosts\n- mode: system\n script: |\n #!/bin/sh\n apt-get install -f -y iptables\n- mode: system\n script: |\n #!/bin/bash\n set -eux -o pipefail\n command -v docker >/dev/null 2>&1 && exit 0\n if [ ! -e /etc/systemd/system/docker.socket.d/override.conf ]; then\n mkdir -p /etc/systemd/system/docker.socket.d\n # Alternatively we could just add the user to the \"docker\" group, but that requires restarting the user session\n cat <<-EOF >/etc/systemd/system/docker.socket.d/override.conf\n [Socket]\n SocketUser=${LIMA_CIDATA_USER}\n EOF\n fi\n if [ ! -e /etc/docker/daemon.json ]; then\n mkdir -p /etc/docker\n cat <<-EOF >/etc/docker/daemon.json\n {{stringify daemonConfig}}\n EOF\n fi\n export DEBIAN_FRONTEND=noninteractive\n if [ \"{{srcType}}\" == \"archive\" ]; then\n curl -fsSL https://get.docker.com | sh -s -- --channel {{srcArchiveChannel}} --version {{srcArchiveVersion}}\n elif [ \"{{srcType}}\" == \"image\" ]; then\n arch=$(uname -m)\n case $arch in\n x86_64) arch=amd64;;\n aarch64) arch=arm64;;\n esac\n url=\"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_$arch.tar.gz\"\n\n wget \"$url\" -O /tmp/undock.tar.gz\n tar -C /usr/local/bin -xvf /tmp/undock.tar.gz\n undock --version\n\n HOME=/tmp undock moby/moby-bin:{{srcImageTag}} /usr/local/bin\n\n wget https://raw.githubusercontent.com/moby/moby/{{srcImageTag}}/contrib/init/systemd/docker.service https://raw.githubusercontent.com/moby/moby/v{{srcImageTag}}/contrib/init/systemd/docker.service -O /etc/systemd/system/docker.service || true\n wget https://raw.githubusercontent.com/moby/moby/{{srcImageTag}}/contrib/init/systemd/docker.socket https://raw.githubusercontent.com/moby/moby/v{{srcImageTag}}/contrib/init/systemd/docker.socket -O /etc/systemd/system/docker.socket || true\n\n sed -i 's|^ExecStart=.*|ExecStart=/usr/local/bin/dockerd -H fd://|' /etc/systemd/system/docker.service\n sed -i 's|containerd.service||' /etc/systemd/system/docker.service\n if ! getent group docker; then\n groupadd --system docker\n fi\n systemctl daemon-reload\n fail=0\n if ! systemctl enable --now docker; then\n fail=1\n fi\n systemctl status docker.socket || true\n systemctl status docker.service || true\n exit $fail\n fi\n\nprobes:\n- script: |\n #!/bin/bash\n set -eux -o pipefail\n # Don't check for docker CLI as it's not installed in the VM (only on the host)\n if ! timeout 30s bash -c \"until pgrep dockerd; do sleep 3; done\"; then\n echo >&2 \"dockerd is not running\"\n exit 1\n fi\n hint: See \"/var/log/cloud-init-output.log\". in the guest\n\nhostResolver:\n # hostResolver.hosts requires lima 0.8.3 or later. Names defined here will also\n # resolve inside containers, and not just inside the VM itself.\n hosts:\n host.docker.internal: host.lima.internal\n\nportForwards:\n- guestSocket: \"/var/run/docker.sock\"\n hostSocket: \"{{dockerSock}}\"\n\naudio:\n # EXPERIMENTAL\n # QEMU audiodev, e.g., \"none\", \"coreaudio\", \"pa\", \"alsa\", \"oss\".\n # VZ driver, use \"vz\" as device name\n # Choosing \"none\" will mute the audio output, and not play any sound.\n # Builtin default: \"\"\n device: none\n";
@@ -222,16 +222,49 @@ provision:
222
222
  EOF
223
223
  fi
224
224
  export DEBIAN_FRONTEND=noninteractive
225
- curl -fsSL https://get.docker.com | sh -s -- --channel {{dockerBinChannel}} --version {{dockerBinVersion}}
225
+ if [ "{{srcType}}" == "archive" ]; then
226
+ curl -fsSL https://get.docker.com | sh -s -- --channel {{srcArchiveChannel}} --version {{srcArchiveVersion}}
227
+ elif [ "{{srcType}}" == "image" ]; then
228
+ arch=$(uname -m)
229
+ case $arch in
230
+ x86_64) arch=amd64;;
231
+ aarch64) arch=arm64;;
232
+ esac
233
+ url="https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_$arch.tar.gz"
234
+
235
+ wget "$url" -O /tmp/undock.tar.gz
236
+ tar -C /usr/local/bin -xvf /tmp/undock.tar.gz
237
+ undock --version
238
+
239
+ HOME=/tmp undock moby/moby-bin:{{srcImageTag}} /usr/local/bin
240
+
241
+ wget https://raw.githubusercontent.com/moby/moby/{{srcImageTag}}/contrib/init/systemd/docker.service \
242
+ https://raw.githubusercontent.com/moby/moby/v{{srcImageTag}}/contrib/init/systemd/docker.service \
243
+ -O /etc/systemd/system/docker.service || true
244
+ wget https://raw.githubusercontent.com/moby/moby/{{srcImageTag}}/contrib/init/systemd/docker.socket \
245
+ https://raw.githubusercontent.com/moby/moby/v{{srcImageTag}}/contrib/init/systemd/docker.socket \
246
+ -O /etc/systemd/system/docker.socket || true
247
+
248
+ sed -i 's|^ExecStart=.*|ExecStart=/usr/local/bin/dockerd -H fd://|' /etc/systemd/system/docker.service
249
+ sed -i 's|containerd.service||' /etc/systemd/system/docker.service
250
+ if ! getent group docker; then
251
+ groupadd --system docker
252
+ fi
253
+ systemctl daemon-reload
254
+ fail=0
255
+ if ! systemctl enable --now docker; then
256
+ fail=1
257
+ fi
258
+ systemctl status docker.socket || true
259
+ systemctl status docker.service || true
260
+ exit $fail
261
+ fi
226
262
 
227
263
  probes:
228
264
  - script: |
229
265
  #!/bin/bash
230
266
  set -eux -o pipefail
231
- if ! timeout 30s bash -c "until command -v docker >/dev/null 2>&1; do sleep 3; done"; then
232
- echo >&2 "docker is not installed yet"
233
- exit 1
234
- fi
267
+ # Don't check for docker CLI as it's not installed in the VM (only on the host)
235
268
  if ! timeout 30s bash -c "until pgrep dockerd; do sleep 3; done"; then
236
269
  echo >&2 "dockerd is not running"
237
270
  exit 1
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/docker/assets.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,4CAAoB;AACpB,wCAAmC;AAE5B,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,QAAQ,GAAG,GAAW,EAAE;IACnC,OAAO,GAAG,CAAC,WAAW,EAAE,oBAAY,CAAC,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;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,CAAC;QACT,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEW,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFpC,CAAC;AAEW,QAAA,wBAAwB,GAAG;;;;;CAKvC,CAAC;AAEW,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2H3B,CAAC"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/docker/assets.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,4CAAoB;AACpB,wCAAmC;AAE5B,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,QAAQ,GAAG,GAAW,EAAE;IACnC,OAAO,GAAG,CAAC,WAAW,EAAE,oBAAY,CAAC,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;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,CAAC;QACT,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEW,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFpC,CAAC;AAEW,QAAA,wBAAwB,GAAG;;;;;CAKvC,CAAC;AAEW,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4J3B,CAAC"}
@@ -14,9 +14,18 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { GitHubRelease } from '../types/github';
17
+ export interface InstallSourceImage {
18
+ type: 'image';
19
+ tag: string;
20
+ }
21
+ export interface InstallSourceArchive {
22
+ type: 'archive';
23
+ version: string;
24
+ channel: string;
25
+ }
26
+ export type InstallSource = InstallSourceImage | InstallSourceArchive;
17
27
  export interface InstallOpts {
18
- version?: string;
19
- channel?: string;
28
+ source?: InstallSource;
20
29
  runDir: string;
21
30
  contextName?: string;
22
31
  daemonConfig?: string;
@@ -28,8 +37,7 @@ interface LimaImage {
28
37
  }
29
38
  export declare class Install {
30
39
  private readonly runDir;
31
- private readonly version;
32
- private readonly channel;
40
+ private readonly source;
33
41
  private readonly contextName;
34
42
  private readonly daemonConfig?;
35
43
  private _version;
@@ -37,6 +45,7 @@ export declare class Install {
37
45
  private readonly limaInstanceName;
38
46
  constructor(opts: InstallOpts);
39
47
  get toolDir(): string;
48
+ downloadStaticArchive(src: InstallSourceArchive): Promise<string>;
40
49
  download(): Promise<string>;
41
50
  install(): Promise<string>;
42
51
  private installDarwin;
@@ -68,24 +68,28 @@ const docker_1 = require("./docker");
68
68
  const exec_1 = require("../exec");
69
69
  const util_1 = require("../util");
70
70
  const assets_1 = require("./assets");
71
+ const hubRepository_1 = require("../hubRepository");
71
72
  class Install {
72
73
  constructor(opts) {
73
74
  this.limaInstanceName = 'docker-actions-toolkit';
74
75
  this.runDir = opts.runDir;
75
- this.version = opts.version || 'latest';
76
- this.channel = opts.channel || 'stable';
76
+ this.source = opts.source || {
77
+ type: 'archive',
78
+ version: 'latest',
79
+ channel: 'stable'
80
+ };
77
81
  this.contextName = opts.contextName || 'setup-docker-action';
78
82
  this.daemonConfig = opts.daemonConfig;
79
83
  }
80
84
  get toolDir() {
81
85
  return this._toolDir || context_1.Context.tmpDir();
82
86
  }
83
- download() {
87
+ downloadStaticArchive(src) {
84
88
  return __awaiter(this, void 0, void 0, function* () {
85
- const release = yield Install.getRelease(this.version);
89
+ const release = yield Install.getRelease(src.version);
86
90
  this._version = release.tag_name.replace(/^v+|v+$/g, '');
87
91
  core.debug(`docker.Install.download version: ${this._version}`);
88
- const downloadURL = this.downloadURL(this._version, this.channel);
92
+ const downloadURL = this.downloadURL(this._version, src.channel);
89
93
  core.info(`Downloading ${downloadURL}`);
90
94
  const downloadPath = yield tc.downloadTool(downloadURL);
91
95
  core.debug(`docker.Install.download downloadPath: ${downloadPath}`);
@@ -100,6 +104,45 @@ class Install {
100
104
  extractFolder = path_1.default.join(extractFolder, 'docker');
101
105
  }
102
106
  core.debug(`docker.Install.download extractFolder: ${extractFolder}`);
107
+ return extractFolder;
108
+ });
109
+ }
110
+ download() {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ let extractFolder;
113
+ let cacheKey;
114
+ const platform = os_1.default.platform();
115
+ switch (this.source.type) {
116
+ case 'image': {
117
+ const tag = this.source.tag;
118
+ this._version = tag;
119
+ cacheKey = `docker-image`;
120
+ core.info(`Downloading docker cli from dockereng/cli-bin:${tag}`);
121
+ const cli = yield hubRepository_1.HubRepository.build('dockereng/cli-bin');
122
+ extractFolder = yield cli.extractImage(tag);
123
+ if (['win32', 'linux'].includes(platform)) {
124
+ core.info(`Downloading dockerd from moby/moby-bin:${tag}`);
125
+ const moby = yield hubRepository_1.HubRepository.build('moby/moby-bin');
126
+ yield moby.extractImage(tag, extractFolder);
127
+ }
128
+ else if (platform == 'darwin') {
129
+ // On macOS, the docker daemon binary will be downloaded inside the lima VM
130
+ }
131
+ else {
132
+ core.warning(`dockerd not supported on ${platform}, only the Docker cli will be available`);
133
+ }
134
+ break;
135
+ }
136
+ case 'archive': {
137
+ const version = this.source.version;
138
+ const channel = this.source.channel;
139
+ cacheKey = `docker-archive-${channel}`;
140
+ this._version = version;
141
+ core.info(`Downloading Docker ${version} from ${this.source.channel} at download.docker.com`);
142
+ extractFolder = yield this.downloadStaticArchive(this.source);
143
+ break;
144
+ }
145
+ }
103
146
  core.info('Fixing perms');
104
147
  fs_1.default.readdir(path_1.default.join(extractFolder), function (err, files) {
105
148
  if (err) {
@@ -110,7 +153,7 @@ class Install {
110
153
  fs_1.default.chmodSync(path_1.default.join(extractFolder, file), '0755');
111
154
  });
112
155
  });
113
- const tooldir = yield tc.cacheDir(extractFolder, `docker-${this.channel}`, this._version.replace(/(0+)([1-9]+)/, '$2'));
156
+ const tooldir = yield tc.cacheDir(extractFolder, cacheKey, this._version.replace(/(0+)([1-9]+)/, '$2'));
114
157
  core.addPath(tooldir);
115
158
  core.info('Added Docker to PATH');
116
159
  this._toolDir = tooldir;
@@ -143,6 +186,7 @@ class Install {
143
186
  }
144
187
  installDarwin() {
145
188
  return __awaiter(this, void 0, void 0, function* () {
189
+ const src = this.source;
146
190
  const limaDir = path_1.default.join(os_1.default.homedir(), '.lima', this.limaInstanceName);
147
191
  yield io.mkdirP(limaDir);
148
192
  const dockerHost = `unix://${limaDir}/docker.sock`;
@@ -167,12 +211,15 @@ class Install {
167
211
  handlebars.registerHelper('stringify', function (obj) {
168
212
  return new handlebars.SafeString(JSON.stringify(obj));
169
213
  });
214
+ const srcArchive = src;
170
215
  const limaCfg = handlebars.compile(assets_1.limaYamlData)({
171
216
  customImages: Install.limaCustomImages(),
172
217
  daemonConfig: limaDaemonConfig,
173
218
  dockerSock: `${limaDir}/docker.sock`,
174
- dockerBinVersion: this._version,
175
- dockerBinChannel: this.channel
219
+ srcType: src.type,
220
+ srcArchiveVersion: this._version, // Use the resolved version (e.g. latest -> 27.4.0)
221
+ srcArchiveChannel: srcArchive.channel,
222
+ srcImageTag: src.tag
176
223
  });
177
224
  core.info(`Writing lima config to ${path_1.default.join(limaDir, 'lima.yaml')}`);
178
225
  fs_1.default.writeFileSync(path_1.default.join(limaDir, 'lima.yaml'), limaCfg);
@@ -507,7 +554,10 @@ EOF`, [], {
507
554
  }
508
555
  const releases = JSON.parse(body);
509
556
  if (!releases[version]) {
510
- throw new Error(`Cannot find Docker release ${version} in ${url}`);
557
+ if (!releases['v' + version]) {
558
+ throw new Error(`Cannot find Docker release ${version} in ${url}`);
559
+ }
560
+ return releases['v' + version];
511
561
  }
512
562
  return releases[version];
513
563
  });
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/docker/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/docker/install.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import * as httpm from '@actions/http-client';
16
17
  import { RepositoryRequest, RepositoryResponse, RepositoryTagsRequest, RepositoryTagsResponse, TokenRequest, UpdateRepoDescriptionRequest } from './types/dockerhub';
17
18
  export interface DockerHubOpts {
18
19
  credentials: TokenRequest;
@@ -28,4 +29,5 @@ export declare class DockerHub {
28
29
  updateRepoDescription(req: UpdateRepoDescriptionRequest): Promise<RepositoryResponse>;
29
30
  private static login;
30
31
  private static handleResponse;
32
+ static parseError(resp: httpm.HttpClientResponse, body: string): Error;
31
33
  }
package/lib/dockerhub.js CHANGED
@@ -137,20 +137,23 @@ class DockerHub {
137
137
  const body = yield resp.readBody();
138
138
  resp.message.statusCode = resp.message.statusCode || http_client_1.HttpCodes.InternalServerError;
139
139
  if (resp.message.statusCode < 200 || resp.message.statusCode >= 300) {
140
- if (resp.message.statusCode == http_client_1.HttpCodes.Unauthorized) {
141
- throw new Error(`Docker Hub API: operation not permitted`);
142
- }
143
- const errResp = JSON.parse(body);
144
- for (const k of ['message', 'detail', 'error']) {
145
- if (errResp[k]) {
146
- throw new Error(`Docker Hub API: bad status code ${resp.message.statusCode}: ${errResp[k]}`);
147
- }
148
- }
149
- throw new Error(`Docker Hub API: bad status code ${resp.message.statusCode}`);
140
+ throw DockerHub.parseError(resp, body);
150
141
  }
151
142
  return body;
152
143
  });
153
144
  }
145
+ static parseError(resp, body) {
146
+ if (resp.message.statusCode == http_client_1.HttpCodes.Unauthorized) {
147
+ throw new Error(`Docker Hub API: operation not permitted`);
148
+ }
149
+ const errResp = JSON.parse(body);
150
+ for (const k of ['message', 'detail', 'error']) {
151
+ if (errResp[k]) {
152
+ throw new Error(`Docker Hub API: bad status code ${resp.message.statusCode}: ${errResp[k]}`);
153
+ }
154
+ }
155
+ throw new Error(`Docker Hub API: bad status code ${resp.message.statusCode}`);
156
+ }
154
157
  }
155
158
  exports.DockerHub = DockerHub;
156
159
  //# sourceMappingURL=dockerhub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dockerhub.js","sourceRoot":"","sources":["../src/dockerhub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dockerhub.js","sourceRoot":"","sources":["../src/dockerhub.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
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 HubRepository {
17
+ private repo;
18
+ private token;
19
+ private static readonly http;
20
+ private constructor();
21
+ static build(repository: string): Promise<HubRepository>;
22
+ extractImage(tag: string, destDir?: string): Promise<string>;
23
+ private static getToken;
24
+ private blobUrl;
25
+ getManifest<T>(tagOrDigest: string): Promise<T>;
26
+ private static getPlatformManifestDigest;
27
+ }
@@ -0,0 +1,179 @@
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.HubRepository = void 0;
54
+ const httpm = __importStar(require("@actions/http-client"));
55
+ const os_1 = __importDefault(require("os"));
56
+ const core = __importStar(require("@actions/core"));
57
+ const tc = __importStar(require("@actions/tool-cache"));
58
+ const fs_1 = __importDefault(require("fs"));
59
+ const mediatype_1 = require("./types/oci/mediatype");
60
+ const mediatype_2 = require("./types/docker/mediatype");
61
+ const dockerhub_1 = require("./dockerhub");
62
+ class HubRepository {
63
+ constructor(repository, token) {
64
+ this.repo = repository;
65
+ this.token = token;
66
+ }
67
+ static build(repository) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ const token = yield this.getToken(repository);
70
+ return new HubRepository(repository, token);
71
+ });
72
+ }
73
+ // Unpacks the image layers and returns the path to the extracted image.
74
+ // Only OCI indexes/manifest list are supported for now.
75
+ extractImage(tag, destDir) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const index = yield this.getManifest(tag);
78
+ if (index.mediaType != mediatype_1.MEDIATYPE_IMAGE_INDEX_V1 && index.mediaType != mediatype_2.MEDIATYPE_IMAGE_MANIFEST_LIST_V2) {
79
+ throw new Error(`Unsupported image media type: ${index.mediaType}`);
80
+ }
81
+ const digest = HubRepository.getPlatformManifestDigest(index);
82
+ const manifest = yield this.getManifest(digest);
83
+ const paths = manifest.layers.map((layer) => __awaiter(this, void 0, void 0, function* () {
84
+ const url = this.blobUrl(layer.digest);
85
+ return yield tc.downloadTool(url, undefined, undefined, {
86
+ authorization: `Bearer ${this.token}`
87
+ });
88
+ }));
89
+ let files = yield Promise.all(paths);
90
+ let extractFolder;
91
+ if (!destDir) {
92
+ extractFolder = yield tc.extractTar(files[0]);
93
+ files = files.slice(1);
94
+ }
95
+ else {
96
+ extractFolder = destDir;
97
+ }
98
+ yield Promise.all(files.map((file) => __awaiter(this, void 0, void 0, function* () {
99
+ return yield tc.extractTar(file, extractFolder);
100
+ })));
101
+ fs_1.default.readdirSync(extractFolder).forEach(file => {
102
+ core.info(`extractImage(${this.repo}:${tag}) file: ${file}`);
103
+ });
104
+ return extractFolder;
105
+ });
106
+ }
107
+ static getToken(repo) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const url = `https://auth.docker.io/token?service=registry.docker.io&scope=repository:${repo}:pull`;
110
+ const resp = yield this.http.get(url);
111
+ const body = yield resp.readBody();
112
+ const statusCode = resp.message.statusCode || 500;
113
+ if (statusCode != 200) {
114
+ throw dockerhub_1.DockerHub.parseError(resp, body);
115
+ }
116
+ const json = JSON.parse(body);
117
+ return json.token;
118
+ });
119
+ }
120
+ blobUrl(digest) {
121
+ return `https://registry-1.docker.io/v2/${this.repo}/blobs/${digest}`;
122
+ }
123
+ getManifest(tagOrDigest) {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ const url = `https://registry-1.docker.io/v2/${this.repo}/manifests/${tagOrDigest}`;
126
+ const headers = {
127
+ Authorization: `Bearer ${this.token}`,
128
+ Accept: [mediatype_1.MEDIATYPE_IMAGE_INDEX_V1, mediatype_2.MEDIATYPE_IMAGE_MANIFEST_LIST_V2, mediatype_1.MEDIATYPE_IMAGE_MANIFEST_V1, mediatype_2.MEDIATYPE_IMAGE_MANIFEST_V2].join(', ')
129
+ };
130
+ const resp = yield HubRepository.http.get(url, headers);
131
+ const body = yield resp.readBody();
132
+ const statusCode = resp.message.statusCode || 500;
133
+ if (statusCode != 200) {
134
+ throw dockerhub_1.DockerHub.parseError(resp, body);
135
+ }
136
+ return JSON.parse(body);
137
+ });
138
+ }
139
+ static getPlatformManifestDigest(index) {
140
+ // This doesn't handle all possible platforms normalizations, but it's good enough for now.
141
+ let pos = os_1.default.platform();
142
+ if (pos == 'win32') {
143
+ pos = 'windows';
144
+ }
145
+ let arch = os_1.default.arch();
146
+ if (arch == 'x64') {
147
+ arch = 'amd64';
148
+ }
149
+ let variant = '';
150
+ if (arch == 'arm') {
151
+ variant = 'v7';
152
+ }
153
+ const manifest = index.manifests.find(m => {
154
+ if (!m.platform) {
155
+ return false;
156
+ }
157
+ if (m.platform.os != pos) {
158
+ core.debug(`Skipping manifest ${m.digest} because of os: ${m.platform.os} != ${pos}`);
159
+ return false;
160
+ }
161
+ if (m.platform.architecture != arch) {
162
+ core.debug(`Skipping manifest ${m.digest} because of arch: ${m.platform.architecture} != ${arch}`);
163
+ return false;
164
+ }
165
+ if ((m.platform.variant || '') != variant) {
166
+ core.debug(`Skipping manifest ${m.digest} because of variant: ${m.platform.variant} != ${variant}`);
167
+ return false;
168
+ }
169
+ return true;
170
+ });
171
+ if (!manifest) {
172
+ throw new Error(`Cannot find manifest for ${pos}/${arch}/${variant}`);
173
+ }
174
+ return manifest.digest;
175
+ }
176
+ }
177
+ exports.HubRepository = HubRepository;
178
+ HubRepository.http = new httpm.HttpClient('setup-docker-action');
179
+ //# sourceMappingURL=hubRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubRepository.js","sourceRoot":"","sources":["../src/hubRepository.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
+ export declare const MEDIATYPE_IMAGE_MANIFEST_LIST_V2 = "application/vnd.docker.distribution.manifest.list.v2+json";
17
+ export declare const MEDIATYPE_IMAGE_MANIFEST_V2 = "application/vnd.docker.distribution.manifest.v2+json";
@@ -0,0 +1,21 @@
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
+ exports.MEDIATYPE_IMAGE_MANIFEST_V2 = exports.MEDIATYPE_IMAGE_MANIFEST_LIST_V2 = void 0;
19
+ exports.MEDIATYPE_IMAGE_MANIFEST_LIST_V2 = 'application/vnd.docker.distribution.manifest.list.v2+json';
20
+ exports.MEDIATYPE_IMAGE_MANIFEST_V2 = 'application/vnd.docker.distribution.manifest.v2+json';
21
+ //# sourceMappingURL=mediatype.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediatype.js","sourceRoot":"","sources":["../../../src/types/docker/mediatype.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEU,QAAA,gCAAgC,GAAG,2DAA2D,CAAC;AAE/F,QAAA,2BAA2B,GAAG,sDAAsD,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright 2024 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 interface DownloadVersion {
17
+ version: string;
18
+ downloadURL: string;
19
+ releasesURL: string;
20
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2024 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=undock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undock.js","sourceRoot":"","sources":["../../../src/types/undock/undock.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright 2024 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 { GitHubRelease } from '../types/github';
17
+ import { DownloadVersion } from '../types/undock/undock';
18
+ export declare class Install {
19
+ download(v: string, ghaNoCache?: boolean): Promise<string>;
20
+ install(binPath: string, dest?: string): Promise<string>;
21
+ private filename;
22
+ private vspec;
23
+ static getDownloadVersion(v: string): Promise<DownloadVersion>;
24
+ static getRelease(version: DownloadVersion): Promise<GitHubRelease>;
25
+ }
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2024 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 fs_1 = __importDefault(require("fs"));
55
+ const os_1 = __importDefault(require("os"));
56
+ const path_1 = __importDefault(require("path"));
57
+ const core = __importStar(require("@actions/core"));
58
+ const httpm = __importStar(require("@actions/http-client"));
59
+ const tc = __importStar(require("@actions/tool-cache"));
60
+ const semver = __importStar(require("semver"));
61
+ const util = __importStar(require("util"));
62
+ const cache_1 = require("../cache");
63
+ const context_1 = require("../context");
64
+ class Install {
65
+ /*
66
+ * Download undock binary from GitHub release
67
+ * @param v: version semver version or latest
68
+ * @param ghaNoCache: disable binary caching in GitHub Actions cache backend
69
+ * @returns path to the undock binary
70
+ */
71
+ download(v, ghaNoCache) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ const version = yield Install.getDownloadVersion(v);
74
+ core.debug(`Install.download version: ${version.version}`);
75
+ const release = yield Install.getRelease(version);
76
+ core.debug(`Install.download release tag name: ${release.tag_name}`);
77
+ const vspec = yield this.vspec(release.tag_name);
78
+ core.debug(`Install.download vspec: ${vspec}`);
79
+ const c = semver.clean(vspec) || '';
80
+ if (!semver.valid(c)) {
81
+ throw new Error(`Invalid Undock version "${vspec}".`);
82
+ }
83
+ const installCache = new cache_1.Cache({
84
+ htcName: 'undock-dl-bin',
85
+ htcVersion: vspec,
86
+ baseCacheDir: path_1.default.join(os_1.default.homedir(), '.bin'),
87
+ cacheFile: os_1.default.platform() == 'win32' ? 'undock.exe' : 'undock',
88
+ ghaNoCache: ghaNoCache
89
+ });
90
+ const cacheFoundPath = yield installCache.find();
91
+ if (cacheFoundPath) {
92
+ core.info(`Unodck binary found in ${cacheFoundPath}`);
93
+ return cacheFoundPath;
94
+ }
95
+ const downloadURL = util.format(version.downloadURL, vspec, this.filename(vspec));
96
+ core.info(`Downloading ${downloadURL}`);
97
+ const htcDownloadPath = yield tc.downloadTool(downloadURL);
98
+ core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
99
+ let htcExtPath;
100
+ if (os_1.default.platform() == 'win32') {
101
+ htcExtPath = yield tc.extractZip(htcDownloadPath);
102
+ }
103
+ else {
104
+ htcExtPath = yield tc.extractTar(htcDownloadPath);
105
+ }
106
+ core.info(`Extracted to ${htcExtPath}`);
107
+ const exePath = path_1.default.join(htcExtPath, os_1.default.platform() == 'win32' ? 'undock.exe' : 'undock');
108
+ core.debug(`Install.download exePath: ${exePath}`);
109
+ const cacheSavePath = yield installCache.save(exePath);
110
+ core.info(`Cached to ${cacheSavePath}`);
111
+ return cacheSavePath;
112
+ });
113
+ }
114
+ install(binPath, dest) {
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ dest = dest || context_1.Context.tmpDir();
117
+ const binDir = path_1.default.join(dest, 'undock-bin');
118
+ if (!fs_1.default.existsSync(binDir)) {
119
+ fs_1.default.mkdirSync(binDir, { recursive: true });
120
+ }
121
+ const binName = os_1.default.platform() == 'win32' ? 'undock.exe' : 'undock';
122
+ const undockPath = path_1.default.join(binDir, binName);
123
+ fs_1.default.copyFileSync(binPath, undockPath);
124
+ core.info('Fixing perms');
125
+ fs_1.default.chmodSync(undockPath, '0755');
126
+ core.addPath(binDir);
127
+ core.info('Added Unodck to PATH');
128
+ core.info(`Binary path: ${undockPath}`);
129
+ return undockPath;
130
+ });
131
+ }
132
+ filename(version) {
133
+ let arch;
134
+ switch (os_1.default.arch()) {
135
+ case 'x64': {
136
+ arch = 'amd64';
137
+ break;
138
+ }
139
+ case 'ppc64': {
140
+ arch = 'ppc64le';
141
+ break;
142
+ }
143
+ case 'arm': {
144
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
145
+ const arm_version = process.config.variables.arm_version;
146
+ arch = arm_version ? 'armv' + arm_version : 'arm';
147
+ break;
148
+ }
149
+ default: {
150
+ arch = os_1.default.arch();
151
+ break;
152
+ }
153
+ }
154
+ const platform = os_1.default.platform() == 'win32' ? 'windows' : os_1.default.platform();
155
+ const ext = os_1.default.platform() == 'win32' ? '.zip' : '.tar.gz';
156
+ return util.format('undock_%s_%s_%s%s', version, platform, arch, ext);
157
+ }
158
+ vspec(version) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ const v = version.replace(/^v+|v+$/g, '');
161
+ core.info(`Use ${v} version spec cache key for ${version}`);
162
+ return v;
163
+ });
164
+ }
165
+ static getDownloadVersion(v) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ return {
168
+ version: v,
169
+ downloadURL: 'https://github.com/crazy-max/undock/releases/download/v%s/%s',
170
+ releasesURL: 'https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/undock-releases.json'
171
+ };
172
+ });
173
+ }
174
+ static getRelease(version) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ const http = new httpm.HttpClient('docker-actions-toolkit');
177
+ const resp = yield http.get(version.releasesURL);
178
+ const body = yield resp.readBody();
179
+ const statusCode = resp.message.statusCode || 500;
180
+ if (statusCode >= 400) {
181
+ throw new Error(`Failed to get Undock releases from ${version.releasesURL} with status code ${statusCode}: ${body}`);
182
+ }
183
+ const releases = JSON.parse(body);
184
+ if (!releases[version.version]) {
185
+ throw new Error(`Cannot find Undock release ${version.version} in ${version.releasesURL}`);
186
+ }
187
+ return releases[version.version];
188
+ });
189
+ }
190
+ }
191
+ exports.Install = Install;
192
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/undock/install.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.40.0",
3
+ "version": "0.41.1",
4
4
  "description": "Toolkit for Docker (GitHub) Actions",
5
5
  "scripts": {
6
6
  "build": "tsc",