--- kind: pipeline type: docker name: default steps: - name: build:binary image: crystallang/crystal:1.11.0-alpine environment: PACKAGE_BASENAME: docmachine_linux_amd64 volumes: - name: cache path: /_cache commands: - pwd # - | # apt-get update && \ # apt-get install -y \ # cmake g++ \ # libevent-dev libpcre3-dev \ # libyaml-dev liblzma-dev - apk add --update readline-static readline-dev ncurses-static ncurses-dev - shards install - shards build --production --static - strip bin/docmachine - ./bin/docmachine --help - mkdir -p /_cache/bin - cp -r bin/docmachine /_cache/bin/$PACKAGE_BASENAME - name: publish:tag image: curlimages/curl environment: PACKAGE_UPLOAD_URL: https://code.apps.glenux.net/api/packages/glenux/generic/docmachine-cli PACKAGE_BASENAME: docmachine_linux_amd64 PACKAGE_UPLOAD_TOKEN: from_secret: PACKAGE_UPLOAD_TOKEN when: ref: include: - refs/tags/** volumes: - name: cache path: /_cache commands: - env |grep DRONE - | curl -H "Authorization: token $PACKAGE_UPLOAD_TOKEN" \ --upload-file /_cache/bin/docmachine \ $PACKAGE_UPLOAD_URL/$DRONE_TAG/$PACKAGE_BASENAME # FIXME: handle multi-arch # FIXME: publish only on tags volumes: - name: cache temp: {} #