Compare commits

...

51 Commits

Author SHA1 Message Date
CrazyMax
49b3bc8e6b
Merge pull request #155 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.35.0
build(deps): bump @docker/actions-toolkit from 0.34.0 to 0.35.0
2024-07-22 11:27:48 +02:00
CrazyMax
9dec05bc9d
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 11:24:29 +02:00
dependabot[bot]
73387bcb62
build(deps): bump @docker/actions-toolkit from 0.34.0 to 0.35.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.34.0 to 0.35.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 06:55:45 +00:00
CrazyMax
fcfabe0054
Merge pull request #154 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.34.0
build(deps): bump @docker/actions-toolkit from 0.31.0 to 0.34.0
2024-07-19 13:06:44 +02:00
CrazyMax
948a838253
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-19 13:04:15 +02:00
CrazyMax
31629f69bf
switch to Docker exec
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-19 13:01:51 +02:00
dependabot[bot]
6ae1d4dea8
build(deps): bump @docker/actions-toolkit from 0.31.0 to 0.34.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.31.0 to 0.34.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.31.0...v0.34.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-18 06:50:54 +00:00
CrazyMax
5927c834f5
Merge pull request #149 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.31.0
build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.31.0
2024-07-03 11:36:46 +02:00
CrazyMax
32ea29b3c9
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 11:34:06 +02:00
dependabot[bot]
92ac892047
build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.31.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.23.0 to 0.31.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.23.0...v0.31.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 09:26:37 +00:00
CrazyMax
dcf3f67ac0
Merge pull request #151 from crazy-max/default-image
set docker.io domain for default binfmt image
2024-07-03 11:25:37 +02:00
CrazyMax
b34393b6bf
Merge pull request #141 from docker/dependabot/github_actions/docker/bake-action-5
build(deps): bump docker/bake-action from 4 to 5
2024-07-03 11:24:35 +02:00
CrazyMax
ca1bf68d52
Merge pull request #142 from docker/dependabot/npm_and_yarn/braces-3.0.3
build(deps): bump braces from 3.0.2 to 3.0.3
2024-07-03 11:24:11 +02:00
CrazyMax
599f288629
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 11:22:09 +02:00
CrazyMax
af38981e30
set docker.io domain for default binfmt image
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 11:22:09 +02:00
dependabot[bot]
9d4d56c87e
build(deps): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 15:55:49 +00:00
dependabot[bot]
a05dd9299a
build(deps): bump docker/bake-action from 4 to 5
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 06:58:30 +00:00
CrazyMax
b12b38b5fe
Merge pull request #135 from crazy-max/update-dev-deps
chore: update dev dependencies
2024-05-15 14:05:25 +02:00
CrazyMax
71b913ac63
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 14:02:14 +02:00
CrazyMax
4d35ad1100
chore: update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 14:00:47 +02:00
CrazyMax
dcea024fad
Merge pull request #134 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.23.0
build(deps): bump @docker/actions-toolkit from 0.21.1 to 0.23.0
2024-05-15 12:13:09 +02:00
CrazyMax
d2d211162b
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:10:47 +02:00
dependabot[bot]
33eb860116
build(deps): bump @docker/actions-toolkit from 0.21.1 to 0.23.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.21.1 to 0.23.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.21.1...v0.23.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 06:11:16 +00:00
CrazyMax
a318853e1c
Merge pull request #133 from crazy-max/update-yarn
update to yarn 3.6.3
2024-05-07 15:58:19 +02:00
CrazyMax
8eb8b366a2
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:55:02 +02:00
CrazyMax
15130ea32e
chore: add plugin-interactive-tools yarn pkg
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:54:06 +02:00
CrazyMax
165b8fb653
update to yarn 3.6.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:53:14 +02:00
Tõnis Tiigi
b7249025a9
Merge pull request #129 from crazy-max/fxi-err-message
throw error message instead of exit code
2024-04-15 16:54:03 -07:00
CrazyMax
4d56188b3d
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-13 15:01:52 +02:00
CrazyMax
1765b1e310
throw error message instead of exit code
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-13 15:00:01 +02:00
CrazyMax
e2a9378e4f
Merge pull request #131 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.21.1
build(deps): bump @docker/actions-toolkit from 0.21.0 to 0.21.1
2024-04-12 15:12:41 +02:00
CrazyMax
3126c2341a
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 15:09:23 +02:00
dependabot[bot]
40ab895871
build(deps): bump @docker/actions-toolkit from 0.21.0 to 0.21.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.21.0 to 0.21.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.21.0...v0.21.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 13:05:21 +00:00
CrazyMax
04a8d28c22
Merge pull request #127 from docker/dependabot/npm_and_yarn/undici-5.28.4
build(deps): bump undici from 5.28.3 to 5.28.4
2024-04-12 12:54:48 +02:00
CrazyMax
29855bb1fa
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 12:53:11 +02:00
dependabot[bot]
4c54a7885e
build(deps): bump undici from 5.28.3 to 5.28.4
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 10:40:18 +00:00
CrazyMax
3a65233e5c
Merge pull request #128 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.21.0
build(deps): bump @docker/actions-toolkit from 0.16.1 to 0.21.0
2024-04-12 12:39:40 +02:00
CrazyMax
4d38d3da60
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 12:35:36 +02:00
dependabot[bot]
651ba1eae3
build(deps): bump @docker/actions-toolkit from 0.16.1 to 0.21.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.16.1 to 0.21.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.16.1...v0.21.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 10:33:33 +00:00
CrazyMax
13c418a7a8
Merge pull request #118 from docker/dependabot/npm_and_yarn/undici-5.28.3
build(deps): bump undici from 5.28.2 to 5.28.3
2024-02-23 09:43:16 +01:00
CrazyMax
f39d7cf7b0
Merge pull request #120 from crazy-max/codecov-token
ci: set codecov token
2024-02-23 09:42:49 +01:00
CrazyMax
cb2da574b8
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:42:05 +01:00
CrazyMax
3b854bd217
ci: set codecov token
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:21:42 +01:00
dependabot[bot]
fc99c6996f
build(deps): bump undici from 5.28.2 to 5.28.3
Bumps [undici](https://github.com/nodejs/undici) from 5.28.2 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.2...v5.28.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 18:39:59 +00:00
CrazyMax
e0e4588fad
Merge pull request #117 from docker/dependabot/github_actions/codecov/codecov-action-4
build(deps): bump codecov/codecov-action from 3 to 4
2024-02-16 11:29:22 +01:00
dependabot[bot]
34f35a25fa
build(deps): bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 06:26:27 +00:00
CrazyMax
5306bad0ba
Merge pull request #115 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.16.1
build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.16.1
2024-01-05 11:14:24 +01:00
CrazyMax
5a77a302a3
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-05 11:13:11 +01:00
dependabot[bot]
335c621016
build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.16.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.12.0 to 0.16.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.12.0...v0.16.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-22 06:56:59 +00:00
CrazyMax
fa9de52181
Merge pull request #109 from docker/dependabot/npm_and_yarn/babel/traverse-7.23.2
build(deps): bump @babel/traverse from 7.20.13 to 7.23.2
2023-12-14 14:33:01 +01:00
dependabot[bot]
7ca05bb273
build(deps): bump @babel/traverse from 7.20.13 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.20.13 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18 18:59:16 +00:00
20 changed files with 10959 additions and 4026 deletions

View File

@ -1,2 +1,12 @@
/coverage
/node_modules
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

2
.gitattributes vendored
View File

@ -1,2 +1,4 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/dist/** linguist-generated=true
/lib/** linguist-generated=true

View File

@ -16,6 +16,20 @@ on:
pull_request:
jobs:
default:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up QEMU
id: qemu
uses: ./
-
name: Available platforms
run: echo ${{ steps.qemu.outputs.platforms }}
main:
runs-on: ubuntu-latest
strategy:

View File

@ -20,11 +20,12 @@ jobs:
uses: actions/checkout@v4
-
name: Test
uses: docker/bake-action@v4
uses: docker/bake-action@v5
with:
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
file: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}

View File

@ -40,6 +40,6 @@ jobs:
uses: actions/checkout@v4
-
name: Validate
uses: docker/bake-action@v4
uses: docker/bake-action@v5
with:
targets: ${{ matrix.target }}

66
.gitignore vendored
View File

@ -1,7 +1,5 @@
node_modules
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@ -9,6 +7,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@ -19,34 +18,14 @@ pids
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
@ -56,36 +35,19 @@ typings/
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
# dotenv environment variable files
.env
.env.test
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

6
.prettierignore Normal file
View File

@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/

File diff suppressed because one or more lines are too long

13
.yarnrc.yml Normal file
View File

@ -0,0 +1,13 @@
logFilters:
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
nodeLinker: node-modules
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"

View File

@ -18,7 +18,7 @@ describe('getInputs', () => {
0,
new Map<string, string>([]),
{
image: 'tonistiigi/binfmt:latest',
image: 'docker.io/tonistiigi/binfmt:latest',
platforms: 'all',
} as context.Inputs
],
@ -39,7 +39,7 @@ describe('getInputs', () => {
['platforms', 'arm64, riscv64, arm '],
]),
{
image: 'tonistiigi/binfmt:latest',
image: 'docker.io/tonistiigi/binfmt:latest',
platforms: 'arm64,riscv64,arm',
} as context.Inputs
]

View File

@ -9,7 +9,7 @@ branding:
inputs:
image:
description: 'QEMU static binaries Docker image (e.g. tonistiigi/binfmt:latest)'
default: 'tonistiigi/binfmt:latest'
default: 'docker.io/tonistiigi/binfmt:latest'
required: false
platforms:
description: 'Platforms to install (e.g. arm64,riscv64,arm)'

View File

@ -5,9 +5,16 @@ ARG NODE_VERSION=20
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
EOT
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install && mkdir /vendor && cp yarn.lock /vendor
@ -20,7 +27,7 @@ RUN --mount=type=bind,target=.,rw <<EOT
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
@ -28,6 +35,7 @@ EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
@ -48,20 +56,23 @@ EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
FROM deps AS test
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverage --coverageDirectory=/tmp/coverage

103
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

3558
dist/licenses.txt generated vendored

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ group "default" {
}
group "pre-checkin" {
targets = ["vendor-update", "format", "build"]
targets = ["vendor", "format", "build"]
}
group "validate" {
@ -34,7 +34,7 @@ target "lint" {
output = ["type=cacheonly"]
}
target "vendor-update" {
target "vendor" {
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]

View File

@ -1,7 +1,7 @@
{
"name": "docker-setup-qemu",
"description": "Install QEMU static binaries",
"main": "lib/main.js",
"main": "src/main.ts",
"scripts": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"lint": "yarn run prettier && yarn run eslint",
@ -10,8 +10,7 @@
"eslint:fix": "eslint --fix .",
"prettier": "prettier --check \"./**/*.ts\"",
"prettier:fix": "prettier --write \"./**/*.ts\"",
"test": "jest",
"all": "yarn run build && yarn run format && yarn test"
"test": "jest"
},
"repository": {
"type": "git",
@ -24,23 +23,24 @@
],
"author": "Docker Inc.",
"license": "Apache-2.0",
"packageManager": "yarn@3.6.3",
"dependencies": {
"@actions/core": "^1.10.1",
"@docker/actions-toolkit": "^0.12.0"
"@docker/actions-toolkit": "^0.35.0"
},
"devDependencies": {
"@types/node": "^20.5.9",
"@typescript-eslint/eslint-plugin": "^6.6.0",
"@typescript-eslint/parser": "^6.6.0",
"@vercel/ncc": "^0.38.0",
"eslint": "^8.48.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-jest": "^27.2.3",
"eslint-plugin-prettier": "^5.0.0",
"jest": "^29.6.4",
"prettier": "^3.0.3",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
"typescript": "^5.2.2"
"@types/node": "^20.12.12",
"@typescript-eslint/eslint-plugin": "^7.9.0",
"@typescript-eslint/parser": "^7.9.0",
"@vercel/ncc": "^0.38.1",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jest": "^28.5.0",
"eslint-plugin-prettier": "^5.1.3",
"jest": "^29.7.0",
"prettier": "^3.2.5",
"ts-jest": "^29.1.2",
"ts-node": "^10.9.2",
"typescript": "^5.4.5"
}
}

View File

@ -8,7 +8,7 @@ export interface Inputs {
export function getInputs(): Inputs {
return {
image: core.getInput('image') || 'tonistiigi/binfmt:latest',
image: core.getInput('image') || 'docker.io/tonistiigi/binfmt:latest',
platforms: Util.getInputList('platforms').join(',') || 'all'
};
}

View File

@ -1,8 +1,8 @@
import * as context from './context';
import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
import {Exec} from '@docker/actions-toolkit/lib/exec';
interface Platforms {
supported: string[];
@ -20,24 +20,42 @@ actionsToolkit.run(
});
await core.group(`Pulling binfmt Docker image`, async () => {
await Exec.exec('docker', ['pull', input.image]);
await Docker.getExecOutput(['pull', input.image], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
});
await core.group(`Image info`, async () => {
await Exec.exec('docker', ['image', 'inspect', input.image]);
await Docker.getExecOutput(['image', 'inspect', input.image], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
});
await core.group(`Installing QEMU static binaries`, async () => {
await Exec.exec('docker', ['run', '--rm', '--privileged', input.image, '--install', input.platforms]);
await Docker.getExecOutput(['run', '--rm', '--privileged', input.image, '--install', input.platforms], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
});
await core.group(`Extracting available platforms`, async () => {
await Exec.getExecOutput('docker', ['run', '--rm', '--privileged', input.image], {
await Docker.getExecOutput(['run', '--rm', '--privileged', input.image], {
ignoreReturnCode: true,
silent: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.trim());
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
const platforms: Platforms = JSON.parse(res.stdout.trim());
core.info(`${platforms.supported.join(',')}`);

10570
yarn.lock

File diff suppressed because it is too large Load Diff