Skip to content

Create patch image and add patch workflow#61

Merged
prestodb-ci merged 6 commits intoprestodb:patch-11from
unidevel:patch-11
Feb 23, 2026
Merged

Create patch image and add patch workflow#61
prestodb-ci merged 6 commits intoprestodb:patch-11from
unidevel:patch-11

Conversation

@unidevel
Copy link
Copy Markdown
Contributor

@unidevel unidevel commented Feb 19, 2026

Release Workflow Improvements

This PR refactors the GitHub Actions release workflow to simplify the release process and fix critical bugs.

Changes

1. Fixed Version Increment Bug 🐛

Problem: When releasing version 11, the next snapshot version became 1-SNAPSHOT instead of 12-SNAPSHOT

Fix: Correctly reference the release version output for arithmetic increment

# Before: $((NEW_VERSION + 1))
# After:  $((${{ steps.release_tag.outputs.release_version }} + 1))

2. Simplified Release Process ✨

Removed manual input parameters:

  • release_type (new_version/from_version)
  • version (manual version number)

New branch-based approach:

  • Run on master → Creates new release automatically
  • Run on release-* or patch-* → Publishes that release

3. Added Branch Validation 🛡️

New validation job ensures workflow only runs on:

  • master - for creating new releases
  • release-* - for publishing releases
  • patch-* - for publishing patches

Fails fast with clear error message on invalid branches.

4. Release Branch Creation 🌿

When running on master, the workflow now:

  1. Creates release-{VERSION} branch (e.g., release-11)
  2. Creates {VERSION} tag on that branch
  3. Pushes both branch and tag
  4. Updates master to next SNAPSHOT version (e.g., 12-SNAPSHOT)

5. Simplified Checkout Logic 🔄

Removed redundant tag checkout - now uses single checkout of the selected branch for clearer flow.

6. Upgraded centos7-oj8 to JDK 17 ☕

Updated base image from azul/zulu-openjdk-centos:11 to azul/zulu-openjdk-centos:17 for better performance and long-term support.

7. Added Python 3 Support 🐍

Added Python 3 and pip3 to centos7-oj8 image, providing both Python 2 and Python 3 support for modern applications.

8. Multi-Architecture Build Support 🏗️

Added Docker Buildx support for building multi-architecture images (linux/amd64 and linux/arm64):

  • New Makefile target @multi for multi-arch builds
  • Configurable via LOCAL_IMAGES and MULTI_IMAGES repository variables
  • Automatic platform detection and building

Usage

Creating a New Release

  1. Go to Actions → Release workflow
  2. Select branch: master
  3. Enter image names
  4. Run workflow

Result: Creates release branch, tag, publishes images, and prepares master for next version.

Publishing Existing Release

  1. Go to Actions → Release workflow
  2. Select branch: release-11 (or patch-11)
  3. Enter image names
  4. Run workflow

Result: Publishes images from that release branch.

Benefits

  • ✅ No more manual version entry
  • ✅ Automatic version increments work correctly
  • ✅ Release branches provide clear history
  • ✅ Safer with branch validation
  • ✅ Can republish any release from its branch

@unidevel
Copy link
Copy Markdown
Contributor Author

unidevel commented Feb 19, 2026

@NikhilCollooru I published 2 images to my repo, please test them with your PR, thanks.

Related PR: prestodb/presto#27070

@unidevel unidevel requested a review from tdcmeehan February 20, 2026 16:15
@unidevel
Copy link
Copy Markdown
Contributor Author

Tested the new images with current CI in presto master branch, passed.

@prestodb-ci prestodb-ci merged commit 5ae7876 into prestodb:patch-11 Feb 23, 2026
1 check passed
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.

3 participants