Commit 6020eb4a authored by Pierre Smeyers's avatar Pierre Smeyers
Browse files

feat: use minor version alias

parent fff28da0
Loading
Loading
Loading
Loading

kicker-aggregated.json

0 → 100644
+1 −0

File added.

Preview size limit exceeded, changes collapsed.

+21 −8
Original line number Diff line number Diff line
@@ -54,13 +54,17 @@ function maybe_process_template() {
  project_name=$(echo "$project_json" | jq -r .path)
  project_path=$(echo "$project_json" | jq -r .path_with_namespace)

  # get latest tag
  tag=$(curl -sSf -H "$AUTH_HEADER" "$API_URL/projects/$project_id/repository/tags?per_page=1" | jq -r '.[0].name')
  # get tags (latest first, oldest last)
  all_tags=$(curl -sSf -H "$AUTH_HEADER" "$API_URL/projects/$project_id/repository/tags?per_page=100" | jq -r '.[].name')
  # filter tags matching preferred pattern, or all tags if none matches
  matching_tags=$(echo "$all_tags" | grep -E "$PREF_TAG_PATTERN" || echo "$all_tags")
  tag=$(echo "$matching_tags" | head -n 1)
  if [[ -n "$tag" ]] && [[ "$tag" != "null" ]]
  then
    project_path_enc=${project_path//\//%2f}
    web_url=$(echo "$project_json" | jq -r .web_url)
    add_info_json="{extension_id: $extension_json, project: {tag: \"$tag\", name: \"$project_name\", path: \"$project_path\", web_url: \"$web_url\"}}"
    tags_array_json=$(echo "$all_tags" | jq --raw-input -c . | jq --slurp -c .)
    add_info_json="{extension_id: $extension_json, project: {tag: \"$tag\", tags: $tags_array_json, name: \"$project_name\", path: \"$project_path\", web_url: \"$web_url\"}}"

    # get kicker.json file from latest tag
    if template_json=$(curl -sf -H "$AUTH_HEADER" "$API_URL/projects/$project_id/repository/files/kicker.json/raw?ref=$tag")
@@ -196,7 +200,7 @@ function build_aggregated_json() {
  fi

  # 3: assemble
  jq -s '.' ${tmp_dir}/*/template-final.json | jq "{extensions: $extensions_array_json, presets: $presets_array_json, templates: .}" > "$JSON_OUT"
  jq -s -c '.' ${tmp_dir}/*/template-final.json | jq -c "{extensions: $extensions_array_json, presets: $presets_array_json, templates: .}" > "$JSON_OUT"
}

function build_aggregated_toc() {
@@ -244,6 +248,9 @@ DOC_OUT=./docs

KICKER_RESOURCE_GROUPS=${KICKER_RESOURCE_GROUPS:-'[{"path": "to-be-continuous", "visibility": "public"}]'}

# preferred tag pattern to include: minor version alias by default (X.Y)
PREF_TAG_PATTERN='^v?[0-9]+\.[0-9]+$'

log_info parse params

# parse arguments
@@ -312,6 +319,11 @@ case $key in
    shift # past argument
    shift # past value
    ;;
    --tag-pattern)
    PREF_TAG_PATTERN="$2"
    shift # past argument
    shift # past value
    ;;
    *) # unknown option
    POSITIONAL+=("$1") # save it in an array for later
    shift # past argument
@@ -328,6 +340,7 @@ log_info "- GitLab API url (--api) : \\e[33;1m${API_URL}\\e[0m"
log_info "- kicker output file (--json-out)  : \\e[33;1m${JSON_OUT}\\e[0m"
log_info "- readme output dir  (--doc-out)   : \\e[33;1m${DOC_OUT}\\e[0m"
log_info "- groups to process  (--groups)    : \\e[33;1m${KICKER_RESOURCE_GROUPS}\\e[0m"
log_info "- pref. tag pattern (--tag-pattern): \\e[33;1m${PREF_TAG_PATTERN}\\e[0m"

# create a temporary directory to download individual kicker files
tmp_dir=$(mktemp -d)