kind: pipeline type: docker name: default trigger: event: - tag concurrency: limit: 1 steps: - name: checkout submodule image: alpine/git commands: - git submodule update --init --recursive - name: checkout tag image: alpine/git commands: - cd exa - git fetch --all --tags - git checkout tags/${DRONE_TAG} - name: cargo build image: rust:latest commands: - cd exa - cargo build --release --target x86_64-unknown-linux-gnu - cd target/x86_64-unknown-linux-gnu/release - name: verify image: rust:latest commands: - exa/target/x86_64-unknown-linux-gnu/release/exa --long - lines=$(exa/target/x86_64-unknown-linux-gnu/release/exa --long | wc -l) - if test $lines -ne 5; then exit 1; fi - name: build slackware package image: vbatts/slackware:14.2 commands: - mkdir -p dist/usr/sbin - cp exa/target/x86_64-unknown-linux-gnu/release/exa ./dist/usr/sbin/exa - cp -R ./usr ./dist - chmod +x ./dist/usr/sbin/exa - cd dist - makepkg -l y -c y ../exa-${DRONE_TAG}.txz - name: prepare release image: vbatts/slackware:14.2 commands: - echo "exa ${DRONE_TAG} - built@$(date '+%FT%TZ') [Drone ${DRONE_SYSTEM_VERSION}]" > ./release_note - cat ./release_note - name: publish release image: plugins/gitea-release settings: api_key: from_secret: GITEA_KEY base_url: https://git.panaetius.co.uk files: - ./exa-${DRONE_TAG}.txz checksum: - md5 title: ${DRONE_TAG} note: ./release_note file_exists: "skip" when: event: tag - name: slack image: plugins/slack settings: webhook: from_secret: BUILD_STATUS_SLACK_WEBHOOK username: drone when: status: - "success" - "failure"