Compare commits

...

21 Commits

Author SHA1 Message Date
dependabot[bot]
8f8de6ac4e chore(deps): Bump @docker/actions-toolkit from 0.68.0 to 0.72.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.68.0 to 0.72.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.68.0...v0.72.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 00:41:54 +00:00
Tõnis Tiigi
ed95091677 Merge pull request #579 from crazy-max/update-dev-deps
update dev dependencies
2026-01-07 16:39:57 -08:00
CrazyMax
57670b6268 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:09:10 +01:00
CrazyMax
d636a41a2f update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:43 +01:00
CrazyMax
9c747a7ed1 fix lint issues
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:42 +01:00
CrazyMax
c98baa7757 migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:36 +01:00
CrazyMax
ad1f8b1f99 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 16:55:49 +01:00
CrazyMax
f0a4bc3c2d Merge pull request #574 from osman-butt/update-checkout-v6
docs: update checkout action to v6 in README
2026-01-05 16:45:15 +01:00
osman-butt
9b6cf6ec37 docs: update checkout action to v6 in README
Signed-off-by: osman-butt <butt.osman@gmail.com>
2025-12-10 01:50:17 +01:00
CrazyMax
c299e40c65 Merge pull request #569 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.68.0
chore(deps): Bump @docker/actions-toolkit from 0.67.0 to 0.68.0
2025-11-27 13:36:24 +01:00
CrazyMax
f015d7914a chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-27 12:42:57 +01:00
dependabot[bot]
121bcc2ca8 chore(deps): Bump @docker/actions-toolkit from 0.67.0 to 0.68.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.67.0 to 0.68.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.67.0...v0.68.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 11:37:44 +00:00
CrazyMax
f7b6bf41b9 Merge pull request #564 from docker/dependabot/npm_and_yarn/js-yaml-3.14.2
chore(deps): Bump js-yaml from 3.14.1 to 3.14.2
2025-11-27 12:35:12 +01:00
CrazyMax
0b95c6b860 Merge pull request #565 from docker/dependabot/github_actions/actions/checkout-6
chore(deps): Bump actions/checkout from 5 to 6
2025-11-27 12:34:57 +01:00
CrazyMax
17f70d7525 Merge pull request #568 from motoki317/docs/fix-to-24h-schedule-pattern
docs(README): Fix date format from 12h to 24h in schedule pattern
2025-11-27 12:34:33 +01:00
motoki317
afd7e6d7bb docs(README): Fix date format from 12h to 24h in schedule pattern
hh represents 12h format from 01 to 12 which is probably not suitable
for date tags.
The pattern example in the table below uses the 24h format HH, so this
makes the document consistent.

Signed-off-by: motoki317 <motoki317@gmail.com>
2025-11-27 12:57:49 +09:00
dependabot[bot]
602aff8e11 chore(deps): Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 19:01:45 +00:00
dependabot[bot]
aecb1a49a5 chore(deps): Bump js-yaml from 3.14.1 to 3.14.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-19 05:05:12 +00:00
CrazyMax
8d8c7c12f7 Merge pull request #559 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.67.0
chore(deps): Bump @docker/actions-toolkit from 0.66.0 to 0.67.0
2025-11-05 16:15:03 +01:00
CrazyMax
15bd03a177 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 15:55:58 +01:00
dependabot[bot]
fdba5868fb chore(deps): Bump @docker/actions-toolkit from 0.66.0 to 0.67.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.66.0 to 0.67.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.66.0...v0.67.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 13:53:44 +00:00
15 changed files with 2235 additions and 2215 deletions

View File

@@ -1,3 +0,0 @@
/dist/**
/coverage/**
/node_modules/**

View File

@@ -1,24 +0,0 @@
{
"env": {
"node": true,
"es6": true,
"jest": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2023,
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
]
}

View File

@@ -31,7 +31,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Docker meta
uses: ./
@@ -43,7 +43,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -80,7 +80,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -116,7 +116,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -150,7 +150,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -181,7 +181,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -204,7 +204,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -225,7 +225,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -255,7 +255,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -285,7 +285,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -320,7 +320,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -368,7 +368,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -413,7 +413,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -441,7 +441,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -480,7 +480,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Docker meta
id: meta
@@ -504,7 +504,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -545,7 +545,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -571,7 +571,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -604,7 +604,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -628,7 +628,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Dump context
uses: crazy-max/ghaction-dump-context@v2

View File

@@ -15,7 +15,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Publish
uses: actions/publish-immutable-action@v0.0.4

View File

@@ -17,7 +17,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Test
uses: docker/bake-action@v6

View File

@@ -19,7 +19,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: List targets
id: generate

View File

@@ -77,7 +77,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Docker meta
id: meta
@@ -131,7 +131,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
-
name: Docker meta
id: meta
@@ -464,7 +464,7 @@ tags: |
# handlebars
type=schedule,pattern={{date 'YYYYMMDD'}}
# handlebars with timezone
type=schedule,pattern={{date 'YYYYMMDD-hhmmss' tz='Asia/Tokyo'}}
type=schedule,pattern={{date 'YYYYMMDD-HHmmss' tz='Asia/Tokyo'}}
```
Will be used on [schedule event](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule).

View File

@@ -2770,7 +2770,6 @@ describe('pr', () => {
describe('pr-head-sha', () => {
// prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([
[
'pr01',
@@ -3911,7 +3910,6 @@ describe('raw', () => {
describe('json', () => {
// prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([
[
'json01',
@@ -4275,7 +4273,6 @@ describe('json', () => {
describe('bakeFile', () => {
// prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([
[
'bakeFile01',
@@ -4797,7 +4794,6 @@ describe('bakeFile', () => {
describe('bakeFileTagsLabels', () => {
// prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([
[
'bakeFileTagsLabels01',
@@ -4855,7 +4851,6 @@ describe('bakeFileTagsLabels', () => {
describe('sepTags', () => {
// prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([
[
'sepTags01',
@@ -4888,13 +4883,10 @@ describe('sepTags', () => {
"user/app:dev,user/app:my,user/app:custom,user/app:tags"
]
])('given %p with %p event', async (name: string, envFile: string, inputs: Inputs, expTags: string) => {
process.env = dotenv.parse(fs.readFileSync(path.join(__dirname, 'fixtures', envFile)));
const toolkit = new Toolkit();
const repo = await toolkit.github.repoData();
const meta = new Meta({...getInputs(), ...inputs}, await getContext(ContextSource.workflow, toolkit), repo);
expect(meta.getTags().join(inputs.sepTags)).toEqual(expTags);

30
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

58
eslint.config.js Normal file
View File

@@ -0,0 +1,58 @@
/* eslint-disable @typescript-eslint/no-require-imports */
const {defineConfig, globalIgnores} = require('eslint/config');
const {fixupConfigRules, fixupPluginRules} = require('@eslint/compat');
const typescriptEslint = require('@typescript-eslint/eslint-plugin');
const jestPlugin = require('eslint-plugin-jest');
const prettier = require('eslint-plugin-prettier');
const globals = require('globals');
const tsParser = require('@typescript-eslint/parser');
const js = require('@eslint/js');
const {FlatCompat} = require('@eslint/eslintrc');
// __dirname and __filename exist natively in CommonJS
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
});
module.exports = defineConfig([
globalIgnores(['dist/**/*', 'coverage/**/*', 'node_modules/**/*']),
{
// prettier-ignore
extends: fixupConfigRules(
compat.extends(
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:jest/recommended',
'plugin:prettier/recommended'
)
),
plugins: {
'@typescript-eslint': fixupPluginRules(typescriptEslint),
jest: fixupPluginRules(jestPlugin),
prettier: fixupPluginRules(prettier)
},
languageOptions: {
globals: {
...globals.node,
...globals.jest
},
parser: tsParser,
ecmaVersion: 'latest',
sourceType: 'module'
},
rules: {
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);

View File

@@ -1,6 +1,7 @@
import fs from 'fs';
import os from 'os';
import path from 'path';
/* eslint-disable @typescript-eslint/no-require-imports */
const fs = require('fs');
const os = require('os');
const path = require('path');
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-metadata-action-'));
@@ -9,9 +10,7 @@ process.env = Object.assign({}, process.env, {
GITHUB_REPOSITORY: 'docker/metadata-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
}) as {
[key: string]: string;
};
});
module.exports = {
clearMocks: true,

View File

@@ -29,7 +29,7 @@
"dependencies": {
"@actions/core": "^1.11.1",
"@actions/github": "^6.0.1",
"@docker/actions-toolkit": "^0.66.0",
"@docker/actions-toolkit": "^0.72.0",
"@renovate/pep440": "^1.0.0",
"csv-parse": "^6.1.0",
"handlebars": "^4.7.8",
@@ -38,20 +38,22 @@
"semver": "^7.7.3"
},
"devDependencies": {
"@types/node": "^20.19.9",
"@types/semver": "^7.7.1",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"@vercel/ncc": "^0.38.3",
"dotenv": "^16.6.1",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.2",
"eslint-plugin-jest": "^28.14.0",
"@eslint/compat": "^2.0.0",
"@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^9.39.2",
"@types/node": "^20.19.27",
"@typescript-eslint/eslint-plugin": "^8.50.0",
"@typescript-eslint/parser": "^8.50.0",
"@vercel/ncc": "^0.38.4",
"dotenv": "^17.2.3",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-jest": "^29.5.0",
"eslint-plugin-prettier": "^5.5.4",
"jest": "^29.7.0",
"prettier": "^3.6.2",
"ts-jest": "^29.4.1",
"jest": "^30.2.0",
"prettier": "^3.7.4",
"ts-jest": "^29.4.6",
"ts-node": "^10.9.2",
"typescript": "^5.9.2"
"typescript": "^5.9.3"
}
}

View File

@@ -376,7 +376,7 @@ export class Meta {
if (hp.body.length == 1 && hp.body[0].type == 'MustacheStatement') {
return hp.body[0]['path']['parts'].length == 1 && hp.body[0]['path']['parts'][0] == 'raw';
}
} catch (err) {
} catch {
return false;
}
return false;

4230
yarn.lock

File diff suppressed because it is too large Load Diff