mirror of
https://gitea.com/docker/metadata-action.git
synced 2024-11-22 20:19:33 +01:00
Merge pull request #197 from crazy-max/rm-baseref-def-branch
remove support of default branch global exp for push tag events
This commit is contained in:
commit
72fe50e2af
5 changed files with 26 additions and 17 deletions
12
README.md
12
README.md
|
@ -676,11 +676,17 @@ Returns the base ref or target branch of the pull request that triggered the
|
||||||
workflow run. Will be empty for a branch reference:
|
workflow run. Will be empty for a branch reference:
|
||||||
|
|
||||||
| Event | Ref | Output |
|
| Event | Ref | Output |
|
||||||
|-----------------|-------------------------------|--------------------|
|
|----------------|-------------------------------|--------------------|
|
||||||
| `pull_request` | `refs/pull/2/merge` | `master` |
|
| `pull_request` | `refs/pull/2/merge` | `master` |
|
||||||
| `push` | `refs/heads/master` | |
|
| `push` | `refs/heads/master` | |
|
||||||
| `push` | `refs/heads/my/branch` | |
|
| `push` | `refs/heads/my/branch` | |
|
||||||
| `push tag` | `refs/tags/v1.2.3` | `master` |
|
| `push tag`* | `refs/tags/v1.2.3` | `master` |
|
||||||
|
|
||||||
|
> *`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).
|
||||||
|
> We keep it for backward compatibility, but it's **not recommended relying on it**.
|
||||||
|
> More context in [#192](https://github.com/docker/metadata-action/pull/192#discussion_r854673012).
|
||||||
|
|
||||||
#### `{{is_default_branch}}`
|
#### `{{is_default_branch}}`
|
||||||
|
|
||||||
|
@ -688,7 +694,7 @@ Returns `true` if the branch that triggered the workflow run is the default
|
||||||
one, otherwise `false`.
|
one, otherwise `false`.
|
||||||
|
|
||||||
Will compare against the branch name that triggered the workflow run or the
|
Will compare against the branch name that triggered the workflow run or the
|
||||||
base ref or target branch for a pull request or a tag.
|
base ref for a pull request.
|
||||||
|
|
||||||
#### `{{date '<format>'}}`
|
#### `{{date '<format>'}}`
|
||||||
|
|
||||||
|
|
|
@ -1332,18 +1332,15 @@ describe('tag', () => {
|
||||||
{
|
{
|
||||||
main: 'v1.1.1-860c190-foo',
|
main: 'v1.1.1-860c190-foo',
|
||||||
partial: [
|
partial: [
|
||||||
'master-foo',
|
'master-foo'
|
||||||
'defbranch-foo'
|
|
||||||
],
|
],
|
||||||
latest: false
|
latest: false
|
||||||
} as Version,
|
} as Version,
|
||||||
[
|
[
|
||||||
'org/app:v1.1.1-860c190-foo',
|
'org/app:v1.1.1-860c190-foo',
|
||||||
'org/app:master-foo',
|
'org/app:master-foo',
|
||||||
'org/app:defbranch-foo',
|
|
||||||
'ghcr.io/user/app:v1.1.1-860c190-foo',
|
'ghcr.io/user/app:v1.1.1-860c190-foo',
|
||||||
'ghcr.io/user/app:master-foo',
|
'ghcr.io/user/app:master-foo'
|
||||||
'ghcr.io/user/app:defbranch-foo'
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
|
|
2
dist/index.js
generated
vendored
2
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
12
src/meta.ts
12
src/meta.ts
|
@ -369,6 +369,8 @@ export class Meta {
|
||||||
if (/^refs\/tags\//.test(ctx.ref) && ctx.payload?.base_ref != undefined) {
|
if (/^refs\/tags\//.test(ctx.ref) && ctx.payload?.base_ref != undefined) {
|
||||||
return ctx.payload.base_ref.replace(/^refs\/heads\//g, '').replace(/\//g, '-');
|
return ctx.payload.base_ref.replace(/^refs\/heads\//g, '').replace(/\//g, '-');
|
||||||
}
|
}
|
||||||
|
// FIXME: keep this for backward compatibility even if doesn't always seem
|
||||||
|
// to return the expected branch. See the comment below.
|
||||||
if (/^refs\/pull\//.test(ctx.ref) && ctx.payload?.pull_request?.base?.ref != undefined) {
|
if (/^refs\/pull\//.test(ctx.ref) && ctx.payload?.pull_request?.base?.ref != undefined) {
|
||||||
return ctx.payload.pull_request.base.ref;
|
return ctx.payload.pull_request.base.ref;
|
||||||
}
|
}
|
||||||
|
@ -376,9 +378,13 @@ export class Meta {
|
||||||
},
|
},
|
||||||
is_default_branch: function () {
|
is_default_branch: function () {
|
||||||
let branch = ctx.ref.replace(/^refs\/heads\//g, '');
|
let branch = ctx.ref.replace(/^refs\/heads\//g, '');
|
||||||
if (/^refs\/tags\//.test(ctx.ref) && ctx.payload?.base_ref != undefined) {
|
// TODO: "base_ref" is available in the push payload but doesn't always seem to
|
||||||
branch = ctx.payload.base_ref.replace(/^refs\/heads\//g, '');
|
// 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
|
||||||
|
// more context: https://github.com/docker/metadata-action/pull/192#discussion_r854673012
|
||||||
|
// if (/^refs\/tags\//.test(ctx.ref) && ctx.payload?.base_ref != undefined) {
|
||||||
|
// branch = ctx.payload.base_ref.replace(/^refs\/heads\//g, '');
|
||||||
|
// }
|
||||||
if (/^refs\/pull\//.test(ctx.ref) && ctx.payload?.pull_request?.base?.ref != undefined) {
|
if (/^refs\/pull\//.test(ctx.ref) && ctx.payload?.pull_request?.base?.ref != undefined) {
|
||||||
branch = ctx.payload.pull_request.base.ref;
|
branch = ctx.payload.pull_request.base.ref;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue