Skip to content

Commit

Permalink
Merge branch 'pu/mm/weekly-release' into '2024.11'
Browse files Browse the repository at this point in the history
ci(release): trigger weekly release

See merge request tine20/tine20!4721
  • Loading branch information
byteplow committed Jan 9, 2024
2 parents 469bc18 + b1c2b12 commit 035613b
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 3 deletions.
21 changes: 20 additions & 1 deletion ci/gitlab-ci/deploy_jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ release-to-github:
- !reference [.lib, script]
- packaging_push_package_to_github
rules:
- if: $MAJOR_COMMIT_REF_NAME != "2023.11" && $MAJOR_COMMIT_REF_NAME != "2024.11"
- if: ($BASE_MAJOR_COMMIT_REF_NAME != "2023.11" && $BASE_MAJOR_COMMIT_REF_NAME != "2024.11") || $CUSTOMER_MAJOR_COMMIT_REF_NAME != ""
when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS =~ /release-to-github/
when: manual
Expand All @@ -222,6 +222,25 @@ trigger-release:
timeout: 20m
interruptible: false

trigger-weekly-release:
stage: deploy
variables:
GIT_STRATEGY: none
image: ${UTIL_REGISTRY}/docker:19.03.1-r3
needs: []
script:
- !reference [.lib, script]
- release_weekly_tag
rules:
- if: $BASE_MAJOR_COMMIT_REF_NAME != "2024.11" || $CUSTOMER_MAJOR_COMMIT_REF_NAME != ""
when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS =~ /trigger-weekly-release/
- if: $TRIGGER_WEEKLY_RELEASE == "false"
when: never
- if: $PIPELINE_TYPE =~ /trigger-weekly-release/
timeout: 20m
interruptible: false

mkdocs-deploy:
stage: deploy
image: ${UTIL_REGISTRY}/mkdocs:ci-r1
Expand Down
21 changes: 20 additions & 1 deletion ci/gitlab-ci/lib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -277,12 +277,18 @@
draft="true"
fi
if ! echo "$version" | grep "weekly" > /dev/null; then
prerelease="false"
else
prerelease="true"
fi
curl -s \
-X POST \
-u "$user:$token" \
-H "accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/tine-groupware/tine/releases" \
-d '{"name":"'"$tag"'", "tag_name":"'"$tag"'", "body":'"$body"', "draft":'$draft'}'
-d '{"name":"'"$tag"'", "tag_name":"'"$tag"'", "body":'"$body"', "draft":'$draft', "prerelease":'$prerelease'}'
}
github_release_add_asset() {
Expand Down Expand Up @@ -682,6 +688,19 @@
curl -H "Authorization: Bearer $GITLAB_TOKEN" -XPOST "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/tags?tag_name=$tag&ref=$CI_COMMIT_SHA&message=version+$tag"
}
release_weekly_tag() {
tag_prefix="weekly-$(date '+%Y.%V.')"
last_counter="$(curl -H "Authorization: Bearer $GITLAB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/tags?search=^$tag_prefix" | jq -r '.[].name' | sort --version-sort | tail -n 1 | awk -F '.' '{print $NF}')"
counter="$((${last_counter:-0}+1))"
tag="$tag_prefix$counter"
echo "tag: $tag"
curl -H "Authorization: Bearer $GITLAB_TOKEN" -XPOST "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/tags?tag_name=$tag&ref=$CI_COMMIT_SHA&message=version+$tag"
}
release_to_gitlab() {
tag="${CI_COMMIT_TAG}"
customer="$(repo_get_customer_for_branch ${MAJOR_COMMIT_REF_NAME})"
Expand Down
8 changes: 7 additions & 1 deletion ci/gitlab-ci/lib/scripts/github.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,18 @@ github_create_release() {
draft="true"
fi

if ! echo "$version" | grep "weekly" > /dev/null; then
prerelease="false"
else
prerelease="true"
fi

curl -s \
-X POST \
-u "$user:$token" \
-H "accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/tine-groupware/tine/releases" \
-d '{"name":"'"$tag"'", "tag_name":"'"$tag"'", "body":'"$body"', "draft":'$draft'}'
-d '{"name":"'"$tag"'", "tag_name":"'"$tag"'", "body":'"$body"', "draft":'$draft', "prerelease":'$prerelease'}'
}

github_release_add_asset() {
Expand Down
13 changes: 13 additions & 0 deletions ci/gitlab-ci/lib/scripts/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ release_tag() {
curl -H "Authorization: Bearer $GITLAB_TOKEN" -XPOST "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/tags?tag_name=$tag&ref=$CI_COMMIT_SHA&message=version+$tag"
}

release_weekly_tag() {
tag_prefix="weekly-$(date '+%Y.%V.')"

last_counter="$(curl -H "Authorization: Bearer $GITLAB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/tags?search=^$tag_prefix" | jq -r '.[].name' | sort --version-sort | tail -n 1 | awk -F '.' '{print $NF}')"
counter="$((${last_counter:-0}+1))"

tag="$tag_prefix$counter"

echo "tag: $tag"

curl -H "Authorization: Bearer $GITLAB_TOKEN" -XPOST "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/tags?tag_name=$tag&ref=$CI_COMMIT_SHA&message=version+$tag"
}

release_to_gitlab() {
tag="${CI_COMMIT_TAG}"
customer="$(repo_get_customer_for_branch ${MAJOR_COMMIT_REF_NAME})"
Expand Down

0 comments on commit 035613b

Please sign in to comment.