Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 7, 2025

Adds minor version tags (vX.X) and variant-suffixed latest tags (latest-ansible2.16.5, latest-powershell7.5.0) to enable flexible version pinning in production deployments.

Changes

  • Minor version tags: Added type=semver,pattern={{major}}.{{minor}} to generate v2.10 tags that track latest patch releases
  • Latest variant tags: Added flavor: latest=true with suffixes to generate latest-ansible2.16.5 and latest-powershell7.5.0
  • Minor variant tags: Combined semver patterns with suffixes to generate v2.10-ansible2.16.5 and v2.10-powershell7.5.0

Applied consistently to both semaphoreui/semaphore and semaphoreui/runner images.

Tag Output Example

For release v2.10.3:

semaphoreui/semaphore:
  latest, v2.10.3, v2.10
  latest-ansible2.16.5, v2.10.3-ansible2.16.5, v2.10-ansible2.16.5
  latest-powershell7.5.0, v2.10.3-powershell7.5.0, v2.10-powershell7.5.0

semaphoreui/runner:
  [same pattern]

All existing tags preserved. Total: 18 tags per release (previously 6).

Original prompt

This section details on the original issue you should resolve

<issue_title>Feature: Add new Docker tags</issue_title>
<issue_description>### Related to

Docker

Impact

must have for enterprise usage

Missing Feature

Currently there are the tags latest, develop and vX.X.X, vX.X.X-ansible2.16.5 and vX.X.X-powershell7.5.0
(I won't look at beta tags here as they will never be used in production)

A great improvement would be to add the following tags:

  • vX.X (e.g. v2.16 that is always the current patch level of the minor version
  • -ansible2.16.5 (that existed but got deleted in Problem: latest-ansible2.16.5 is outdated #2875 for latest as it was outdated) and -powershell7.5.0 for all tags and not only the minor versions

vX wouldn't be useful as long as there are breaking changes between minor versions

Implementation

add the tags above so that for example latest-ansible2.16.5 and v2.16-powershell7.5.0 exist

Design

No response</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.


Note

Introduce semver-based tags (vX.X, vX.X.X) and variant-suffixed latest tags for server and runner images, adding Ansible/PowerShell metadata steps and wiring builds to their outputs.

  • CI/Release workflow (.github/workflows/release.yml)
    • Tagging:
      • Switch Docker tags from raw ref_name to semver (v{{version}}, v{{major}}.{{minor}}).
      • Add variant tags with suffixes for Ansible (-ansible2.16.5) and PowerShell (-powershell7.5.0).
      • Enable latest tags, including latest-ansible2.16.5 and latest-powershell7.5.0 via flavor with suffix.
    • Metadata + Builds:
      • Add separate metadata steps for server and runner variant images (server_ansible, server_powershell, runner_ansible, runner_powershell).
      • Update corresponding build steps to use the new metadata outputs for labels and tags.

Written by Cursor Bugbot for commit 27b9cc8. This will update automatically on new commits. Configure here.

Copilot AI changed the title [WIP] Add new Docker tags for enterprise usage Add vX.X and latest-variant Docker tags for minor version tracking Nov 7, 2025
Copilot AI requested a review from fiftin November 7, 2025 17:15
Copilot finished work on behalf of fiftin November 7, 2025 17:15
@fiftin fiftin marked this pull request as ready for review November 7, 2025 18:19
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 94 to 96
tags: |
type=raw,value=${{ github.ref_name }}
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Retain v-prefixed Docker tags

The existing release job used type=raw,value=${{ github.ref_name }} which emitted Docker tags like v2.10.3. The new configuration switches to type=semver,pattern={{version}} (and the same pattern in the other metadata steps) without adding prefix=v. docker/metadata-action strips the leading v from semver versions, so a release tagged v2.10.3 will now publish images 2.10.3 and 2.10 instead of v2.10.3/v2.10. This silently drops the tags that existing deployments pin to (semaphoreui/semaphore:vX.Y.Z), so pulls will fail once the change ships. Add prefix=v (or switch back to {{raw}}) to preserve the current tag names, and apply the same fix to the variant metadata blocks.

Useful? React with 👍 / 👎.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codex fix it

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

  • Added prefix=v to every semver-based Docker metadata tag so both base and variant images continue publishing their existing v-prefixed tag names. .github/workflows/release.ymlL84-L245

Testing

  • ⚠️ Tests not run (not requested)

View task →

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants