init repo

This commit is contained in:
Gurkengewuerz
2022-08-08 23:21:37 +02:00
commit 5626563e84
3 changed files with 81 additions and 0 deletions

5
Dockerfile Normal file
View File

@@ -0,0 +1,5 @@
FROM alpine
ADD script.sh /bin/
RUN chmod +x /bin/script.sh
RUN apk -Uuv add curl ca-certificates
ENTRYPOINT /bin/script.sh

26
README.md Normal file
View File

@@ -0,0 +1,26 @@
# drone-gitea-package
---
A Drone plugin for uploading files as generic package to Gitea package registry.
### Example
```yaml
pipeline:
build:
image: alpine
commands:
- touch example.md
artifacts:
image: gurken2108/drone-gitea-package
settings:
user:
from_secret: gitea_user
token:
from_secret: gitea_token
file: ./example.md
version: dev
```

50
script.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/bin/ash
if [ -z "$PLUGIN_USER" ]; then
echo "ERR: user variable is empty"
exit 1
fi
if [ -z "$PLUGIN_TOKEN" ]; then
echo "ERR: token variable is empty"
exit 1
fi
if [ -z "$PLUGIN_FILE" ]; then
echo "ERR: file variable is empty"
exit 1
fi
HASH=`echo "$DRONE_COMMIT" | cut -c-10`
if [ -z "$PLUGIN_VERSION" ]; then
echo "INFO: version variable is empty defaulting to $HASH"
fi
API_URL=`echo "$DRONE_REPO_LINK" | grep -Eo '^http[s]?://[^/]+'`
PACKAGE_SUBPATH=packages/${DRONE_REPO_OWNER}/generic/${DRONE_REPO_NAME}/${PLUGIN_VERSION:-$HASH}
PACKAGE_URL=${API_URL}/api/$PACKAGE_SUBPATH
PACKAGE_API_URL=${API_URL}/api/v1/$PACKAGE_SUBPATH
echo "DEBUG: destination $PACKAGE_URL"
curl \
--location \
--user ${PLUGIN_USER}:${PLUGIN_TOKEN} \
-X 'DELETE' \
--silent --output /dev/null \
$PACKAGE_API_URL
# requires https://github.com/go-gitea/gitea/pull/20661
for f in $PLUGIN_FILE; do
BASE_FILENAME=`basename $f`
echo "INFO: uploading $BASE_FILENAME to $API_URL"
status_code=`curl --location --user ${PLUGIN_USER}:${PLUGIN_TOKEN} --upload-file $f --write-out %{http_code} --silent --output /dev/null $PACKAGE_URL/$BASE_FILENAME`
if [ $status_code -ne 201 ]; then
echo "ERR: failed to upload file ($status_code)"
exit 1
else
echo "INFO: upload of $BASE_FILENAME successful to $PACKAGE_URL/${BASE_FILENAME}"
fi
done
exit 0