added drone/GiteaComposerPackage template
This commit is contained in:
parent
2bba189a8f
commit
349ec20e4b
48
drone/GiteaComposerPackage.yml
Normal file
48
drone/GiteaComposerPackage.yml
Normal file
@ -0,0 +1,48 @@
|
||||
.GiteaComposerPackage: &GiteaComposerPackage
|
||||
name: GiteaComposerPackage
|
||||
image: composer:2
|
||||
|
||||
environment:
|
||||
VERSION_COMMIT_ENABLE: "true"
|
||||
VERSION_REF_NORMALIZED_ENABLE: "true"
|
||||
commands:
|
||||
# drone does not support expanding vars in environment values, set defaults via bash
|
||||
- if [[ -z "$COMPOSER_PACKAGE_DIR" ]]; then COMPOSER_PACKAGE_DIR=$DRONE_WORKSPACE_BASE; fi
|
||||
- TEMP_DIR=$(mktemp -d)
|
||||
- COMPOSER_PACKAGE_FILE=$TEMP_DIR/package.zip
|
||||
|
||||
# unset ".version" in composer.json as it interfers with setting version via GET param ?version=
|
||||
- |
|
||||
apk add --no-cache jq
|
||||
jq 'del(.version)' $COMPOSER_PACKAGE_DIR/composer.json > $COMPOSER_PACKAGE_DIR/composer.json.tmp
|
||||
mv $COMPOSER_PACKAGE_DIR/composer.json.tmp $COMPOSER_PACKAGE_DIR/composer.json
|
||||
|
||||
# create zip
|
||||
- zip -r $COMPOSER_PACKAGE_FILE $COMPOSER_PACKAGE_DIR
|
||||
|
||||
# prepare upload helper function
|
||||
- |
|
||||
function upload_composer_package() {
|
||||
VERSION=$1
|
||||
echo "# uploading package to $GITEA_PACKAGES_API/$CI_PROJECT_NAMESPACE/composer?version=$VERSION"
|
||||
curl --user "$CI_REGISTRY_USER:$CI_REGISTRY_PASSWORD" \
|
||||
--upload-file $COMPOSER_PACKAGE_FILE \
|
||||
$GITEA_PACKAGES_API/$CI_PROJECT_NAMESPACE/composer?version=$VERSION
|
||||
}
|
||||
|
||||
# add tag for reference if available using normalization
|
||||
# - attempt to build tag first
|
||||
# - attempt to build branch if not a PR (if not PR for extra security, variable description on drone unclear)
|
||||
- |
|
||||
if [[ "$VERSION_REF_NORMALIZED_ENABLE" == "true" ]] && [[ ! -z $DRONE_TAG ]]; then
|
||||
REF_TAG_NORMALIZED=$(echo $DRONE_TAG | sed s:/:-:g | sed -e "s/^v//")
|
||||
upload_composer_package "$REF_TAG_NORMALIZED"
|
||||
elif [[ "$VERSION_REF_NORMALIZED_ENABLE" == "true" ]] && [[ -z "$DRONE_PULL_REQUEST" ]] && [[ ! -z $DRONE_BRANCH ]]; then
|
||||
REF_TAG_NORMALIZED=$(echo $DRONE_BRANCH | sed s:/:-:g)
|
||||
upload_composer_package "0.0.0-dev-$REF_TAG_NORMALIZED"
|
||||
|
||||
# version based on commit
|
||||
if [[ "$VERSION_COMMIT_ENABLE" == "true" ]]; then
|
||||
upload_composer_package "0.0.0-dev-$REF_TAG_NORMALIZED-commit-$CI_COMMIT_SHA"
|
||||
fi
|
||||
fi
|
||||
Loading…
Reference in New Issue
Block a user