diff --git a/.drone.yml b/.drone.yml index fb30f7c..e17f7c3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,42 +3,18 @@ type: docker name: build steps: -- name: semver - image: cedrichopf/drone-semver - settings: - file: CHANGELOG.md - autoincrement: true - -- name: set-release-version - image: alpine:3.19 - depends_on: - - semver - commands: - - | - set -eu - release_tag="$(sed -n 's/^##[[:space:]]*v\\([0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\).*/v\\1/p' CHANGELOG.md | head -n1)" - if [ -z "$release_tag" ]; then - echo "Failed to read release version from CHANGELOG.md" - exit 1 - fi - echo "$release_tag" > .release_version - echo "Release version: $release_tag" - name: build-deb-amd64 image: cache.coadcorp.com/library/buildpack-deps:jammy - depends_on: - - set-release-version environment: DEBIAN_FRONTEND: noninteractive commands: - apt-get update - apt-get install -y --no-install-recommends build-essential qt5-qmake qtbase5-dev qtbase5-dev-tools libexif-dev qt5-image-formats-plugins libmosquitto-dev dpkg-dev fakeroot ca-certificates - - ARCH=amd64 BUILD_DIR=build-amd64 bash sbin/build_deb.sh "$(cat .release_version)" + - ARCH=amd64 BUILD_DIR=build-amd64 bash sbin/build_deb.sh "${DRONE_TAG:-${DRONE_COMMIT_SHA:0:8}}" - ls -la dist - name: build-deb-armhf image: cache.coadcorp.com/library/buildpack-deps:bullseye - depends_on: - - set-release-version environment: DEBIAN_FRONTEND: noninteractive ARM_CFLAGS: -march=armv6 -mfpu=vfp -mfloat-abi=hard -marm @@ -55,13 +31,11 @@ steps: EOF - apt-get update - apt-get install -y --no-install-recommends build-essential qt5-qmake qtbase5-dev qtbase5-dev-tools libexif-dev qt5-image-formats-plugins libmosquitto-dev dpkg-dev fakeroot ca-certificates gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf qtbase5-dev:armhf libqt5core5a:armhf libqt5gui5:armhf libqt5widgets5:armhf libqt5network5:armhf libexif-dev:armhf libmosquitto-dev:armhf qt5-image-formats-plugins:armhf - - ARCH=armhf BUILD_DIR=build-armhf QMAKESPEC=$PWD/mkspecs/linux-armhf-g++ QMAKE_QTCONF=$PWD/mkspecs/qt-armhf.conf QMAKE_CFLAGS="$ARM_CFLAGS" QMAKE_CXXFLAGS="$ARM_CFLAGS" bash sbin/build_deb.sh "$(cat .release_version)" + - ARCH=armhf BUILD_DIR=build-armhf QMAKESPEC=$PWD/mkspecs/linux-armhf-g++ QMAKE_QTCONF=$PWD/mkspecs/qt-armhf.conf QMAKE_CFLAGS="$ARM_CFLAGS" QMAKE_CXXFLAGS="$ARM_CFLAGS" bash sbin/build_deb.sh "${DRONE_TAG:-${DRONE_COMMIT_SHA:0:8}}" - ls -la dist - name: build-deb-arm64 image: cache.coadcorp.com/library/buildpack-deps:bullseye - depends_on: - - set-release-version environment: DEBIAN_FRONTEND: noninteractive ARM64_CFLAGS: -march=armv8-a @@ -78,7 +52,7 @@ steps: EOF - apt-get update - apt-get install -y --no-install-recommends build-essential qt5-qmake qtbase5-dev qtbase5-dev-tools libexif-dev qt5-image-formats-plugins libmosquitto-dev dpkg-dev fakeroot ca-certificates gcc-aarch64-linux-gnu g++-aarch64-linux-gnu qtbase5-dev:arm64 libqt5core5a:arm64 libqt5gui5:arm64 libqt5widgets5:arm64 libqt5network5:arm64 libexif-dev:arm64 libmosquitto-dev:arm64 qt5-image-formats-plugins:arm64 - - ARCH=arm64 BUILD_DIR=build-arm64 QMAKESPEC=$PWD/mkspecs/linux-arm64-g++ QMAKE_QTCONF=$PWD/mkspecs/qt-arm64.conf QMAKE_CFLAGS="$ARM64_CFLAGS" QMAKE_CXXFLAGS="$ARM64_CFLAGS" bash sbin/build_deb.sh "$(cat .release_version)" + - ARCH=arm64 BUILD_DIR=build-arm64 QMAKESPEC=$PWD/mkspecs/linux-arm64-g++ QMAKE_QTCONF=$PWD/mkspecs/qt-arm64.conf QMAKE_CFLAGS="$ARM64_CFLAGS" QMAKE_CXXFLAGS="$ARM64_CFLAGS" bash sbin/build_deb.sh "${DRONE_TAG:-${DRONE_COMMIT_SHA:0:8}}" - ls -la dist - name: build-deps-image @@ -101,44 +75,21 @@ steps: - build-deps - name: gitea-release - image: alpine:3.19 + image: cache.coadcorp.com/plugins/gitea-release depends_on: - build-deb-amd64 - build-deb-armhf - build-deb-arm64 - environment: - GITEA_TOKEN: + settings: + api_key: from_secret: GITEA_TOKEN - GITEA_BASE_URL: https://git.coadcorp.com - commands: - - apk add --no-cache curl jq - - | - set -eu - release_tag="$$(cat .release_version)" - repo_owner="$${DRONE_REPO_OWNER}" - repo_name="$${DRONE_REPO_NAME}" - api_base="$${GITEA_BASE_URL}/api/v1/repos/$${repo_owner}/$${repo_name}" - payload="$(jq -n \ - --arg tag "$${release_tag}" \ - --arg name "$${release_tag}" \ - --arg body "Automated release for $${release_tag}" \ - --arg target "$${DRONE_COMMIT_SHA}" \ - '{tag_name:$tag, name:$name, body:$body, draft:false, prerelease:false, target_commitish:$target}')" - response="$$(curl -sS -w '\n%{http_code}' -H "Authorization: token $${GITEA_TOKEN}" -H "Content-Type: application/json" -d "$${payload}" "$${api_base}/releases")" - status="$$(echo "$${response}" | tail -n1)" - body="$$(echo "$${response}" | sed '$d')" - if [ "$${status}" != "201" ] && [ "$${status}" != "200" ]; then - body="$$(curl -sS -H "Authorization: token $${GITEA_TOKEN}" "$${api_base}/releases/tags/$${release_tag}")" - fi - release_id="$$(echo "$${body}" | jq -r '.id // empty')" - if [ -z "$${release_id}" ] || [ "$${release_id}" = "null" ]; then - echo "Failed to create or fetch release for $${release_tag}" - echo "$${body}" - exit 1 - fi - for file in dist/*.deb; do - name="$$(basename "$${file}")" - curl -sS -H "Authorization: token $${GITEA_TOKEN}" \ - -F "attachment=@$${file}" \ - "$${api_base}/releases/$${release_id}/assets?name=$${name}" >/dev/null - done + base_url: https://git.coadcorp.com + files: + - dist/*.deb + draft: false + prerelease: false + title: ${DRONE_TAG} + note: Automated release for ${DRONE_TAG} + when: + event: + - tag diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f43f1f..81da47d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ # Changelog -## v0.0.9 - 2026-02-01 +# [Unreleased] + +- Nothing yet. + +# [0.0.9] - 2026-02-01 - Fix sidecar handling