mirror of
https://github.com/docker/metadata-action.git
synced 2025-07-12 22:06:29 +08:00
Compare commits
55 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
be19121bfd | ||
|
c1eb0314a3 | ||
|
b798ed8388 | ||
|
07d42e0b4f | ||
|
495d5ce528 | ||
|
54b10fa1b6 | ||
|
c49a1eee09 | ||
|
f37a3b6e88 | ||
|
85eb7c9324 | ||
|
a1c21022b0 | ||
|
6547919405 | ||
|
2e80e58e70 | ||
|
a51254e5fa | ||
|
dee3324b00 | ||
|
418e4b98bf | ||
|
e8ece87dc8 | ||
|
12d9b9a905 | ||
|
c88acc31ec | ||
|
902fa8ec7d | ||
|
c30b9c27e6 | ||
|
0698804aab | ||
|
bb3eecaaf8 | ||
|
94a839cf6a | ||
|
ecd51a0f6a | ||
|
a85b1dbfe6 | ||
|
5a76a0efcf | ||
|
1cc4a9856a | ||
|
d84de1e022 | ||
|
092f0474e9 | ||
|
8b68062745 | ||
|
0eaca2ee4e | ||
|
db44dfae7a | ||
|
2bd8a81e96 | ||
|
10ff2155d8 | ||
|
a1a78f1e24 | ||
|
95438bc6e5 | ||
|
0e4a06e6a2 | ||
|
a550435c60 | ||
|
b539e14bf6 | ||
|
d931b83008 | ||
|
8e1d5461f0 | ||
|
2af3007824 | ||
|
0d820067b8 | ||
|
906ecf0fc0 | ||
|
f78c299c14 | ||
|
87ff116aea | ||
|
b53be03109 | ||
|
3da9c47fb9 | ||
|
f5d655ce8b | ||
|
369eb591f4 | ||
|
7d870ce854 | ||
|
e44a9cd788 | ||
|
8cb0002d6a | ||
|
e01ddd3e3c | ||
|
861d98a3bd |
50
.github/workflows/ci.yml
vendored
50
.github/workflows/ci.yml
vendored
@ -269,6 +269,8 @@ jobs:
|
||||
images: |
|
||||
${{ env.DOCKER_IMAGE }}
|
||||
ghcr.io/name/app
|
||||
labels: |
|
||||
org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
|
||||
tags: |
|
||||
type=sha
|
||||
type=raw,value=gexp-branch-{{branch}}
|
||||
@ -390,12 +392,12 @@ jobs:
|
||||
type=sha
|
||||
-
|
||||
name: Build
|
||||
uses: docker/bake-action@v5
|
||||
uses: docker/bake-action@v6
|
||||
with:
|
||||
files: |
|
||||
./test/docker-bake.hcl
|
||||
${{ steps.docker_meta.outputs.bake-file-tags }}
|
||||
${{ steps.docker_meta.outputs.bake-file-labels }}
|
||||
cwd://${{ steps.docker_meta.outputs.bake-file-tags }}
|
||||
cwd://${{ steps.docker_meta.outputs.bake-file-labels }}
|
||||
targets: |
|
||||
release
|
||||
|
||||
@ -470,6 +472,32 @@ jobs:
|
||||
DOCKER_METADATA_OUTPUT_ANNOTATIONS
|
||||
DOCKER_METADATA_OUTPUT_JSON
|
||||
|
||||
no-output-env:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DOCKER_METADATA_SET_OUTPUT_ENV: false
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: ./
|
||||
with:
|
||||
images: |
|
||||
${{ env.DOCKER_IMAGE }}
|
||||
ghcr.io/name/app
|
||||
labels: |
|
||||
maintainer=CrazyMax
|
||||
annotations: |
|
||||
maintainer=Foo
|
||||
-
|
||||
name: No output environment variables set
|
||||
shell: bash
|
||||
run: |
|
||||
[[ "$(printenv | grep "^DOCKER_METADATA_OUTPUT_" | wc -l)" -eq 0 ]] || exit 1
|
||||
|
||||
bake-annotations:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@ -502,12 +530,12 @@ jobs:
|
||||
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
|
||||
-
|
||||
name: Build
|
||||
uses: docker/bake-action@v5
|
||||
uses: docker/bake-action@v6
|
||||
with:
|
||||
files: |
|
||||
./test/docker-bake.hcl
|
||||
${{ steps.docker_meta.outputs.bake-file-tags }}
|
||||
${{ steps.docker_meta.outputs.bake-file-annotations }}
|
||||
cwd://${{ steps.docker_meta.outputs.bake-file-tags }}
|
||||
cwd://${{ steps.docker_meta.outputs.bake-file-annotations }}
|
||||
targets: |
|
||||
release
|
||||
|
||||
@ -537,7 +565,7 @@ jobs:
|
||||
name: Print envs
|
||||
run: env|sort
|
||||
|
||||
bake-cwd:
|
||||
bake-path-context:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
@ -554,13 +582,13 @@ jobs:
|
||||
uses: ./
|
||||
-
|
||||
name: Build
|
||||
uses: docker/bake-action@v5
|
||||
uses: docker/bake-action@v6
|
||||
with:
|
||||
source: "{{defaultContext}}"
|
||||
source: .
|
||||
files: |
|
||||
./test/docker-bake.hcl
|
||||
cwd://${{ steps.docker_meta.outputs.bake-file-tags }}
|
||||
cwd://${{ steps.docker_meta.outputs.bake-file-labels }}
|
||||
${{ steps.docker_meta.outputs.bake-file-tags }}
|
||||
${{ steps.docker_meta.outputs.bake-file-labels }}
|
||||
targets: |
|
||||
release
|
||||
|
||||
|
17
.github/workflows/pr-assign-author.yml
vendored
Normal file
17
.github/workflows/pr-assign-author.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
name: pr-assign-author
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
|
||||
jobs:
|
||||
run:
|
||||
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@1b673f36fad86812f538c1df9794904038a23cbf
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
5
.github/workflows/test.yml
vendored
5
.github/workflows/test.yml
vendored
@ -20,12 +20,13 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Test
|
||||
uses: docker/bake-action@v5
|
||||
uses: docker/bake-action@v6
|
||||
with:
|
||||
source: .
|
||||
targets: test
|
||||
-
|
||||
name: Upload coverage
|
||||
uses: codecov/codecov-action@v5
|
||||
with:
|
||||
file: ./coverage/clover.xml
|
||||
files: ./coverage/clover.xml
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
16
.github/workflows/validate.yml
vendored
16
.github/workflows/validate.yml
vendored
@ -15,16 +15,17 @@ jobs:
|
||||
prepare:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
targets: ${{ steps.targets.outputs.matrix }}
|
||||
targets: ${{ steps.generate.outputs.targets }}
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Targets matrix
|
||||
id: targets
|
||||
run: |
|
||||
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
|
||||
name: List targets
|
||||
id: generate
|
||||
uses: docker/bake-action/subaction/list-targets@v6
|
||||
with:
|
||||
target: validate
|
||||
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
@ -35,11 +36,8 @@ jobs:
|
||||
matrix:
|
||||
target: ${{ fromJson(needs.prepare.outputs.targets) }}
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Validate
|
||||
uses: docker/bake-action@v5
|
||||
uses: docker/bake-action@v6
|
||||
with:
|
||||
targets: ${{ matrix.target }}
|
||||
|
107
README.md
107
README.md
@ -92,7 +92,7 @@ jobs:
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
@ -152,7 +152,7 @@ jobs:
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
@ -206,9 +206,6 @@ jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
@ -224,11 +221,11 @@ jobs:
|
||||
type=sha
|
||||
-
|
||||
name: Build
|
||||
uses: docker/bake-action@v4
|
||||
uses: docker/bake-action@v6
|
||||
with:
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
${{ steps.meta.outputs.bake-file }}
|
||||
cwd://${{ steps.meta.outputs.bake-file }}
|
||||
targets: build
|
||||
```
|
||||
|
||||
@ -271,29 +268,12 @@ similar to the previous one:
|
||||
```yaml
|
||||
-
|
||||
name: Build
|
||||
uses: docker/bake-action@v4
|
||||
uses: docker/bake-action@v6
|
||||
with:
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
${{ steps.meta.outputs.bake-file-tags }}
|
||||
${{ steps.meta.outputs.bake-file-labels }}
|
||||
targets: build
|
||||
```
|
||||
|
||||
If you're building a [remote Bake definition](https://docs.docker.com/build/bake/remote-definition/)
|
||||
using a [Git context](https://github.com/docker/bake-action?tab=readme-ov-file#git-context),
|
||||
you must specify the location of the metadata-only bake file using a `cwd://`
|
||||
prefix:
|
||||
|
||||
```yaml
|
||||
-
|
||||
name: Build
|
||||
uses: docker/bake-action@v4
|
||||
with:
|
||||
source: "${{ github.server_url }}/${{ github.repository }}.git#${{ github.ref }}"
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
cwd://${{ steps.meta.outputs.bake-file }}
|
||||
cwd://${{ steps.meta.outputs.bake-file-tags }}
|
||||
cwd://${{ steps.meta.outputs.bake-file-labels }}
|
||||
targets: build
|
||||
```
|
||||
|
||||
@ -303,6 +283,7 @@ prefix:
|
||||
|
||||
The following inputs can be used as `step.with` keys:
|
||||
|
||||
> [!NOTE]
|
||||
> `List` type is a newline-delimited string
|
||||
> ```yaml
|
||||
> labels: |
|
||||
@ -318,7 +299,7 @@ The following inputs can be used as `step.with` keys:
|
||||
| `tags` | List | List of [tags](#tags-input) as key-value pair attributes |
|
||||
| `flavor` | List | [Flavor](#flavor-input) to apply |
|
||||
| `labels` | List | List of custom labels |
|
||||
| `annotations` | List | List of custom anntoations |
|
||||
| `annotations` | List | List of custom annotations |
|
||||
| `sep-tags` | String | Separator to use for tags output (default `\n`) |
|
||||
| `sep-labels` | String | Separator to use for labels output (default `\n`) |
|
||||
| `sep-annotations` | String | Separator to use for annotations output (default `\n`) |
|
||||
@ -339,7 +320,7 @@ The following outputs are available:
|
||||
| `bake-file-labels` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with labels |
|
||||
| `bake-file-annotations` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with [annotations](https://github.com/moby/buildkit/blob/master/docs/annotations.md) |
|
||||
|
||||
Alternatively, each output is also exported as an environment variable:
|
||||
Alternatively, each output is also exported as an environment variable when `DOCKER_METADATA_SET_OUTPUT_ENV` is `true`:
|
||||
|
||||
* `DOCKER_METADATA_OUTPUT_VERSION`
|
||||
* `DOCKER_METADATA_OUTPUT_TAGS`
|
||||
@ -353,7 +334,7 @@ Alternatively, each output is also exported as an environment variable:
|
||||
So it can be used with our [Docker Build Push action](https://github.com/docker/build-push-action/):
|
||||
|
||||
```yaml
|
||||
- uses: docker/build-push-action@v5
|
||||
- uses: docker/build-push-action@v6
|
||||
with:
|
||||
build-args: |
|
||||
DOCKER_METADATA_OUTPUT_JSON
|
||||
@ -361,11 +342,12 @@ So it can be used with our [Docker Build Push action](https://github.com/docker/
|
||||
|
||||
### environment variables
|
||||
|
||||
| Name | Type | Description |
|
||||
|--------------------------------------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `DOCKER_METADATA_PR_HEAD_SHA` | Bool | If `true`, set associated head SHA instead of commit SHA that triggered the workflow on pull request event |
|
||||
| `DOCKER_METADATA_SHORT_SHA_LENGTH` | Number | Specifies the length of the [short commit SHA](#typesha) to ensure uniqueness. Default is `12`, but can be increased for larger repositories. |
|
||||
| `DOCKER_METADATA_ANNOTATIONS_LEVELS` | String | Comma separated list of annotations levels to set for annotations output separated (default `manifest`) |
|
||||
| Name | Type | Description |
|
||||
|--------------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `DOCKER_METADATA_PR_HEAD_SHA` | Bool | If `true`, set associated head SHA instead of commit SHA that triggered the workflow on pull request event |
|
||||
| `DOCKER_METADATA_SHORT_SHA_LENGTH` | Number | Specifies the length of the [short commit SHA](#typesha) to ensure uniqueness. Default is `7`, but can be increased for larger repositories. |
|
||||
| `DOCKER_METADATA_ANNOTATIONS_LEVELS` | String | Comma separated list of annotations levels to set for annotations output separated (default `manifest`) |
|
||||
| `DOCKER_METADATA_SET_OUTPUT_ENV` | Bool | If `true`, sets each output as an environment variable (default `true`) |
|
||||
|
||||
## `context` input
|
||||
|
||||
@ -527,18 +509,20 @@ with the following expressions:
|
||||
* `minor` ; minor version identifier
|
||||
* `patch` ; patch version identifier
|
||||
|
||||
| Git tag | Pattern | Output |
|
||||
|--------------------|----------------------------------------------------------|----------------------|
|
||||
| `v1.2.3` | `{{raw}}` | `v1.2.3` |
|
||||
| `v1.2.3` | `{{version}}` | `1.2.3` |
|
||||
| `v1.2.3` | `{{major}}.{{minor}}` | `1.2` |
|
||||
| `v1.2.3` | `v{{major}}` | `v1` |
|
||||
| `v1.2.3` | `{{minor}}` | `2` |
|
||||
| `v1.2.3` | `{{patch}}` | `3` |
|
||||
| `v2.0.8-beta.67` | `{{raw}}` | `v2.0.8-beta.67` |
|
||||
| `v2.0.8-beta.67` | `{{version}}` | `2.0.8-beta.67` |
|
||||
| `v2.0.8-beta.67` | `{{major}}.{{minor}}` | `2.0.8-beta.67`* |
|
||||
| Git tag | Pattern | Output |
|
||||
|--------------------|-----------------------|----------------------|
|
||||
| `v1.2.3` | `{{raw}}` | `v1.2.3` |
|
||||
| `v1.2.3` | `{{version}}` | `1.2.3` |
|
||||
| `v1.2.3` | `{{major}}.{{minor}}` | `1.2` |
|
||||
| `v1.2.3` | `v{{major}}` | `v1` |
|
||||
| `v1.2.3` | `{{minor}}` | `2` |
|
||||
| `v1.2.3` | `{{patch}}` | `3` |
|
||||
| `v2.0.8-beta.67` | `{{raw}}` | `v2.0.8-beta.67` |
|
||||
| `v2.0.8-beta.67` | `{{version}}` | `2.0.8-beta.67` |
|
||||
| `v2.0.8-beta.67` | `{{major}}` | `2.0.8-beta.67`* |
|
||||
| `v2.0.8-beta.67` | `{{major}}.{{minor}}` | `2.0.8-beta.67`* |
|
||||
|
||||
> [!IMPORTANT]
|
||||
> *Pre-release (rc, beta, alpha) will only extend `{{version}}` (or `{{raw}}`
|
||||
> if specified) as tag because they are updated frequently, and contain many
|
||||
> breaking changes that are (by the author's design) not yet fit for public
|
||||
@ -588,6 +572,7 @@ with the following expressions:
|
||||
| `1.2.3beta2` | `{{major}}.{{minor}}` | `1.2.3b2`* |
|
||||
| `1.0dev4` | `{{major}}.{{minor}}` | `1.0.dev4`* |
|
||||
|
||||
> [!IMPORTANT]
|
||||
> *dev/pre/post release will only extend `{{version}}` (or `{{raw}}` if
|
||||
> specified) as tag because they are updated frequently, and contain many
|
||||
> breaking changes that are (by the author's design) not yet fit for public
|
||||
@ -725,9 +710,9 @@ tags: |
|
||||
```
|
||||
|
||||
Output Git short commit (or long if specified) as Docker tag like
|
||||
`sha-860c1904a1ce`.
|
||||
`sha-860c190`.
|
||||
|
||||
By default, the length of the short commit SHA is `12` characters. You can
|
||||
By default, the length of the short commit SHA is `7` characters. You can
|
||||
increase this length for larger repositories by setting the
|
||||
[`DOCKER_METADATA_SHORT_SHA_LENGTH` environment variable](#environment-variables):
|
||||
|
||||
@ -742,7 +727,7 @@ increase this length for larger repositories by setting the
|
||||
tags: |
|
||||
type=sha
|
||||
env:
|
||||
DOCKER_METADATA_SHORT_SHA_LENGTH: 16
|
||||
DOCKER_METADATA_SHORT_SHA_LENGTH: 12
|
||||
```
|
||||
|
||||
Extended attributes and default values:
|
||||
@ -777,6 +762,7 @@ generated by default (`auto` mode) for:
|
||||
|
||||
* [`type=ref,event=tag`](#typeref)
|
||||
* [`type=semver,pattern=...`](#typesemver)
|
||||
* [`type=pep440,pattern=...`](#typepep440)
|
||||
* [`type=match,pattern=...`](#typematch)
|
||||
|
||||
For conditionally tagging with latest for a specific branch name, e.g. if your
|
||||
@ -818,7 +804,8 @@ Each tags `type` attribute has a default priority:
|
||||
### Global expressions
|
||||
|
||||
The following [Handlebars' template](https://handlebarsjs.com/guide/) expressions
|
||||
for `prefix`, `suffix`, `value` and `enable` attributes are available:
|
||||
for `prefix`, `suffix`, `value` and `enable` attributes of `tags` input are
|
||||
available:
|
||||
|
||||
```yaml
|
||||
tags: |
|
||||
@ -828,6 +815,13 @@ tags: |
|
||||
type=raw,value=mytag-{{branch}}-{{sha}}
|
||||
```
|
||||
|
||||
They can also be applied to `labels` and `annotations` inputs:
|
||||
|
||||
```yaml
|
||||
labels: |
|
||||
org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
|
||||
```
|
||||
|
||||
#### `{{branch}}`
|
||||
|
||||
Returns the branch name that triggered the workflow run. Will be empty if not
|
||||
@ -868,6 +862,7 @@ workflow run. Will be empty for a branch reference:
|
||||
| `push` | `refs/heads/my/branch` | |
|
||||
| `push tag`* | `refs/tags/v1.2.3` | `master` |
|
||||
|
||||
> [!IMPORTANT]
|
||||
> *`base_ref` is available in the push payload but doesn't always seem to
|
||||
> return the expected branch when the push tag event occurs. It's also
|
||||
> [not documented in GitHub docs](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push).
|
||||
@ -937,7 +932,7 @@ that you can reuse them further in your workflow using the [`fromJSON` function]
|
||||
images: name/app
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
@ -984,7 +979,7 @@ of the `metadata-action`:
|
||||
images: name/app
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
annotations: ${{ steps.meta.outputs.annotations }}
|
||||
@ -1000,12 +995,12 @@ The same can be done with the [`bake-action`](https://github.com/docker/bake-act
|
||||
images: name/app
|
||||
-
|
||||
name: Build
|
||||
uses: docker/bake-action@v4
|
||||
uses: docker/bake-action@v6
|
||||
with:
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
${{ steps.meta.outputs.bake-file-tags }}
|
||||
${{ steps.meta.outputs.bake-file-annotations }}
|
||||
cwd://${{ steps.meta.outputs.bake-file-tags }}
|
||||
cwd://${{ steps.meta.outputs.bake-file-annotations }}
|
||||
targets: build
|
||||
```
|
||||
|
||||
@ -1031,7 +1026,7 @@ Please consult the documentation of your registry.
|
||||
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
annotations: ${{ steps.meta.outputs.annotations }}
|
||||
|
300
UPGRADE.md
300
UPGRADE.md
@ -1,300 +0,0 @@
|
||||
# Upgrade notes
|
||||
|
||||
## v2 to v3
|
||||
|
||||
* Repository has been moved to docker org. Replace `crazy-max/ghaction-docker-meta@v2`
|
||||
with `docker/metadata-action@v5`
|
||||
* The default bake target has been changed: `ghaction-docker-meta` > `docker-metadata-action`
|
||||
|
||||
## v1 to v2
|
||||
|
||||
* [inputs](#inputs)
|
||||
* [`tag-sha`](#tag-sha)
|
||||
* [`tag-edge` / `tag-edge-branch`](#tag-edge--tag-edge-branch)
|
||||
* [`tag-semver`](#tag-semver)
|
||||
* [`tag-match` / `tag-match-group`](#tag-match--tag-match-group)
|
||||
* [`tag-latest`](#tag-latest)
|
||||
* [`tag-schedule`](#tag-schedule)
|
||||
* [`tag-custom` / `tag-custom-only`](#tag-custom--tag-custom-only)
|
||||
* [`label-custom`](#label-custom)
|
||||
* [Basic workflow](#basic-workflow)
|
||||
* [Semver workflow](#semver-workflow)
|
||||
|
||||
### inputs
|
||||
|
||||
| New | Unchanged | Removed |
|
||||
|------------|-----------------|--------------------|
|
||||
| `tags` | `images` | `tag-sha` |
|
||||
| `flavor` | `sep-tags` | `tag-edge` |
|
||||
| `labels` | `sep-labels` | `tag-edge-branch` |
|
||||
| | | `tag-semver` |
|
||||
| | | `tag-match` |
|
||||
| | | `tag-match-group` |
|
||||
| | | `tag-latest` |
|
||||
| | | `tag-schedule` |
|
||||
| | | `tag-custom` |
|
||||
| | | `tag-custom-only` |
|
||||
| | | `label-custom` |
|
||||
|
||||
#### `tag-sha`
|
||||
|
||||
```yaml
|
||||
tags: |
|
||||
type=sha
|
||||
```
|
||||
|
||||
#### `tag-edge` / `tag-edge-branch`
|
||||
|
||||
```yaml
|
||||
tags: |
|
||||
# default branch
|
||||
type=edge
|
||||
# specify branch
|
||||
type=edge,branch=main
|
||||
```
|
||||
|
||||
#### `tag-semver`
|
||||
|
||||
```yaml
|
||||
tags: |
|
||||
type=semver,pattern={{version}}
|
||||
```
|
||||
|
||||
#### `tag-match` / `tag-match-group`
|
||||
|
||||
```yaml
|
||||
tags: |
|
||||
type=match,pattern=v(.*),group=1
|
||||
```
|
||||
|
||||
#### `tag-latest`
|
||||
|
||||
`tag-latest` is now handled through the [`flavor` input](README.md#flavor-input):
|
||||
|
||||
```yaml
|
||||
flavor: |
|
||||
latest=auto
|
||||
```
|
||||
|
||||
See also the notes about ["latest tag" behavior](README.md#latest-tag)
|
||||
|
||||
#### `tag-schedule`
|
||||
|
||||
```yaml
|
||||
tags: |
|
||||
# default tag (nightly)
|
||||
type=schedule
|
||||
# specific pattern
|
||||
type=schedule,pattern={{date 'YYYYMMDD'}}
|
||||
```
|
||||
|
||||
#### `tag-custom` / `tag-custom-only`
|
||||
|
||||
```yaml
|
||||
tags: |
|
||||
type=raw,value=foo
|
||||
type=raw,value=bar
|
||||
# or
|
||||
type=raw,foo
|
||||
type=raw,bar
|
||||
# or
|
||||
foo
|
||||
bar
|
||||
```
|
||||
|
||||
#### `label-custom`
|
||||
|
||||
Same behavior for `labels`:
|
||||
|
||||
```yaml
|
||||
labels: |
|
||||
maintainer=CrazyMax
|
||||
```
|
||||
|
||||
### Basic workflow
|
||||
|
||||
```yaml
|
||||
# v1
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- 'v*'
|
||||
pull_request:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v1
|
||||
with:
|
||||
images: name/app
|
||||
-
|
||||
name: Login to DockerHub
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
```
|
||||
|
||||
```yaml
|
||||
# v2
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- 'v*'
|
||||
pull_request:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: name/app
|
||||
-
|
||||
name: Login to DockerHub
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
```
|
||||
|
||||
### Semver workflow
|
||||
|
||||
```yaml
|
||||
# v1
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- 'v*'
|
||||
pull_request:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v1
|
||||
with:
|
||||
images: name/app
|
||||
tag-semver: |
|
||||
{{version}}
|
||||
{{major}}.{{minor}}
|
||||
-
|
||||
name: Login to DockerHub
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
```
|
||||
|
||||
```yaml
|
||||
# v2
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- 'v*'
|
||||
pull_request:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: name/app
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
-
|
||||
name: Login to DockerHub
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
```
|
@ -205,5 +205,19 @@ export const context = {
|
||||
};
|
||||
|
||||
export const getOctokit = jest.fn(() => ({
|
||||
request: () => Promise.resolve({data: {committer: {date: '2024-11-13T13:42:28Z'}}})
|
||||
rest: {
|
||||
repos: {
|
||||
getCommit: jest.fn(() =>
|
||||
Promise.resolve({
|
||||
data: {
|
||||
commit: {
|
||||
committer: {
|
||||
date: '2024-11-13T13:42:28Z'
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
@ -319,14 +319,14 @@ describe('push', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'dev',
|
||||
partial: ['sha-860c1904a1ce'],
|
||||
partial: ['sha-860c190'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:dev',
|
||||
'org/app:sha-860c1904a1ce',
|
||||
'org/app:sha-860c190',
|
||||
'ghcr.io/user/app:dev',
|
||||
'ghcr.io/user/app:sha-860c1904a1ce'
|
||||
'ghcr.io/user/app:sha-860c190'
|
||||
],
|
||||
[
|
||||
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||
@ -352,14 +352,14 @@ describe('push', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'edge',
|
||||
partial: ['sha-266574110acf'],
|
||||
partial: ['sha-2665741'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:edge',
|
||||
'org/app:sha-266574110acf',
|
||||
'org/app:sha-2665741',
|
||||
'ghcr.io/user/app:edge',
|
||||
'ghcr.io/user/app:sha-266574110acf'
|
||||
'ghcr.io/user/app:sha-2665741'
|
||||
],
|
||||
[
|
||||
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||
@ -385,14 +385,14 @@ describe('push', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'edge',
|
||||
partial: ['sha-860c1904a1ce'],
|
||||
partial: ['sha-860c190'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:edge',
|
||||
'org/app:sha-860c1904a1ce',
|
||||
'org/app:sha-860c190',
|
||||
'ghcr.io/user/app:edge',
|
||||
'ghcr.io/user/app:sha-860c1904a1ce'
|
||||
'ghcr.io/user/app:sha-860c190'
|
||||
],
|
||||
[
|
||||
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||
@ -417,13 +417,13 @@ describe('push', () => {
|
||||
],
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'sha-266574110acf',
|
||||
main: 'sha-2665741',
|
||||
partial: [],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:sha-266574110acf',
|
||||
'ghcr.io/user/app:sha-266574110acf'
|
||||
'org/app:sha-2665741',
|
||||
'ghcr.io/user/app:sha-2665741'
|
||||
],
|
||||
[
|
||||
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||
@ -433,7 +433,7 @@ describe('push', () => {
|
||||
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.title=Hello-World",
|
||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.version=sha-266574110acf"
|
||||
"org.opencontainers.image.version=sha-2665741"
|
||||
],
|
||||
undefined
|
||||
],
|
||||
@ -448,13 +448,13 @@ describe('push', () => {
|
||||
],
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'sha-983315b5e8d4',
|
||||
main: 'sha-983315b',
|
||||
partial: [],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:sha-983315b5e8d4',
|
||||
'ghcr.io/user/app:sha-983315b5e8d4'
|
||||
'org/app:sha-983315b',
|
||||
'ghcr.io/user/app:sha-983315b'
|
||||
],
|
||||
[
|
||||
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||
@ -464,7 +464,7 @@ describe('push', () => {
|
||||
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.title=Hello-World",
|
||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.version=sha-983315b5e8d4"
|
||||
"org.opencontainers.image.version=sha-983315b"
|
||||
],
|
||||
undefined
|
||||
],
|
||||
@ -785,6 +785,9 @@ describe('push', () => {
|
||||
`type=raw,value=mytag-baseref-{{base_ref}}`,
|
||||
`type=raw,value=mytag-defbranch,enable={{is_default_branch}}`
|
||||
],
|
||||
labels: [
|
||||
"org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}"
|
||||
]
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'mytag-master',
|
||||
@ -1356,17 +1359,17 @@ describe('tag', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: '1.0.0',
|
||||
partial: ['1.0', 'sha-860c1904a1ce'],
|
||||
partial: ['1.0', 'sha-860c190'],
|
||||
latest: true
|
||||
} as Version,
|
||||
[
|
||||
'org/app:1.0.0',
|
||||
'org/app:1.0',
|
||||
'org/app:sha-860c1904a1ce',
|
||||
'org/app:sha-860c190',
|
||||
'org/app:latest',
|
||||
'ghcr.io/user/app:1.0.0',
|
||||
'ghcr.io/user/app:1.0',
|
||||
'ghcr.io/user/app:sha-860c1904a1ce',
|
||||
'ghcr.io/user/app:sha-860c190',
|
||||
'ghcr.io/user/app:latest'
|
||||
],
|
||||
[
|
||||
@ -1396,17 +1399,17 @@ describe('tag', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: '1.0.0',
|
||||
partial: ['1.0', 'sha-860c1904a1ce'],
|
||||
partial: ['1.0', 'sha-860c190'],
|
||||
latest: true
|
||||
} as Version,
|
||||
[
|
||||
'org/app:1.0.0',
|
||||
'org/app:1.0',
|
||||
'org/app:sha-860c1904a1ce',
|
||||
'org/app:sha-860c190',
|
||||
'org/app:latest',
|
||||
'ghcr.io/user/app:1.0.0',
|
||||
'ghcr.io/user/app:1.0',
|
||||
'ghcr.io/user/app:sha-860c1904a1ce',
|
||||
'ghcr.io/user/app:sha-860c190',
|
||||
'ghcr.io/user/app:latest'
|
||||
],
|
||||
[
|
||||
@ -1438,17 +1441,17 @@ describe('tag', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: '1.0.0-dev',
|
||||
partial: ['1.0', 'sha-860c1904a1ce-dev'],
|
||||
partial: ['1.0', 'sha-860c190-dev'],
|
||||
latest: true
|
||||
} as Version,
|
||||
[
|
||||
'org/app:1.0.0-dev',
|
||||
'org/app:1.0',
|
||||
'org/app:sha-860c1904a1ce-dev',
|
||||
'org/app:sha-860c190-dev',
|
||||
'org/app:latest',
|
||||
'ghcr.io/user/app:1.0.0-dev',
|
||||
'ghcr.io/user/app:1.0',
|
||||
'ghcr.io/user/app:sha-860c1904a1ce-dev',
|
||||
'ghcr.io/user/app:sha-860c190-dev',
|
||||
'ghcr.io/user/app:latest'
|
||||
],
|
||||
[
|
||||
@ -1475,16 +1478,16 @@ describe('tag', () => {
|
||||
]
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'v1.1.1-860c1904a1ce-foo',
|
||||
main: 'v1.1.1-860c190-foo',
|
||||
partial: [
|
||||
'master-foo'
|
||||
],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:v1.1.1-860c1904a1ce-foo',
|
||||
'org/app:v1.1.1-860c190-foo',
|
||||
'org/app:master-foo',
|
||||
'ghcr.io/user/app:v1.1.1-860c1904a1ce-foo',
|
||||
'ghcr.io/user/app:v1.1.1-860c190-foo',
|
||||
'ghcr.io/user/app:master-foo'
|
||||
],
|
||||
[
|
||||
@ -1495,7 +1498,7 @@ describe('tag', () => {
|
||||
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.title=Hello-World",
|
||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.version=v1.1.1-860c1904a1ce-foo"
|
||||
"org.opencontainers.image.version=v1.1.1-860c190-foo"
|
||||
],
|
||||
undefined
|
||||
],
|
||||
@ -2349,14 +2352,14 @@ describe('pr', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'pr-15',
|
||||
partial: ['sha-a9c8c5828b91'],
|
||||
partial: ['sha-a9c8c58'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:pr-15',
|
||||
'org/app:sha-a9c8c5828b91',
|
||||
'org/app:sha-a9c8c58',
|
||||
'ghcr.io/user/app:pr-15',
|
||||
'ghcr.io/user/app:sha-a9c8c5828b91'
|
||||
'ghcr.io/user/app:sha-a9c8c58'
|
||||
],
|
||||
[
|
||||
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||
@ -2381,14 +2384,14 @@ describe('pr', () => {
|
||||
]
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'sha-a9c8c5828b91',
|
||||
main: 'sha-a9c8c58',
|
||||
partial: ['pr-15'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:sha-a9c8c5828b91',
|
||||
'org/app:sha-a9c8c58',
|
||||
'org/app:pr-15',
|
||||
'ghcr.io/user/app:sha-a9c8c5828b91',
|
||||
'ghcr.io/user/app:sha-a9c8c58',
|
||||
'ghcr.io/user/app:pr-15'
|
||||
],
|
||||
[
|
||||
@ -2399,7 +2402,7 @@ describe('pr', () => {
|
||||
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.title=Hello-World",
|
||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.version=sha-a9c8c5828b91"
|
||||
"org.opencontainers.image.version=sha-a9c8c58"
|
||||
],
|
||||
undefined
|
||||
],
|
||||
@ -2482,14 +2485,14 @@ describe('pr', () => {
|
||||
]
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'sha-266574110acf',
|
||||
main: 'sha-2665741',
|
||||
partial: ['pr-15'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:sha-266574110acf',
|
||||
'org/app:sha-2665741',
|
||||
'org/app:pr-15',
|
||||
'ghcr.io/user/app:sha-266574110acf',
|
||||
'ghcr.io/user/app:sha-2665741',
|
||||
'ghcr.io/user/app:pr-15'
|
||||
],
|
||||
[
|
||||
@ -2500,7 +2503,7 @@ describe('pr', () => {
|
||||
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.title=Hello-World",
|
||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.version=sha-266574110acf"
|
||||
"org.opencontainers.image.version=sha-2665741"
|
||||
],
|
||||
undefined
|
||||
],
|
||||
@ -2554,14 +2557,14 @@ describe('pr', () => {
|
||||
{
|
||||
main: 'pr-15',
|
||||
partial: [
|
||||
'sha-266574110acf',
|
||||
'sha-2665741',
|
||||
'sha-266574110acf203503badf966df2ea24b5d732d7'
|
||||
],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:pr-15',
|
||||
'org/app:sha-266574110acf',
|
||||
'org/app:sha-2665741',
|
||||
'org/app:sha-266574110acf203503badf966df2ea24b5d732d7'
|
||||
],
|
||||
[
|
||||
@ -2735,14 +2738,14 @@ describe('pr-head-sha', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'pr-15',
|
||||
partial: ['sha-3370e228f220'],
|
||||
partial: ['sha-3370e22'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:pr-15',
|
||||
'org/app:sha-3370e228f220',
|
||||
'org/app:sha-3370e22',
|
||||
'ghcr.io/user/app:pr-15',
|
||||
'ghcr.io/user/app:sha-3370e228f220'
|
||||
'ghcr.io/user/app:sha-3370e22'
|
||||
],
|
||||
[
|
||||
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||
@ -2766,14 +2769,14 @@ describe('pr-head-sha', () => {
|
||||
]
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'sha-3370e228f220',
|
||||
main: 'sha-3370e22',
|
||||
partial: ['pr-15'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:sha-3370e228f220',
|
||||
'org/app:sha-3370e22',
|
||||
'org/app:pr-15',
|
||||
'ghcr.io/user/app:sha-3370e228f220',
|
||||
'ghcr.io/user/app:sha-3370e22',
|
||||
'ghcr.io/user/app:pr-15'
|
||||
],
|
||||
[
|
||||
@ -2784,7 +2787,7 @@ describe('pr-head-sha', () => {
|
||||
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.title=Hello-World",
|
||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.version=sha-3370e228f220"
|
||||
"org.opencontainers.image.version=sha-3370e22"
|
||||
]
|
||||
],
|
||||
[
|
||||
@ -2864,14 +2867,14 @@ describe('pr-head-sha', () => {
|
||||
]
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'sha-3370e228f220',
|
||||
main: 'sha-3370e22',
|
||||
partial: ['pr-15'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:sha-3370e228f220',
|
||||
'org/app:sha-3370e22',
|
||||
'org/app:pr-15',
|
||||
'ghcr.io/user/app:sha-3370e228f220',
|
||||
'ghcr.io/user/app:sha-3370e22',
|
||||
'ghcr.io/user/app:pr-15'
|
||||
],
|
||||
[
|
||||
@ -2882,7 +2885,7 @@ describe('pr-head-sha', () => {
|
||||
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.title=Hello-World",
|
||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.version=sha-3370e228f220"
|
||||
"org.opencontainers.image.version=sha-3370e22"
|
||||
]
|
||||
],
|
||||
[
|
||||
@ -2934,14 +2937,14 @@ describe('pr-head-sha', () => {
|
||||
{
|
||||
main: 'pr-15',
|
||||
partial: [
|
||||
'sha-3370e228f220',
|
||||
'sha-3370e22',
|
||||
'sha-3370e228f2209994d57af4427fe64e71bb79ac96'
|
||||
],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:pr-15',
|
||||
'org/app:sha-3370e228f220',
|
||||
'org/app:sha-3370e22',
|
||||
'org/app:sha-3370e228f2209994d57af4427fe64e71bb79ac96'
|
||||
],
|
||||
[
|
||||
@ -3197,14 +3200,14 @@ describe('schedule', () => {
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'nightly',
|
||||
partial: ['sha-860c1904a1ce'],
|
||||
partial: ['sha-860c190'],
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:nightly',
|
||||
'org/app:sha-860c1904a1ce',
|
||||
'org/app:sha-860c190',
|
||||
'ghcr.io/user/app:nightly',
|
||||
'ghcr.io/user/app:sha-860c1904a1ce'
|
||||
'ghcr.io/user/app:sha-860c190'
|
||||
],
|
||||
[
|
||||
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||
@ -3230,7 +3233,7 @@ describe('schedule', () => {
|
||||
]
|
||||
} as Inputs,
|
||||
{
|
||||
main: 'sha-860c1904a1ce',
|
||||
main: 'sha-860c190',
|
||||
partial: [
|
||||
'nightly',
|
||||
'defbranch'
|
||||
@ -3238,10 +3241,10 @@ describe('schedule', () => {
|
||||
latest: false
|
||||
} as Version,
|
||||
[
|
||||
'org/app:sha-860c1904a1ce',
|
||||
'org/app:sha-860c190',
|
||||
'org/app:nightly',
|
||||
'org/app:defbranch',
|
||||
'ghcr.io/user/app:sha-860c1904a1ce',
|
||||
'ghcr.io/user/app:sha-860c190',
|
||||
'ghcr.io/user/app:nightly',
|
||||
'ghcr.io/user/app:defbranch'
|
||||
],
|
||||
@ -3253,7 +3256,7 @@ describe('schedule', () => {
|
||||
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.title=Hello-World",
|
||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||
"org.opencontainers.image.version=sha-860c1904a1ce"
|
||||
"org.opencontainers.image.version=sha-860c190"
|
||||
],
|
||||
undefined
|
||||
],
|
||||
|
@ -59,7 +59,7 @@ outputs:
|
||||
bake-file-labels:
|
||||
description: 'Bake definition file with labels'
|
||||
bake-file-annotations:
|
||||
description: 'Bake definiton file with annotations'
|
||||
description: 'Bake definition file with annotations'
|
||||
bake-file:
|
||||
description: 'Bake definition file with tags and labels'
|
||||
|
||||
|
56
dist/index.js
generated
vendored
56
dist/index.js
generated
vendored
File diff suppressed because one or more lines are too long
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
6
dist/licenses.txt
generated
vendored
6
dist/licenses.txt
generated
vendored
@ -2414,9 +2414,6 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
dot-object
|
||||
MIT
|
||||
|
||||
encoding
|
||||
MIT
|
||||
Copyright (c) 2012-2014 Andris Reinman
|
||||
@ -3796,9 +3793,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
twirp-ts
|
||||
MIT
|
||||
|
||||
undici
|
||||
MIT
|
||||
MIT License
|
||||
|
@ -1,3 +1,9 @@
|
||||
target "_common" {
|
||||
args = {
|
||||
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
|
||||
}
|
||||
}
|
||||
|
||||
group "default" {
|
||||
targets = ["build"]
|
||||
}
|
||||
@ -11,42 +17,49 @@ group "validate" {
|
||||
}
|
||||
|
||||
target "build" {
|
||||
inherits = ["_common"]
|
||||
dockerfile = "dev.Dockerfile"
|
||||
target = "build-update"
|
||||
output = ["."]
|
||||
}
|
||||
|
||||
target "build-validate" {
|
||||
inherits = ["_common"]
|
||||
dockerfile = "dev.Dockerfile"
|
||||
target = "build-validate"
|
||||
output = ["type=cacheonly"]
|
||||
}
|
||||
|
||||
target "format" {
|
||||
inherits = ["_common"]
|
||||
dockerfile = "dev.Dockerfile"
|
||||
target = "format-update"
|
||||
output = ["."]
|
||||
}
|
||||
|
||||
target "lint" {
|
||||
inherits = ["_common"]
|
||||
dockerfile = "dev.Dockerfile"
|
||||
target = "lint"
|
||||
output = ["type=cacheonly"]
|
||||
}
|
||||
|
||||
target "vendor" {
|
||||
inherits = ["_common"]
|
||||
dockerfile = "dev.Dockerfile"
|
||||
target = "vendor-update"
|
||||
output = ["."]
|
||||
}
|
||||
|
||||
target "vendor-validate" {
|
||||
inherits = ["_common"]
|
||||
dockerfile = "dev.Dockerfile"
|
||||
target = "vendor-validate"
|
||||
output = ["type=cacheonly"]
|
||||
}
|
||||
|
||||
target "test" {
|
||||
inherits = ["_common"]
|
||||
dockerfile = "dev.Dockerfile"
|
||||
target = "test-coverage"
|
||||
output = ["./coverage"]
|
||||
|
12
package.json
12
package.json
@ -28,19 +28,19 @@
|
||||
"packageManager": "yarn@3.6.3",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.11.1",
|
||||
"@actions/github": "^6.0.0",
|
||||
"@docker/actions-toolkit": "^0.44.0",
|
||||
"@actions/github": "^6.0.1",
|
||||
"@docker/actions-toolkit": "^0.62.1",
|
||||
"@renovate/pep440": "^1.0.0",
|
||||
"csv-parse": "^5.5.6",
|
||||
"csv-parse": "^5.6.0",
|
||||
"handlebars": "^4.7.8",
|
||||
"moment": "^2.30.1",
|
||||
"moment-timezone": "^0.5.46",
|
||||
"semver": "^7.6.3"
|
||||
"moment-timezone": "^0.6.0",
|
||||
"semver": "^7.7.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/csv-parse": "^1.2.2",
|
||||
"@types/node": "^20.12.12",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.9.0",
|
||||
"@typescript-eslint/parser": "^7.9.0",
|
||||
"@vercel/ncc": "^0.38.1",
|
||||
|
@ -119,11 +119,18 @@ async function getCommitDateFromWorkflow(sha: string, toolkit: Toolkit): Promise
|
||||
}
|
||||
|
||||
// fallback to github api for commit date
|
||||
const commit = await toolkit.github.octokit.request('GET /repos/{owner}/{repo}/commits/{commit_sha}', {
|
||||
commit_sha: sha,
|
||||
owner: GitHub.context.repo.owner,
|
||||
repo: GitHub.context.repo.repo
|
||||
});
|
||||
|
||||
return new Date(commit.data.committer.date);
|
||||
try {
|
||||
const commit = await toolkit.github.octokit.rest.repos.getCommit({
|
||||
owner: GitHub.context.repo.owner,
|
||||
repo: GitHub.context.repo.repo,
|
||||
ref: sha
|
||||
});
|
||||
if (commit.data.commit.committer?.date) {
|
||||
return new Date(commit.data.commit.committer.date);
|
||||
}
|
||||
throw new Error('Committer date not found');
|
||||
} catch (error) {
|
||||
core.debug(`Failed to get commit date from GitHub API: ${error.message}`);
|
||||
return new Date();
|
||||
}
|
||||
}
|
||||
|
11
src/main.ts
11
src/main.ts
@ -2,6 +2,7 @@ import * as fs from 'fs';
|
||||
import * as core from '@actions/core';
|
||||
import * as actionsToolkit from '@docker/actions-toolkit';
|
||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
||||
import {Util} from '@docker/actions-toolkit/lib/util';
|
||||
|
||||
import {getContext, getInputs, Inputs} from './context';
|
||||
import {Meta, Version} from './meta';
|
||||
@ -13,6 +14,7 @@ actionsToolkit.run(
|
||||
const toolkit = new Toolkit({githubToken: inputs.githubToken});
|
||||
const context = await getContext(inputs.context, toolkit);
|
||||
const repo = await toolkit.github.repoData();
|
||||
const setOutput = outputEnvEnabled() ? setOutputAndEnv : core.setOutput;
|
||||
|
||||
await core.group(`Context info`, async () => {
|
||||
core.info(`eventName: ${context.eventName}`);
|
||||
@ -105,7 +107,14 @@ actionsToolkit.run(
|
||||
}
|
||||
);
|
||||
|
||||
function setOutput(name: string, value: string) {
|
||||
function setOutputAndEnv(name: string, value: string) {
|
||||
core.setOutput(name, value);
|
||||
core.exportVariable(`DOCKER_METADATA_OUTPUT_${name.replace(/\W/g, '_').toUpperCase()}`, value);
|
||||
}
|
||||
|
||||
function outputEnvEnabled(): boolean {
|
||||
if (process.env.DOCKER_METADATA_SET_OUTPUT_ENV) {
|
||||
return Util.parseBool(process.env.DOCKER_METADATA_SET_OUTPUT_ENV);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ import * as icl from './image';
|
||||
import * as tcl from './tag';
|
||||
import * as fcl from './flavor';
|
||||
|
||||
const defaultShortShaLength = 12;
|
||||
const defaultShortShaLength = 7;
|
||||
|
||||
export interface Version {
|
||||
main: string | undefined;
|
||||
@ -372,7 +372,7 @@ export class Meta {
|
||||
return val;
|
||||
}
|
||||
|
||||
private setGlobalExp(val): string {
|
||||
private setGlobalExp(val: string): string {
|
||||
const context = this.context;
|
||||
const currentDate = this.date;
|
||||
const commitDate = this.context.commitDate;
|
||||
@ -517,7 +517,9 @@ export class Meta {
|
||||
`org.opencontainers.image.revision=${this.context.sha || ''}`,
|
||||
`org.opencontainers.image.licenses=${this.repo.license?.spdx_id || ''}`
|
||||
];
|
||||
res.push(...extra);
|
||||
extra.forEach(label => {
|
||||
res.push(this.setGlobalExp(label));
|
||||
});
|
||||
|
||||
return Array.from(
|
||||
new Map<string, string>(
|
||||
|
326
yarn.lock
326
yarn.lock
@ -12,9 +12,9 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@actions/artifact@npm:^2.1.11":
|
||||
version: 2.1.11
|
||||
resolution: "@actions/artifact@npm:2.1.11"
|
||||
"@actions/artifact@npm:^2.3.2":
|
||||
version: 2.3.2
|
||||
resolution: "@actions/artifact@npm:2.3.2"
|
||||
dependencies:
|
||||
"@actions/core": ^1.10.0
|
||||
"@actions/github": ^5.1.1
|
||||
@ -27,15 +27,14 @@ __metadata:
|
||||
"@protobuf-ts/plugin": ^2.2.3-alpha.1
|
||||
archiver: ^7.0.1
|
||||
jwt-decode: ^3.1.2
|
||||
twirp-ts: ^2.5.0
|
||||
unzip-stream: ^0.3.1
|
||||
checksum: dbdafaad11cc573768a00f6b8a7f5109f587eb9461564ae8f15ea8fd1d6a719041df45a92ec204a43a8a1e7ce2c21d8e4229543579b89a3ca8ea30dedddf2fc9
|
||||
checksum: 78ee41b43800accb2f3527e1733217c43d53693e7f96ce2470b16890fb84f5c2ebaaa6048ccdb6cfe188b54c02779ec99623c6932558e757f6829cfde203cf2c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@actions/cache@npm:^3.3.0":
|
||||
version: 3.3.0
|
||||
resolution: "@actions/cache@npm:3.3.0"
|
||||
"@actions/cache@npm:^4.0.3":
|
||||
version: 4.0.3
|
||||
resolution: "@actions/cache@npm:4.0.3"
|
||||
dependencies:
|
||||
"@actions/core": ^1.11.1
|
||||
"@actions/exec": ^1.0.1
|
||||
@ -45,8 +44,9 @@ __metadata:
|
||||
"@azure/abort-controller": ^1.1.0
|
||||
"@azure/ms-rest-js": ^2.6.0
|
||||
"@azure/storage-blob": ^12.13.0
|
||||
"@protobuf-ts/plugin": ^2.9.4
|
||||
semver: ^6.3.1
|
||||
checksum: f0761b1491b7706a80b44d68ed52eb48c04653fc939525a7c7b606e9d9251c40c7e4ac20846ab92ac32db6869e1a6f0f574bd6b7fec1ab9378c8e199c5acc9c9
|
||||
checksum: ee9c2a21a70bd3f35c63f302af478e23f135c26deb77ea2e4eed29c62766a4b201fc7435651c0d56fa504c02d203107e3bdfda1dba18a3ee09338e1dfc3f2fe8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -91,15 +91,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@actions/github@npm:^6.0.0":
|
||||
version: 6.0.0
|
||||
resolution: "@actions/github@npm:6.0.0"
|
||||
"@actions/github@npm:^6.0.1":
|
||||
version: 6.0.1
|
||||
resolution: "@actions/github@npm:6.0.1"
|
||||
dependencies:
|
||||
"@actions/http-client": ^2.2.0
|
||||
"@octokit/core": ^5.0.1
|
||||
"@octokit/plugin-paginate-rest": ^9.0.0
|
||||
"@octokit/plugin-rest-endpoint-methods": ^10.0.0
|
||||
checksum: 81831a78377175d8825fc0b94247ff366c0e87ad1dfa48df9b30b8659506f216dcf1e2d3124fcd318839b92c24ba20165e238b3cc11a34db89c69c40825e9ccf
|
||||
"@octokit/plugin-paginate-rest": ^9.2.2
|
||||
"@octokit/plugin-rest-endpoint-methods": ^10.4.0
|
||||
"@octokit/request": ^8.4.1
|
||||
"@octokit/request-error": ^5.1.1
|
||||
undici: ^5.28.5
|
||||
checksum: ba6a162a5727dea2f3f3fc450e02c5b336ceb65a0e26ba9ad9c62b20f4f5b2625ca347a9311a4905ef3c92378ca022caba841a283cb7f2e4175d79e3d1ecaf12
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -140,17 +143,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@actions/tool-cache@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "@actions/tool-cache@npm:2.0.1"
|
||||
"@actions/tool-cache@npm:^2.0.2":
|
||||
version: 2.0.2
|
||||
resolution: "@actions/tool-cache@npm:2.0.2"
|
||||
dependencies:
|
||||
"@actions/core": ^1.2.6
|
||||
"@actions/core": ^1.11.1
|
||||
"@actions/exec": ^1.0.0
|
||||
"@actions/http-client": ^2.0.1
|
||||
"@actions/io": ^1.1.1
|
||||
semver: ^6.1.0
|
||||
uuid: ^3.3.2
|
||||
checksum: 33f6393b9b163e4af2b9759e8d37cda4f018f10ddda3643355bb8a9f92d732e5bdff089cf8036b46d181e1ef2b3210b895b2f746fdf54487afe88f1d340aa9e1
|
||||
checksum: c2bab4297be752bdda9dd61f8159a201ad0d37d026134b960f1edcc9418a80387f44d1f24a070fe992c44dcfc28a152f70600e76669bb0578132789a6f37a596
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1099,32 +1101,32 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@docker/actions-toolkit@npm:^0.44.0":
|
||||
version: 0.44.0
|
||||
resolution: "@docker/actions-toolkit@npm:0.44.0"
|
||||
"@docker/actions-toolkit@npm:^0.62.1":
|
||||
version: 0.62.1
|
||||
resolution: "@docker/actions-toolkit@npm:0.62.1"
|
||||
dependencies:
|
||||
"@actions/artifact": ^2.1.11
|
||||
"@actions/cache": ^3.3.0
|
||||
"@actions/artifact": ^2.3.2
|
||||
"@actions/cache": ^4.0.3
|
||||
"@actions/core": ^1.11.1
|
||||
"@actions/exec": ^1.1.1
|
||||
"@actions/github": ^6.0.0
|
||||
"@actions/github": ^6.0.1
|
||||
"@actions/http-client": ^2.2.3
|
||||
"@actions/io": ^1.1.3
|
||||
"@actions/tool-cache": ^2.0.1
|
||||
"@actions/tool-cache": ^2.0.2
|
||||
"@azure/storage-blob": ^12.15.0
|
||||
"@octokit/core": ^5.1.0
|
||||
"@octokit/plugin-rest-endpoint-methods": ^10.4.0
|
||||
async-retry: ^1.3.3
|
||||
csv-parse: ^5.5.6
|
||||
csv-parse: ^5.6.0
|
||||
gunzip-maybe: ^1.4.2
|
||||
handlebars: ^4.7.8
|
||||
he: ^1.2.0
|
||||
js-yaml: ^4.1.0
|
||||
jwt-decode: ^4.0.0
|
||||
semver: ^7.6.3
|
||||
semver: ^7.7.2
|
||||
tar-stream: ^3.1.7
|
||||
tmp: ^0.2.3
|
||||
checksum: 2accc7a46825121ff8359520958f92f7b5f1d7bc08517aa0ce7c953b44492db8ff29c062511f3488c51b9e414cf9d46047d83e352aebf80636e306344773668f
|
||||
checksum: 72dfef5073c7b638a73b53ccd48ec9dc3fa0e0c1b1b0aaf711fc872ef4ef0a882909271c01913f335efc5f868e4062e6e7720b92d6c3a605ecb6cc30d3001f9d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1713,6 +1715,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/endpoint@npm:^9.0.6":
|
||||
version: 9.0.6
|
||||
resolution: "@octokit/endpoint@npm:9.0.6"
|
||||
dependencies:
|
||||
"@octokit/types": ^13.1.0
|
||||
universal-user-agent: ^6.0.0
|
||||
checksum: f853c08f0777a8cc7c3d2509835d478e11a76d722f807d4f2ad7c0e64bf4dd159536409f466b367a907886aa3b78574d3d09ed95ac462c769e4fccaaad81e72a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/graphql@npm:^4.5.8":
|
||||
version: 4.8.0
|
||||
resolution: "@octokit/graphql@npm:4.8.0"
|
||||
@ -1756,6 +1768,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/openapi-types@npm:^24.2.0":
|
||||
version: 24.2.0
|
||||
resolution: "@octokit/openapi-types@npm:24.2.0"
|
||||
checksum: 3c2d2f4cafd21c8a1e6a6fe6b56df6a3c09bc52ab6f829c151f9397694d028aa183ae856f08e006ee7ecaa7bd7eb413a903fbc0ffa6403e7b284ddcda20b1294
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/plugin-paginate-rest@npm:^2.17.0":
|
||||
version: 2.21.3
|
||||
resolution: "@octokit/plugin-paginate-rest@npm:2.21.3"
|
||||
@ -1767,14 +1786,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/plugin-paginate-rest@npm:^9.0.0":
|
||||
version: 9.0.0
|
||||
resolution: "@octokit/plugin-paginate-rest@npm:9.0.0"
|
||||
"@octokit/plugin-paginate-rest@npm:^9.2.2":
|
||||
version: 9.2.2
|
||||
resolution: "@octokit/plugin-paginate-rest@npm:9.2.2"
|
||||
dependencies:
|
||||
"@octokit/types": ^12.0.0
|
||||
"@octokit/types": ^12.6.0
|
||||
peerDependencies:
|
||||
"@octokit/core": ">=5"
|
||||
checksum: 4a8543f3e45c4916f94edc57d66106ee60da9fd4edccd7c3a2ddd00da1fc4eb2e1b2bcb3d6cb981a050edf883100c5004d0b81497568d4ac9138310a2188a458
|
||||
"@octokit/core": 5
|
||||
checksum: ea2a3ebf6abc128a1996c5ff7148ebe755ee2ed001aa0c1d3088d67a9d78b093d84820e3ec73bfb165ca8774943a1158afdae4cf7b90b0a07f12ebbe1d8a428b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1787,7 +1806,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/plugin-rest-endpoint-methods@npm:^10.0.0, @octokit/plugin-rest-endpoint-methods@npm:^10.4.0":
|
||||
"@octokit/plugin-rest-endpoint-methods@npm:^10.4.0":
|
||||
version: 10.4.0
|
||||
resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.4.0"
|
||||
dependencies:
|
||||
@ -1842,6 +1861,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/request-error@npm:^5.1.1":
|
||||
version: 5.1.1
|
||||
resolution: "@octokit/request-error@npm:5.1.1"
|
||||
dependencies:
|
||||
"@octokit/types": ^13.1.0
|
||||
deprecation: ^2.0.0
|
||||
once: ^1.4.0
|
||||
checksum: 17d0b3f59c2a8a285715bfe6a85168d9c417aa7a0ff553b9be4198a3bc8bb00384a3530221a448eb19f8f07ea9fc48d264869624f5f84fa63a948a7af8cddc8c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/request@npm:^5.6.0, @octokit/request@npm:^5.6.3":
|
||||
version: 5.6.3
|
||||
resolution: "@octokit/request@npm:5.6.3"
|
||||
@ -1869,6 +1899,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/request@npm:^8.4.1":
|
||||
version: 8.4.1
|
||||
resolution: "@octokit/request@npm:8.4.1"
|
||||
dependencies:
|
||||
"@octokit/endpoint": ^9.0.6
|
||||
"@octokit/request-error": ^5.1.1
|
||||
"@octokit/types": ^13.1.0
|
||||
universal-user-agent: ^6.0.0
|
||||
checksum: 0ba76728583543baeef9fda98690bc86c57e0a3ccac8c189d2b7d144d248c89167eb37a071ed8fead8f4da0a1c55c4dd98a8fc598769c263b95179fb200959de
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/types@npm:^12.0.0":
|
||||
version: 12.0.0
|
||||
resolution: "@octokit/types@npm:12.0.0"
|
||||
@ -1887,6 +1929,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/types@npm:^13.1.0":
|
||||
version: 13.10.0
|
||||
resolution: "@octokit/types@npm:13.10.0"
|
||||
dependencies:
|
||||
"@octokit/openapi-types": ^24.2.0
|
||||
checksum: fca3764548d5872535b9025c3b5fe6373fe588b287cb5b5259364796c1931bbe5e9ab8a86a5274ce43bb2b3e43b730067c3b86b6b1ade12a98cd59b2e8b3610d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/types@npm:^6.0.3, @octokit/types@npm:^6.16.1, @octokit/types@npm:^6.39.0, @octokit/types@npm:^6.40.0":
|
||||
version: 6.41.0
|
||||
resolution: "@octokit/types@npm:6.41.0"
|
||||
@ -1917,7 +1968,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@protobuf-ts/plugin-framework@npm:^2.0.7, @protobuf-ts/plugin-framework@npm:^2.9.4":
|
||||
"@protobuf-ts/plugin-framework@npm:^2.9.4":
|
||||
version: 2.9.4
|
||||
resolution: "@protobuf-ts/plugin-framework@npm:2.9.4"
|
||||
dependencies:
|
||||
@ -1927,7 +1978,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@protobuf-ts/plugin@npm:^2.2.3-alpha.1":
|
||||
"@protobuf-ts/plugin@npm:^2.2.3-alpha.1, @protobuf-ts/plugin@npm:^2.9.4":
|
||||
version: 2.9.4
|
||||
resolution: "@protobuf-ts/plugin@npm:2.9.4"
|
||||
dependencies:
|
||||
@ -2147,10 +2198,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/semver@npm:^7.5.8":
|
||||
version: 7.5.8
|
||||
resolution: "@types/semver@npm:7.5.8"
|
||||
checksum: ea6f5276f5b84c55921785a3a27a3cd37afee0111dfe2bcb3e03c31819c197c782598f17f0b150a69d453c9584cd14c4c4d7b9a55d2c5e6cacd4d66fdb3b3663
|
||||
"@types/semver@npm:^7.7.0":
|
||||
version: 7.7.0
|
||||
resolution: "@types/semver@npm:7.7.0"
|
||||
checksum: d488eaeddb23879a0a8a759bed667e1a76cb0dd4d23e3255538e24c189db387357953ca9e7a3bda2bb7f95e84cac8fe0db4fbe6b3456e893043337732d1d23cc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -2821,16 +2872,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"camel-case@npm:^4.1.2":
|
||||
version: 4.1.2
|
||||
resolution: "camel-case@npm:4.1.2"
|
||||
dependencies:
|
||||
pascal-case: ^3.1.2
|
||||
tslib: ^2.0.3
|
||||
checksum: bcbd25cd253b3cbc69be3f535750137dbf2beb70f093bdc575f73f800acc8443d34fd52ab8f0a2413c34f1e8203139ffc88428d8863e4dfe530cfb257a379ad6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"camelcase@npm:^5.3.1":
|
||||
version: 5.3.1
|
||||
resolution: "camelcase@npm:5.3.1"
|
||||
@ -2990,13 +3031,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"commander@npm:^6.1.0":
|
||||
version: 6.2.1
|
||||
resolution: "commander@npm:6.2.1"
|
||||
checksum: d7090410c0de6bc5c67d3ca41c41760d6d268f3c799e530aafb73b7437d1826bbf0d2a3edac33f8b57cc9887b4a986dce307fa5557e109be40eadb7c43b21742
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"compress-commons@npm:^6.0.2":
|
||||
version: 6.0.2
|
||||
resolution: "compress-commons@npm:6.0.2"
|
||||
@ -3108,10 +3142,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"csv-parse@npm:^5.5.6":
|
||||
version: 5.5.6
|
||||
resolution: "csv-parse@npm:5.5.6"
|
||||
checksum: ee06f97f674487dc1d001b360de8ea510a41b9d971abf43bcf9c3be22c83a3634df0d3ebfbe52fd49d145077066be7ff9f25de3fc6b71aefb973099b04147a25
|
||||
"csv-parse@npm:^5.6.0":
|
||||
version: 5.6.0
|
||||
resolution: "csv-parse@npm:5.6.0"
|
||||
checksum: 173e176bdaf212bab37d0f6d39a06d039d24a1c0ee40b9f1023ebf8b36095934807deeb493c0fb58592b39b0682ccd0be5c9e8d2b137c08807e7031595ea7a51
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -3214,16 +3248,16 @@ __metadata:
|
||||
resolution: "docker-metadata-action@workspace:."
|
||||
dependencies:
|
||||
"@actions/core": ^1.11.1
|
||||
"@actions/github": ^6.0.0
|
||||
"@docker/actions-toolkit": ^0.44.0
|
||||
"@actions/github": ^6.0.1
|
||||
"@docker/actions-toolkit": ^0.62.1
|
||||
"@renovate/pep440": ^1.0.0
|
||||
"@types/csv-parse": ^1.2.2
|
||||
"@types/node": ^20.12.12
|
||||
"@types/semver": ^7.5.8
|
||||
"@types/semver": ^7.7.0
|
||||
"@typescript-eslint/eslint-plugin": ^7.9.0
|
||||
"@typescript-eslint/parser": ^7.9.0
|
||||
"@vercel/ncc": ^0.38.1
|
||||
csv-parse: ^5.5.6
|
||||
csv-parse: ^5.6.0
|
||||
dotenv: ^16.4.5
|
||||
eslint: ^8.57.0
|
||||
eslint-config-prettier: ^9.1.0
|
||||
@ -3232,9 +3266,9 @@ __metadata:
|
||||
handlebars: ^4.7.8
|
||||
jest: ^29.7.0
|
||||
moment: ^2.30.1
|
||||
moment-timezone: ^0.5.46
|
||||
moment-timezone: ^0.6.0
|
||||
prettier: ^3.2.5
|
||||
semver: ^7.6.3
|
||||
semver: ^7.7.2
|
||||
ts-jest: ^29.1.2
|
||||
ts-node: ^10.9.2
|
||||
typescript: ^5.4.5
|
||||
@ -3250,18 +3284,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dot-object@npm:^2.1.4":
|
||||
version: 2.1.5
|
||||
resolution: "dot-object@npm:2.1.5"
|
||||
dependencies:
|
||||
commander: ^6.1.0
|
||||
glob: ^7.1.6
|
||||
bin:
|
||||
dot-object: bin/dot-object
|
||||
checksum: 3e5a681bbea32dfc1cd0b1254adc93531bd462f7474a355e981738ef37253e4bc5c9482926289ef4d3c6ef9adb0a7ed894725ed3a69aa22063343dc2a57dd764
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dotenv@npm:^16.4.5":
|
||||
version: 16.4.5
|
||||
resolution: "dotenv@npm:16.4.5"
|
||||
@ -3936,20 +3958,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob@npm:^7.1.6":
|
||||
version: 7.2.3
|
||||
resolution: "glob@npm:7.2.3"
|
||||
dependencies:
|
||||
fs.realpath: ^1.0.0
|
||||
inflight: ^1.0.4
|
||||
inherits: 2
|
||||
minimatch: ^3.1.1
|
||||
once: ^1.3.0
|
||||
path-is-absolute: ^1.0.0
|
||||
checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"globals@npm:^11.1.0":
|
||||
version: 11.12.0
|
||||
resolution: "globals@npm:11.12.0"
|
||||
@ -5031,15 +5039,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lower-case@npm:^2.0.2":
|
||||
version: 2.0.2
|
||||
resolution: "lower-case@npm:2.0.2"
|
||||
dependencies:
|
||||
tslib: ^2.0.3
|
||||
checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
|
||||
version: 10.2.2
|
||||
resolution: "lru-cache@npm:10.2.2"
|
||||
@ -5157,7 +5156,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
|
||||
"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.2":
|
||||
version: 3.1.2
|
||||
resolution: "minimatch@npm:3.1.2"
|
||||
dependencies:
|
||||
@ -5302,12 +5301,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"moment-timezone@npm:^0.5.46":
|
||||
version: 0.5.46
|
||||
resolution: "moment-timezone@npm:0.5.46"
|
||||
"moment-timezone@npm:^0.6.0":
|
||||
version: 0.6.0
|
||||
resolution: "moment-timezone@npm:0.6.0"
|
||||
dependencies:
|
||||
moment: ^2.29.4
|
||||
checksum: 3974b467a98e5eb5dece66187d251aa0f97b087413c9a6a607b38ae6fa67032e12a107649dd857cfbcc31c194f004eb13ecc9fcd582b6a168a9a19355ec5a2e3
|
||||
checksum: 87cf0ecb17b36251bce3ec95edbc8eed5244d4e4b03f545ef2502a5607fde0f6ea767b7d7ef49eca90c68c326748d820c1d73cf7fea2d0b3b7ea738614e05edc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -5346,16 +5345,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"no-case@npm:^3.0.4":
|
||||
version: 3.0.4
|
||||
resolution: "no-case@npm:3.0.4"
|
||||
dependencies:
|
||||
lower-case: ^2.0.2
|
||||
tslib: ^2.0.3
|
||||
checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"node-fetch@npm:^2.6.7":
|
||||
version: 2.6.7
|
||||
resolution: "node-fetch@npm:2.6.7"
|
||||
@ -5550,16 +5539,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pascal-case@npm:^3.1.2":
|
||||
version: 3.1.2
|
||||
resolution: "pascal-case@npm:3.1.2"
|
||||
dependencies:
|
||||
no-case: ^3.0.4
|
||||
tslib: ^2.0.3
|
||||
checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-exists@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "path-exists@npm:4.0.0"
|
||||
@ -5608,13 +5587,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-to-regexp@npm:^6.2.0":
|
||||
version: 6.3.0
|
||||
resolution: "path-to-regexp@npm:6.3.0"
|
||||
checksum: eca78602e6434a1b6799d511d375ec044e8d7e28f5a48aa5c28d57d8152fb52f3fc62fb1cfc5dfa2198e1f041c2a82ed14043d75740a2fe60e91b5089a153250
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-type@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "path-type@npm:4.0.0"
|
||||
@ -5679,15 +5651,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prettier@npm:^2.5.1":
|
||||
version: 2.8.8
|
||||
resolution: "prettier@npm:2.8.8"
|
||||
bin:
|
||||
prettier: bin-prettier.js
|
||||
checksum: b49e409431bf129dd89238d64299ba80717b57ff5a6d1c1a8b1a28b590d998a34e083fa13573bc732bb8d2305becb4c9a4407f8486c81fa7d55100eb08263cf8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prettier@npm:^3.2.5":
|
||||
version: 3.2.5
|
||||
resolution: "prettier@npm:3.2.5"
|
||||
@ -6017,12 +5980,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"semver@npm:^7.6.3":
|
||||
version: 7.6.3
|
||||
resolution: "semver@npm:7.6.3"
|
||||
"semver@npm:^7.7.2":
|
||||
version: 7.7.2
|
||||
resolution: "semver@npm:7.7.2"
|
||||
bin:
|
||||
semver: bin/semver.js
|
||||
checksum: 4110ec5d015c9438f322257b1c51fe30276e5f766a3f64c09edd1d7ea7118ecbc3f379f3b69032bacf13116dc7abc4ad8ce0d7e2bd642e26b0d271b56b61a7d8
|
||||
checksum: dd94ba8f1cbc903d8eeb4dd8bf19f46b3deb14262b6717d0de3c804b594058ae785ef2e4b46c5c3b58733c99c83339068203002f9e37cfe44f7e2cc5e3d2f621
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -6505,16 +6468,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ts-poet@npm:^4.5.0":
|
||||
version: 4.15.0
|
||||
resolution: "ts-poet@npm:4.15.0"
|
||||
dependencies:
|
||||
lodash: ^4.17.15
|
||||
prettier: ^2.5.1
|
||||
checksum: 93490e8b5921e23ac65afdecc00b4dd53f3560d7d9c19778a3f0bd9a300ba7ca71585a989d564508313bc73e8c431413714d513ebca2d5c428f909ec36bcf6e9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tslib@npm:^1.10.0":
|
||||
version: 1.14.1
|
||||
resolution: "tslib@npm:1.14.1"
|
||||
@ -6522,7 +6475,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tslib@npm:^2.0.3, tslib@npm:^2.2.0, tslib@npm:^2.6.2":
|
||||
"tslib@npm:^2.2.0, tslib@npm:^2.6.2":
|
||||
version: 2.6.2
|
||||
resolution: "tslib@npm:2.6.2"
|
||||
checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad
|
||||
@ -6536,30 +6489,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"twirp-ts@npm:^2.5.0":
|
||||
version: 2.5.0
|
||||
resolution: "twirp-ts@npm:2.5.0"
|
||||
dependencies:
|
||||
"@protobuf-ts/plugin-framework": ^2.0.7
|
||||
camel-case: ^4.1.2
|
||||
dot-object: ^2.1.4
|
||||
path-to-regexp: ^6.2.0
|
||||
ts-poet: ^4.5.0
|
||||
yaml: ^1.10.2
|
||||
peerDependencies:
|
||||
"@protobuf-ts/plugin": ^2.5.0
|
||||
ts-proto: ^1.81.3
|
||||
peerDependenciesMeta:
|
||||
"@protobuf-ts/plugin":
|
||||
optional: true
|
||||
ts-proto:
|
||||
optional: true
|
||||
bin:
|
||||
protoc-gen-twirp_ts: protoc-gen-twirp_ts
|
||||
checksum: e7cf87d77ab4d2cd327c9d8307e82ff61afc5af56883aed5fb6ac7d57999b646945e11158be87c10f0340aeef2efde6eb896f2efd60599498f17b4f310d66e4f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
|
||||
version: 0.4.0
|
||||
resolution: "type-check@npm:0.4.0"
|
||||
@ -6655,6 +6584,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"undici@npm:^5.28.5":
|
||||
version: 5.29.0
|
||||
resolution: "undici@npm:5.29.0"
|
||||
dependencies:
|
||||
"@fastify/busboy": ^2.0.0
|
||||
checksum: a25b5462c1b6ffb974f5ffc492ffd64146a9983aad0cbda6fde65e2b22f6f1acd43f09beacc66cc47624a113bd0c684ffc60366102b6a21b038fbfafb7d75195
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"unique-filename@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "unique-filename@npm:3.0.0"
|
||||
@ -6720,15 +6658,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"uuid@npm:^3.3.2":
|
||||
version: 3.4.0
|
||||
resolution: "uuid@npm:3.4.0"
|
||||
bin:
|
||||
uuid: ./bin/uuid
|
||||
checksum: 58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"uuid@npm:^8.3.0, uuid@npm:^8.3.2":
|
||||
version: 8.3.2
|
||||
resolution: "uuid@npm:8.3.2"
|
||||
@ -6904,13 +6833,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"yaml@npm:^1.10.2":
|
||||
version: 1.10.2
|
||||
resolution: "yaml@npm:1.10.2"
|
||||
checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1":
|
||||
version: 21.1.1
|
||||
resolution: "yargs-parser@npm:21.1.1"
|
||||
|
Loading…
x
Reference in New Issue
Block a user