Fix version extraction: dev branch uses 'dev', main extracts from commit
- dev branch: always VERSION="dev" - main branch: extract version from commit message (e.g., "V1.2") - Add KIBOT_VAR_name to all kibot script sections - Add asset link to release Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
46
kibot-ci.yml
46
kibot-ci.yml
@@ -51,14 +51,22 @@ extract_version:
|
|||||||
stage: preflight
|
stage: preflight
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
# Extract version from MR title (pattern: V followed by numbers and dots)
|
# Version strategy:
|
||||||
if [[ -n "$CI_MERGE_REQUEST_TITLE" ]]; then
|
# - dev branch: always "dev"
|
||||||
VERSION=$(echo "$CI_MERGE_REQUEST_TITLE" | grep -oE 'V[0-9]+(\.[0-9]+)*' | head -1)
|
# - main branch: extract from commit message (e.g., "V1.2")
|
||||||
fi
|
|
||||||
|
|
||||||
# Fallback to git tag or commit SHA
|
if [[ "$CI_COMMIT_BRANCH" == "main" ]]; then
|
||||||
|
# On main, extract version from commit message
|
||||||
|
VERSION=$(echo "$CI_COMMIT_MESSAGE" | grep -oE 'V[0-9]+(\.[0-9]+)*' | head -1)
|
||||||
if [[ -z "$VERSION" ]]; then
|
if [[ -z "$VERSION" ]]; then
|
||||||
VERSION=$(git describe --tags 2>/dev/null || echo "$CI_COMMIT_SHORT_SHA")
|
VERSION="$CI_COMMIT_SHORT_SHA"
|
||||||
|
echo "Warning: No version found in commit message, using SHA"
|
||||||
|
fi
|
||||||
|
echo "Main branch version: $VERSION"
|
||||||
|
else
|
||||||
|
# On dev or any other branch, use "dev"
|
||||||
|
VERSION="dev"
|
||||||
|
echo "Dev branch version: $VERSION"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "VERSION=$VERSION" >> build.env
|
echo "VERSION=$VERSION" >> build.env
|
||||||
@@ -173,7 +181,8 @@ generate_schematic:
|
|||||||
- |
|
- |
|
||||||
export KIBOT_VAR_rev="${VERSION}"
|
export KIBOT_VAR_rev="${VERSION}"
|
||||||
export KIBOT_VAR_rev_pcb="${VERSION}"
|
export KIBOT_VAR_rev_pcb="${VERSION}"
|
||||||
echo "Using version: $VERSION"
|
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
|
||||||
|
echo "Using version: $VERSION, name: $KIBOT_VAR_name"
|
||||||
|
|
||||||
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch" ]; then
|
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch" ]; then
|
||||||
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
||||||
@@ -188,7 +197,8 @@ generate_bom:
|
|||||||
- |
|
- |
|
||||||
export KIBOT_VAR_rev="${VERSION}"
|
export KIBOT_VAR_rev="${VERSION}"
|
||||||
export KIBOT_VAR_rev_pcb="${VERSION}"
|
export KIBOT_VAR_rev_pcb="${VERSION}"
|
||||||
echo "Using version: $VERSION"
|
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
|
||||||
|
echo "Using version: $VERSION, name: $KIBOT_VAR_name"
|
||||||
|
|
||||||
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch" ]; then
|
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch" ]; then
|
||||||
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
||||||
@@ -204,7 +214,8 @@ generate_3d:
|
|||||||
- |
|
- |
|
||||||
export KIBOT_VAR_rev="${VERSION}"
|
export KIBOT_VAR_rev="${VERSION}"
|
||||||
export KIBOT_VAR_rev_pcb="${VERSION}"
|
export KIBOT_VAR_rev_pcb="${VERSION}"
|
||||||
echo "Using version: $VERSION"
|
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
|
||||||
|
echo "Using version: $VERSION, name: $KIBOT_VAR_name"
|
||||||
|
|
||||||
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_pcb" ]; then
|
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_pcb" ]; then
|
||||||
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
||||||
@@ -221,7 +232,8 @@ generate_gerbers:
|
|||||||
- |
|
- |
|
||||||
export KIBOT_VAR_rev="${VERSION}"
|
export KIBOT_VAR_rev="${VERSION}"
|
||||||
export KIBOT_VAR_rev_pcb="${VERSION}"
|
export KIBOT_VAR_rev_pcb="${VERSION}"
|
||||||
echo "Using version: $VERSION"
|
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
|
||||||
|
echo "Using version: $VERSION, name: $KIBOT_VAR_name"
|
||||||
|
|
||||||
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_pcb" ]; then
|
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_pcb" ]; then
|
||||||
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
||||||
@@ -238,7 +250,8 @@ generate_position:
|
|||||||
- |
|
- |
|
||||||
export KIBOT_VAR_rev="${VERSION}"
|
export KIBOT_VAR_rev="${VERSION}"
|
||||||
export KIBOT_VAR_rev_pcb="${VERSION}"
|
export KIBOT_VAR_rev_pcb="${VERSION}"
|
||||||
echo "Using version: $VERSION"
|
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
|
||||||
|
echo "Using version: $VERSION, name: $KIBOT_VAR_name"
|
||||||
|
|
||||||
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_pcb" ]; then
|
if [ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_pcb" ]; then
|
||||||
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \
|
||||||
@@ -255,7 +268,8 @@ generate_panel:
|
|||||||
- |
|
- |
|
||||||
export KIBOT_VAR_rev="${VERSION}"
|
export KIBOT_VAR_rev="${VERSION}"
|
||||||
export KIBOT_VAR_rev_pcb="${VERSION}"
|
export KIBOT_VAR_rev_pcb="${VERSION}"
|
||||||
echo "Using version: $VERSION"
|
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
|
||||||
|
echo "Using version: $VERSION, name: $KIBOT_VAR_name"
|
||||||
|
|
||||||
# Find panel configuration
|
# Find panel configuration
|
||||||
PANEL_JSON=$(find ${PROJECT_NAME} -name "*_panel.json" 2>/dev/null | head -1)
|
PANEL_JSON=$(find ${PROJECT_NAME} -name "*_panel.json" 2>/dev/null | head -1)
|
||||||
@@ -424,7 +438,15 @@ create_release:
|
|||||||
artifacts: true
|
artifacts: true
|
||||||
script:
|
script:
|
||||||
- echo "Creating release for version $VERSION"
|
- echo "Creating release for version $VERSION"
|
||||||
|
- RELEASE_ZIP="${PROJECT_NAME}_${VERSION}.zip"
|
||||||
|
- ASSET_URL="${PACKAGE_REGISTRY_URL}/${VERSION}/${RELEASE_ZIP}"
|
||||||
|
- echo "Release asset URL: $ASSET_URL"
|
||||||
release:
|
release:
|
||||||
tag_name: '$VERSION'
|
tag_name: '$VERSION'
|
||||||
name: 'Release $VERSION'
|
name: 'Release $VERSION'
|
||||||
description: 'Automated release for $VERSION'
|
description: 'Automated release for $VERSION'
|
||||||
|
assets:
|
||||||
|
links:
|
||||||
|
- name: '${PROJECT_NAME}_${VERSION}.zip'
|
||||||
|
url: '${PACKAGE_REGISTRY_URL}/${VERSION}/${PROJECT_NAME}_${VERSION}.zip'
|
||||||
|
link_type: 'package'
|
||||||
|
|||||||
Reference in New Issue
Block a user