Commit a1d0ffd5 authored by BONNEFILLE Guilhem's avatar BONNEFILLE Guilhem Committed by Guilhem Bonnefille
Browse files

feat: add control to the version to publish

parent 9a749df6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -58,3 +58,4 @@ It uses the following variables:
| --------------------- | ---------------------------------------- | ----------------- |
| `files` / `GLPKG_FILES` | Glob patterns matching files to include in the GitLab package (:warning: does not support double star). | _none_ (mandatory) |
| `package` / `GLPKG_PACKAGE` | Name of the package to publish           | `$CI_PROJECT_NAME` |
| `version` / `GLPKG_VERSION` | The package's version to publish         | _none_ (will default to `$CI_COMMIT_TAG`) |
+5 −0
Original line number Diff line number Diff line
@@ -21,6 +21,11 @@
      "name": "GLPKG_PACKAGE",
      "description": "Name of the package to publish",
      "default": "$CI_PROJECT_NAME"
    },
    {
      "name": "GLPKG_VERSION",
      "description": "The package's version to publish (will default to $CI_COMMIT_TAG)",
      "advanced": true
    }
  ]
}
+6 −1
Original line number Diff line number Diff line
@@ -25,6 +25,9 @@ spec:
    package:
      description: Name of the package to publish
      default: $CI_PROJECT_NAME
    version:
      description: The package's version to publish (will default to ${CI_COMMIT_TAG})
      default: ''
---
# default workflow rules: Merge Request pipelines
.tbc-workflow-rules:
@@ -93,6 +96,7 @@ variables:
  GLPKG_IMAGE: $[[ inputs.image ]]
  GLPKG_FILES: $[[ inputs.files ]]
  GLPKG_PACKAGE: $[[ inputs.package ]]
  GLPKG_VERSION: $[[ inputs.version ]]

  # default production ref name (pattern)
  PROD_REF: /^(master|main)$/
@@ -336,12 +340,13 @@ stages:

  function publish() {
    pkg_name=${GLPKG_PACKAGE:-$CI_PROJECT_NAME}
    pkg_version=${GLPKG_VERSION:-$CI_COMMIT_TAG}
    log_info "Publish package \\e[33;1m${pkg_name}\\e[0m with version \\e[33;1m${CI_COMMIT_TAG}\\e[0m"...
    for file in $GLPKG_FILES
    do
      log_info "... add file \\e[33;1m${file}\\e[0m"
      file_basename=$(basename "$file")
      curl -sSf --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file "$file" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${pkg_name}/${CI_COMMIT_TAG}/${file_basename}"
      curl -sSf --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file "$file" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${pkg_name}/${pkg_version}/${file_basename}"
    done
  }