--- kind: pipeline type: docker name: default steps: - name: build image: debian:12 environment: PACKAGE_BASENAME: igmpgen_linux_amd64 commands: - apt-get update - apt-get install -y cmake gcc g++ libnet1 libnet-dev rpm make - make build - make package - mkdir -p /_cache/bin /_cache/packages # - cp -r _build/igmpgen /_cache/bin/$PACKAGE_BASENAME - 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 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 PACKAGE_BASENAME: igmpgen 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 - | 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 - | 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 for package_path in /_cache/packages/* ; do \ package_name="$(basename "$package_path")" ; \ curl -X POST \ -H "Authorization: token $RELEASE_UPLOAD_TOKEN" \ -H "accept: application/json" \ -H "Content-Type: multipart/form-data" \ -F "attachment=@$package_path" \ "$RELEASES_URL/$TAG_ID/assets?name=$package_name" ; \ done services: - name: docker image: docker:dind privileged: true volumes: - name: dockersock path: /var/run volumes: - name: cache temp: {} - name: dockersock temp: {} #