igmpgen/.drone.yml

96 lines
2.9 KiB
YAML
Raw Normal View History

2023-12-26 13:42:23 +00:00
---
kind: pipeline
type: docker
name: default
steps:
- name: build
image: alpine:latest
environment:
2023-12-26 14:21:05 +00:00
PACKAGE_BASENAME: igmpgen_linux_amd64
2023-12-26 13:42:23 +00:00
commands:
- apk update
2023-12-26 14:17:11 +00:00
- apk add cmake gcc g++ libnet libnet-dev debian-devscripts rpm make
2023-12-27 09:47:39 +00:00
- make build
- make package
2023-12-26 14:21:05 +00:00
- mkdir -p /_cache/bin /_cache/packages
2023-12-27 10:30:40 +00:00
# - cp -r _build/igmpgen /_cache/bin/$PACKAGE_BASENAME
2023-12-26 14:22:55 +00:00
- cp -r _build/igmpgen*.deb /_cache/packages/
- cp -r _build/igmpgen*.rpm /_cache/packages/
- cp -r _build/igmpgen*.tar.gz /_cache/packages/
# - ls -l _build
2023-12-26 13:42:23 +00:00
volumes:
- name: cache
path: /_cache
- name: publish:tag
image: alpine
environment:
PACKAGE_UPLOAD_URL: https://code.apps.glenux.net/api/v1/packages/glenux/generic/igmpgen
RELEASES_URL: https://code.apps.glenux.net/api/v1/repos/glenux/igmpgen/releases
2023-12-27 09:47:39 +00:00
PACKAGE_BASENAME: igmpgen
2023-12-26 13:42:23 +00:00
RELEASE_UPLOAD_TOKEN:
from_secret: RELEASE_UPLOAD_TOKEN
PACKAGE_UPLOAD_TOKEN:
from_secret: PACKAGE_UPLOAD_TOKEN
when:
ref:
include:
- refs/tags/**
volumes:
- name: cache
path: /_cache
commands:
- apk add --update --no-cache curl jq
- env |grep DRONE
- |
2023-12-27 10:33:49 +00:00
for package_path in /_cache/packages/* ; do \
package_name="$(basename "$package_path")" ; \
curl -H "Authorization: token $PACKAGE_UPLOAD_TOKEN" \
--upload-file "$package_path" \
"$PACKAGE_UPLOAD_URL/$DRONE_TAG/$PACKAGE_BASENAME" ; \
done
2023-12-26 13:42:23 +00:00
- |
set -x
curl -X POST \
-H "Authorization: token $RELEASE_UPLOAD_TOKEN" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d "{\"body\": \"DRAFT\", \"draft\": true, \"name\": \"$DRONE_TAG - DRAFT\", \"prerelease\": false, \"tag_name\": \"$DRONE_TAG\", \"target_commitish\": \"$DRONE_COMMIT_SHA\"}" \
"$RELEASES_URL"
- |
curl -X 'GET' \
-H 'accept: application/json' \
"$RELEASES_URL/tags/$DRONE_TAG"
- |
TAG_ID="$(curl -X 'GET' \
-H 'accept: application/json' \
"$RELEASES_URL/tags/$DRONE_TAG" | jq -r .id)"
2023-12-27 09:47:39 +00:00
- echo "TAG_ID=$TAG_ID"
2023-12-26 13:42:23 +00:00
- |
set -x
2023-12-27 09:47:39 +00:00
for package_path in /_cache/packages/* ; do \
2023-12-27 10:33:49 +00:00
package_name="$(basename "$package_path")" ; \
2023-12-27 09:47:39 +00:00
curl -X POST \
-H "Authorization: token $RELEASE_UPLOAD_TOKEN" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "attachment=@$package_name" \
"$RELEASES_URL/$TAG_ID/assets?name=$package_name" ; \
done
2023-12-26 13:42:23 +00:00
services:
- name: docker
image: docker:dind
privileged: true
volumes:
- name: dockersock
path: /var/run
volumes:
- name: cache
temp: {}
- name: dockersock
temp: {}
#