kind: pipeline name: clone-prepare-build-sign-release platform: os: linux arch: amd64 clone: disable: false depth: 50 # https://readme.drone.io/user-guide/pipeline/ # https://docs.drone.io/reference/environ/ # https://github.com/drone/drone steps: #http://plugins.drone.io/drone-plugins/drone-docker/ #https://github.com/drone-plugins/drone-docker - name: prepare image: plugins/docker when: event: [ tag ] settings: dry_run: false registry: reg.unino.de insecure: false #auth: authtoken username: from_secret: reg-user password: from_secret: reg-pass repo: reg.unino.de/library/debian-devel #mirror: registry.hub.docker.com/library/busybox bip: 172.17.0.1/24 context: /drone #custom_dns: 127.0.0.11 storage_driver: overlay2 # aufs, overlay or vfs #debug: true #launch_debug: true #target: production # build target from dockerfile, e.g. production, debug dockerfile: Dockerfile auto_tag: false auto_tag_suffix: linux-amd64 force_tag: true tags: - latest build_args: - MAINTAINER=Drone CI/CD - BUILDDEPS=build-essential libc6-dev libhidapi-dev libssl-dev zip - name: build image: reg.unino.de/library/debian-devel:latest when: event: [ push, tag ] depends_on: [ prepare ] environment: MAKEFLAGS: -j 4 commands: - export MAKEFLAGS && make - CONTENT=${DRONE_REPO_NAME} - test -n "${DRONE_TAG}" && RELEASE=${DRONE_REPO_NAME}-${DRONE_TAG}-bin || RELEASE=${DRONE_REPO_NAME}-bin - mv dist $CONTENT - ls -la $CONTENT ; find $CONTENT -type f -exec md5sum '{}' \; - rm -rf release ; mkdir release - zip -rp release/$RELEASE.zip $CONTENT - tar -czvf release/$RELEASE.tar.gz $CONTENT - tar -cJvf release/$RELEASE.tar.xz $CONTENT - rm -rf $CONTENT - ls -la release ; find release -type f -exec md5sum '{}' \; - printf '\n\n\n======= BUILD FINISHED. =======\n\n\n' # http://plugins.drone.io/drone-plugins/drone-gpgsign/ # https://github.com/drone-plugins/drone-gpgsign - name: sign image: plugins/gpgsign when: event: [ push, tag ] depends_on: [ build ] settings: key: from_secret: gpg-key passphrase: from_secret: gpg-pass detach_sign: true clear_sign: false files: - release/* excludes: - release/*.asc # http://plugins.drone.io/drone-plugins/drone-gitea-release/ # https://github.com/drone-plugins/drone-gitea-release - name: release image: plugins/gitea-release when: event: [ tag ] # depends_on: [ sign ] depends_on: [ sign ] settings: title: Release ${DRONE_REPO_NAME}-${DRONE_TAG} # file or string note: RELEASE.md # file or string draft: false prerelease: false base_url: https://git.unino.de insecure: false api_key: from_secret: gitea-release checksum: [ md5 ] # [ md5, sha1, sha256, sha512, adler32, crc32 ] file_exists: overwrite # overwrite, skip, fail files: # wildcard * matching files with prefix supported - release/*