From 486a7acbe259a562b3c725fe0fe1489091eb755b Mon Sep 17 00:00:00 2001 From: Glenn Date: Tue, 26 Dec 2023 14:42:23 +0100 Subject: [PATCH] ci: add drone.yml --- .drone.yml | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..00f5ba1 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,88 @@ +--- +kind: pipeline +type: docker +name: default + +steps: + - name: build + image: alpine:latest + environment: + PACKAGE_BASENAME: bulk-barrage_linux_amd64 + commands: + - apk update + - apk add cmake gcc g++ libnet libnet-dev + - cmake -S . -B _build + - cmake --build _build + volumes: + - name: cache + path: /_cache + commands: + - strip bin/bulk-barrage + - ./bin/bulk-barrage --version + - mkdir -p /_cache/bin + - cp -r bin/bulk-barrage /_cache/bin/$PACKAGE_BASENAME + + - 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 + PACKAGE_BASENAME: igmpgen_linux_amd64 + 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 + - | + curl -H "Authorization: token $PACKAGE_UPLOAD_TOKEN" \ + --upload-file "/_cache/bin/$PACKAGE_BASENAME" \ + "$PACKAGE_UPLOAD_URL/$DRONE_TAG/$PACKAGE_BASENAME" + - | + 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)" + echo "TAG_ID=$TAG_ID" + - | + set -x + curl -X POST \ + -H "Authorization: token $RELEASE_UPLOAD_TOKEN" \ + -H "accept: application/json" \ + -H "Content-Type: multipart/form-data" \ + -F "attachment=@/_cache/bin/$PACKAGE_BASENAME" \ + "$RELEASES_URL/$TAG_ID/assets?name=$PACKAGE_BASENAME" + +services: + - name: docker + image: docker:dind + privileged: true + volumes: + - name: dockersock + path: /var/run + +volumes: + - name: cache + temp: {} + - name: dockersock + temp: {} +#