Merge remote-tracking branch 'upstream/release_25.1' into merge_25.1_into_dev_dec_2

This commit is contained in:
Ahmed Awan
2025-12-17 16:22:10 +05:00
3 changed files with 63 additions and 155 deletions
-83
View File
@@ -1,83 +0,0 @@
# Release Drafter Configuration for Galaxy
# Implements YY.N.P versioning scheme using existing Galaxy labels
#
# IMPORTANT: Galaxy's versioning scheme is YY.N.P where:
# - YY = Two-digit year (25 for 2025)
# - N = Feature release number (0, 1, 2... - typically 2-3 per year)
# - P = Patch/point release number (0, 1, 2, 3...)
#
# Year transitions (24→25) must be handled manually when creating releases.
name-template: 'Galaxy $RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
# Categories for organizing release notes using existing Galaxy labels
categories:
- title: '🎉 Major Changes'
labels:
- 'major'
- 'highlight'
- title: '🚀 New Features'
labels:
- 'kind/feature'
- title: '🔧 Enhancements'
labels:
- 'kind/enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'kind/bug'
- title: '🔒 Security Updates'
labels:
- 'area/security'
- title: '⚡ Performance'
labels:
- 'area/performance'
- title: '🧰 Refactoring'
labels:
- 'kind/refactoring'
- title: '📚 Documentation'
labels:
- 'area/documentation'
- title: '🔧 Admin & Configuration'
labels:
- 'area/admin'
- 'area/configuration'
- title: '🛠️ API Changes'
labels:
- 'area/API'
- title: '🧪 Testing'
labels:
- 'area/testing'
- 'area/testing/api'
- 'area/testing/integration'
- 'area/testing/selenium'
- title: '🏗️ Infrastructure & Dependencies'
labels:
- 'area/dependencies'
- 'area/client-build'
# Exclude certain labels from release notes
exclude-labels:
- 'triage'
- 'procedures'
- 'planning'
- 'merge'
- 'status/needs feedback'
- 'status/planning'
# Template for each change line
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
# Characters to escape in titles
change-title-escapes: '\<*_&'
# Version is read from lib/galaxy/version.py by the workflow
# No version-resolver needed since Galaxy manages versions manually
# Template for the release body
template: |
## Changes in $RESOLVED_VERSION
$CHANGES
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
+63
View File
@@ -0,0 +1,63 @@
changelog:
exclude:
labels:
- merge
- procedures
- planning
- status/needs feedback
- status/planning
authors:
- dependabot[bot]
- github-actions[bot]
- galaxybot
categories:
- title: 🎉 Major Changes
labels:
- highlight
- highlight/admin
- highlight/dev
- highlight/power-user
- title: 🚀 New Features
labels:
- kind/feature
exclude:
labels:
- area/documentation
- title: 🔧 Enhancements
labels:
- kind/enhancement
- title: 🐛 Bug Fixes
labels:
- kind/bug
- title: '🔒 Security Updates'
labels:
- 'area/security'
- title: '⚡ Performance'
labels:
- 'area/performance'
- title: '🧰 Refactoring'
labels:
- 'kind/refactoring'
- title: '📚 Documentation'
labels:
- 'area/documentation'
- title: '🔧 Admin & Configuration'
labels:
- 'area/admin'
- 'area/configuration'
- title: '🛠️ API Changes'
labels:
- 'area/API'
- title: '🧪 Testing'
labels:
- 'area/testing'
- 'area/testing/api'
- 'area/testing/integration'
- 'area/testing/selenium'
- title: '🏗️ Infrastructure & Dependencies'
labels:
- 'area/dependencies'
- 'area/client-build'
- title: Other Changes
labels:
- "*"
-72
View File
@@ -1,72 +0,0 @@
name: Release Drafter
on:
push:
branches:
- dev
- master
- 'release_*'
pull_request_target:
types: [opened, reopened, synchronize]
workflow_dispatch:
permissions:
contents: read
jobs:
update_release_draft:
permissions:
contents: write
pull-requests: write
if: github.repository == 'galaxyproject/galaxy'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
lib/galaxy/version.py
- name: Read Galaxy version
id: galaxy-version
run: |
# Extract VERSION_MAJOR from version.py (e.g., "25.1")
VERSION_MAJOR=$(grep '^VERSION_MAJOR' lib/galaxy/version.py | cut -d'"' -f2)
RELEASE_VERSION="${VERSION_MAJOR}.0"
echo "version=${RELEASE_VERSION}" >> $GITHUB_OUTPUT
echo "Galaxy release version: ${RELEASE_VERSION}"
- name: Check if we should update draft
id: check-draft
run: |
VERSION="${{ inputs.version || steps.galaxy-version.outputs.version }}"
# Check if this version is already published
PUBLISHED=$(gh release view "v${VERSION}" --json isDraft --jq '.isDraft' 2>/dev/null || echo "not_found")
if [ "$PUBLISHED" = "false" ]; then
echo "Published release v${VERSION} already exists. Skipping."
echo "skip=true" >> $GITHUB_OUTPUT
exit 0
fi
# Check if a draft exists for a DIFFERENT version (only one draft at a time)
EXISTING_DRAFT=$(gh release list --limit 50 --json tagName,isDraft --jq '.[] | select(.isDraft == true) | .tagName' | head -1)
if [ -n "$EXISTING_DRAFT" ] && [ "$EXISTING_DRAFT" != "v${VERSION}" ]; then
echo "Draft release $EXISTING_DRAFT already exists (for different version). Skipping v${VERSION}."
echo "Only one draft release at a time is supported."
echo "skip=true" >> $GITHUB_OUTPUT
else
echo "Proceeding with draft for v${VERSION}."
echo "skip=false" >> $GITHUB_OUTPUT
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: release-drafter/release-drafter@v6
if: steps.check-draft.outputs.skip == 'false'
with:
config-name: release-drafter.yml
version: ${{ steps.galaxy-version.outputs.version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}