Conditions for special tags published to container registries.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-06-06 01:44:16 +00:00
parent 7e55f8b3d7
commit 936893e6c6
2 changed files with 13 additions and 5 deletions

View File

@@ -65,7 +65,7 @@ jobs:
!failure() && !cancelled()
&& inputs.machines
&& inputs.docker_repo != ''
&& github.ref == 'refs/heads/main'
&& (github.ref == 'refs/heads/main' || contains(github.ref, 'refs/tags/'))
name: Containers
runs-on: ${{matrix.machine}}
@@ -115,6 +115,8 @@ jobs:
acct: ${{github.actor}}
repo: ${{github.repository}}
docker_repo: ${{inputs.docker_repo}}
docker_tag_latest: ${{ contains(github.ref, 'refs/tags/') && !contains(github.ref, '-rc') }}
docker_tag_preview: ${{ contains(github.ref, 'refs/tags/') && contains(github.ref, '-rc') }}
run: |
docker/bake.sh "${{matrix.bake_target}}"

View File

@@ -16,6 +16,12 @@ variable "repo" {
variable "docker_repo" {
default = "${repo}"
}
variable "docker_tag_preview" {
default = false
}
variable "docker_tag_latest" {
default = false
}
variable "git_ref" {
default = "${GITHUB_REF}"
@@ -261,8 +267,8 @@ target "github" {
name = elem("github", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [
"ghcr.io/${repo}:${git_ref_name}-${cargo_profile}-${feat_set}-${sys_target}",
(substr(git_ref, 0, 10) == "refs/tags/" && cargo_profile == "release" && feat_set == "all")?
"ghcr.io/${repo}:latest": "",
docker_tag_preview? "ghcr.io/${repo}:preview": "",
docker_tag_latest? "ghcr.io/${repo}:latest": "",
]
output = ["type=registry,compression=zstd,mode=min,compression-level=${image_compress_level}"]
matrix = cargo_rust_feat_sys
@@ -275,8 +281,8 @@ target "dockerhub" {
name = elem("dockerhub", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [
"${docker_repo}:${git_ref_name}-${cargo_profile}-${feat_set}-${sys_target}",
(substr(git_ref, 0, 10) == "refs/tags/" && cargo_profile == "release" && feat_set == "all")?
"${docker_repo}:latest": "",
docker_tag_preview? "${docker_repo}:preview": "",
docker_tag_latest? "${docker_repo}:latest": "",
]
output = ["type=registry,compression=zstd,mode=min,compression-level=${image_compress_level}"]
matrix = cargo_rust_feat_sys