release-vars:
stage: deploy
image: registry.gitlab.com/gitlab-org/cli:latest
rules:
- if: $CI_COMMIT_TAG && $CI_PROJECT_PATH == "wine/wine"
variables:
BASE_URL: "https://dl.winehq.org/wine/source/"
RELEASE_PATH: "/$CI_COMMIT_TAG.tar.xz"
script:
- version=$(expr "$CI_COMMIT_TAG" ':' 'wine-\(.*\)')
- test -n "$version" || exit 1
- major=$(expr "$version" ':' '\([0-9]\+\)\.')
- minor=$(expr "$version" ':' '[0-9]\+\(\.[0-9]\+\)')
- test "$minor" = ".0" || minor=".x"
- |
cat <<EOF > vars.env
RELEASE_VERSION=$version
RELEASE_URL=$BASE_URL$major$minor$RELEASE_PATH
RELEASE_PATH=$RELEASE_PATH
EOF
artifacts:
reports:
dotenv: vars.env
create-release:
stage: deploy
image: registry.gitlab.com/gitlab-org/cli:latest
rules:
- if: $CI_COMMIT_TAG && $CI_PROJECT_PATH == "wine/wine"
needs: ["release-vars"]
script:
- echo "Creating release $RELEASE_VERSION"
release:
tag_name: $CI_COMMIT_TAG
name: "Wine $RELEASE_VERSION"
description: ANNOUNCE.md
assets:
links:
- name: "Source code"
url: $RELEASE_URL
direct_asset_path: $RELEASE_PATH