diff --git a/kibot-ci.yml b/kibot-ci.yml index cb5d17a..852bab0 100644 --- a/kibot-ci.yml +++ b/kibot-ci.yml @@ -51,14 +51,22 @@ extract_version: stage: preflight script: - | - # Extract version from MR title (pattern: V followed by numbers and dots) - if [[ -n "$CI_MERGE_REQUEST_TITLE" ]]; then - VERSION=$(echo "$CI_MERGE_REQUEST_TITLE" | grep -oE 'V[0-9]+(\.[0-9]+)*' | head -1) - fi + # Version strategy: + # - dev branch: always "dev" + # - main branch: extract from commit message (e.g., "V1.2") - # Fallback to git tag or commit SHA - if [[ -z "$VERSION" ]]; then - VERSION=$(git describe --tags 2>/dev/null || echo "$CI_COMMIT_SHORT_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 + 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 echo "VERSION=$VERSION" >> build.env @@ -173,7 +181,8 @@ generate_schematic: - | export KIBOT_VAR_rev="${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 kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \ @@ -188,7 +197,8 @@ generate_bom: - | export KIBOT_VAR_rev="${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 kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \ @@ -204,7 +214,8 @@ generate_3d: - | export KIBOT_VAR_rev="${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 kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \ @@ -221,7 +232,8 @@ generate_gerbers: - | export KIBOT_VAR_rev="${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 kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \ @@ -238,7 +250,8 @@ generate_position: - | export KIBOT_VAR_rev="${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 kibot -e ${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch \ @@ -255,7 +268,8 @@ generate_panel: - | export KIBOT_VAR_rev="${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 PANEL_JSON=$(find ${PROJECT_NAME} -name "*_panel.json" 2>/dev/null | head -1) @@ -424,7 +438,15 @@ create_release: artifacts: true script: - 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: tag_name: '$VERSION' name: 'Release $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'